
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */

void Scale3X(Image *source,Quantum *pixels,Quantum *result,size_t channels)

{
  Quantum *pQVar1;
  Quantum *pQVar2;
  Quantum *pQVar3;
  Quantum *pQVar4;
  Quantum *pQVar5;
  Quantum *pQVar6;
  Quantum *pQVar7;
  size_t sVar8;
  Quantum *pQVar9;
  int iVar10;
  Quantum *pQVar11;
  Quantum *pQVar12;
  size_t sVar13;
  Quantum *pQVar14;
  Quantum *pQVar15;
  float fVar16;
  Quantum QVar17;
  Quantum QVar18;
  
  if ((int)channels < 1) {
    iVar10 = 9;
    do {
      pQVar3 = pixels + channels * 4;
      pQVar6 = result;
      if (0 < (int)channels) {
        do {
          pQVar2 = pQVar3 + 1;
          *pQVar6 = *pQVar3;
          pQVar3 = pQVar2;
          pQVar6 = pQVar6 + 1;
        } while (pQVar2 != pixels + channels * 5);
      }
      iVar10 = iVar10 + -1;
      result = result + channels;
    } while (iVar10 != 0);
    return;
  }
  pQVar3 = pixels + channels;
  pQVar6 = pQVar3 + channels * 6;
  if (*pQVar3 == *pQVar6) {
    sVar8 = 0;
    pQVar2 = pQVar6 + channels * -6;
    pQVar7 = pQVar2 + channels * 6;
    do {
      sVar8 = sVar8 + 1;
      pQVar7 = pQVar7 + 1;
      if (sVar8 == channels) goto LAB_0018b928;
      pQVar9 = pQVar2 + 1;
      pQVar2 = pQVar2 + 1;
    } while (*pQVar7 == *pQVar9);
  }
  pQVar7 = pQVar6 + channels * -4;
  pQVar2 = pQVar7 + channels * 2;
  QVar17 = *pQVar7;
  if (QVar17 == *pQVar2) {
    pQVar9 = pQVar2 + channels * -2;
    sVar8 = 0;
    pQVar4 = pQVar9 + channels * 2;
    do {
      sVar8 = sVar8 + 1;
      pQVar4 = pQVar4 + 1;
      if (channels == sVar8) {
LAB_0018b928:
        iVar10 = 9;
        do {
          pQVar3 = pixels + channels * 4;
          pQVar6 = result;
          if (0 < (int)channels) {
            do {
              pQVar2 = pQVar3 + 1;
              *pQVar6 = *pQVar3;
              pQVar3 = pQVar2;
              pQVar6 = pQVar6 + 1;
            } while (pQVar2 != pixels + channels * 5);
          }
          iVar10 = iVar10 + -1;
          result = result + channels;
        } while (iVar10 != 0);
        return;
      }
      pQVar5 = pQVar9 + 1;
      pQVar9 = pQVar9 + 1;
    } while (*pQVar5 == *pQVar4);
  }
  if (QVar17 == *pQVar3) {
    pQVar4 = pQVar2 + channels * -2;
    sVar8 = 0;
    pQVar5 = pQVar4 + channels * -2;
    pQVar9 = pQVar5;
LAB_0018ba38:
    sVar8 = sVar8 + 1;
    pQVar9 = pQVar9 + 1;
    if (channels != sVar8) goto LAB_0018ba24;
    pQVar5 = pQVar5 + channels * 2;
    pQVar9 = result;
    while( true ) {
      *pQVar9 = QVar17;
      pQVar5 = pQVar5 + 1;
      if (pQVar9 + 1 == result + channels) break;
      QVar17 = *pQVar5;
      pQVar9 = pQVar9 + 1;
    }
    QVar17 = *pQVar3;
    goto LAB_0018ba74;
  }
LAB_0018c214:
  pQVar4 = pQVar2 + -channels;
  pQVar9 = result;
  do {
    QVar17 = *pQVar4;
    pQVar5 = pQVar9 + 1;
    pQVar4 = pQVar4 + 1;
    *pQVar9 = QVar17;
    pQVar9 = pQVar5;
  } while (pQVar5 != result + channels);
  QVar17 = *pQVar3;
LAB_0018ba74:
  pQVar9 = pQVar2 + -channels;
  QVar18 = *pQVar9;
  if (*pQVar7 == QVar17) {
    pQVar5 = pQVar9 + -channels;
    sVar8 = 0;
    pQVar11 = pQVar5 + channels * -2;
    pQVar4 = pQVar11;
    do {
      sVar8 = sVar8 + 1;
      pQVar4 = pQVar4 + 1;
      if (channels == sVar8) {
        sVar13 = 0;
        if (pQVar11[channels] != QVar18) goto LAB_0018c298;
        pQVar4 = pQVar11 + channels + channels * 2;
        pQVar5 = pQVar4 + channels * -2;
        goto LAB_0018bb18;
      }
      pQVar14 = pQVar5 + 1;
      pQVar5 = pQVar5 + 1;
    } while (*pQVar14 == *pQVar4);
  }
LAB_0018bb28:
  if (*pQVar2 == QVar17) {
    pQVar5 = pQVar9 + channels;
    sVar8 = 0;
    pQVar11 = pQVar5 + channels * -4;
    pQVar4 = pQVar11;
    do {
      sVar8 = sVar8 + 1;
      pQVar4 = pQVar4 + 1;
      if (channels == sVar8) {
        sVar13 = 0;
        if (*pixels != QVar18) goto LAB_0018c298;
        pQVar11 = pQVar11 + channels * 3;
        pQVar4 = pixels + 1;
        goto LAB_0018bba4;
      }
      pQVar14 = pQVar5 + 1;
      pQVar5 = pQVar5 + 1;
    } while (*pQVar14 == *pQVar4);
  }
LAB_0018bbb4:
  pQVar4 = result + channels;
  pQVar5 = pQVar9;
  while( true ) {
    *pQVar4 = QVar18;
    pQVar5 = pQVar5 + 1;
    if (pQVar4 + 1 == result + channels * 2) break;
    QVar18 = *pQVar5;
    pQVar4 = pQVar4 + 1;
  }
  QVar17 = *pQVar2;
  goto LAB_0018bbdc;
LAB_0018ba24:
  pQVar11 = pQVar4 + 1;
  pQVar4 = pQVar4 + 1;
  if (*pQVar11 != *pQVar9) goto LAB_0018c214;
  goto LAB_0018ba38;
  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {
LAB_0018bb18:
    sVar13 = sVar13 + 1;
    pQVar5 = pQVar5 + 1;
    if (sVar8 == sVar13) goto LAB_0018bb28;
  }
  goto LAB_0018c298;
  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,
        *pQVar5 == fVar16) {
LAB_0018bba4:
    sVar13 = sVar13 + 1;
    if (sVar8 == sVar13) goto LAB_0018bbb4;
  }
LAB_0018c298:
  pQVar5 = pQVar9 + channels * -3;
  pQVar4 = result + channels;
  while( true ) {
    *pQVar4 = QVar17;
    pQVar5 = pQVar5 + 1;
    if (pQVar4 + 1 == result + channels * 2) break;
    QVar17 = *pQVar5;
    pQVar4 = pQVar4 + 1;
  }
  QVar17 = *pQVar2;
LAB_0018bbdc:
  if (QVar17 == *pQVar3) {
    pQVar5 = pQVar9 + channels;
    sVar8 = 0;
    pQVar11 = pQVar5 + channels * -4;
    pQVar4 = pQVar11;
LAB_0018bc14:
    sVar8 = sVar8 + 1;
    pQVar4 = pQVar4 + 1;
    if (channels != sVar8) goto LAB_0018bc00;
    pQVar11 = pQVar11 + channels * 4;
    pQVar4 = result + channels * 2;
    while( true ) {
      *pQVar4 = QVar17;
      pQVar11 = pQVar11 + 1;
      if (result + channels * 3 == pQVar4 + 1) break;
      QVar17 = *pQVar11;
      pQVar4 = pQVar4 + 1;
    }
    QVar17 = *pQVar7;
    goto LAB_0018bc50;
  }
LAB_0018c1e8:
  pQVar4 = result + channels * 2;
  pQVar5 = pQVar9;
  do {
    QVar17 = *pQVar5;
    pQVar5 = pQVar5 + 1;
    *pQVar4 = QVar17;
    pQVar4 = pQVar4 + 1;
  } while (pQVar5 != pixels + channels * 5);
  QVar17 = *pQVar7;
LAB_0018bc50:
  QVar18 = *pQVar9;
  if (QVar17 == *pQVar3) {
    pQVar5 = pQVar9 + -channels;
    sVar8 = 0;
    pQVar11 = pQVar5 + channels * -2;
    pQVar4 = pQVar11;
    do {
      sVar8 = sVar8 + 1;
      pQVar4 = pQVar4 + 1;
      if (channels == sVar8) {
        sVar13 = 0;
        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;
        pQVar4 = pQVar11 + channels * 5 + channels * -2;
        pQVar5 = pQVar4 + channels * 2;
        goto LAB_0018bce4;
      }
      pQVar14 = pQVar5 + 1;
      pQVar5 = pQVar5 + 1;
    } while (*pQVar14 == *pQVar4);
  }
LAB_0018bcf4:
  if (QVar17 == *pQVar6) {
    pQVar5 = pQVar9 + -channels;
    sVar8 = 0;
    pQVar11 = pQVar5 + channels * 4;
    pQVar4 = pQVar11;
    do {
      sVar8 = sVar8 + 1;
      pQVar4 = pQVar4 + 1;
      if (channels == sVar8) {
        if (*pixels != QVar18) goto LAB_0018c2c8;
        pQVar11 = pQVar11 + channels * -3;
        sVar8 = 0;
        pQVar4 = pixels + 1;
        goto LAB_0018bd70;
      }
      pQVar14 = pQVar5 + 1;
      pQVar5 = pQVar5 + 1;
    } while (*pQVar14 == *pQVar4);
  }
LAB_0018bd80:
  pQVar4 = pQVar9;
  pQVar5 = result + channels * 3;
  while( true ) {
    *pQVar5 = QVar18;
    pQVar4 = pQVar4 + 1;
    if (pQVar5 + 1 == result + channels * 4) break;
    QVar18 = *pQVar4;
    pQVar5 = pQVar5 + 1;
  }
  goto LAB_0018bdb0;
LAB_0018bc00:
  pQVar14 = pQVar5 + 1;
  pQVar5 = pQVar5 + 1;
  if (*pQVar14 != *pQVar4) goto LAB_0018c1e8;
  goto LAB_0018bc14;
  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {
LAB_0018bce4:
    sVar13 = sVar13 + 1;
    pQVar5 = pQVar5 + 1;
    if (sVar8 == sVar13) goto LAB_0018bcf4;
  }
  goto LAB_0018c2c8;
  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,
        *pQVar5 == fVar16) {
LAB_0018bd70:
    sVar8 = sVar8 + 1;
    if (channels == sVar8) goto LAB_0018bd80;
  }
LAB_0018c2c8:
  pQVar5 = pQVar3 + channels * 2;
  pQVar4 = result + channels * 3;
  while( true ) {
    *pQVar4 = QVar17;
    pQVar5 = pQVar5 + 1;
    if (result + channels * 4 == pQVar4 + 1) break;
    QVar17 = *pQVar5;
    pQVar4 = pQVar4 + 1;
  }
LAB_0018bdb0:
  pQVar14 = pQVar3 + channels * 3;
  pQVar11 = result + channels * 4;
  pQVar4 = pQVar14;
  pQVar5 = pQVar11;
  do {
    QVar17 = *pQVar4;
    pQVar4 = pQVar4 + 1;
    *pQVar5 = QVar17;
    pQVar5 = pQVar5 + 1;
  } while (pQVar4 != pixels + channels * 5);
  QVar18 = *pQVar2;
  QVar17 = *pQVar9;
  if (QVar18 == *pQVar3) {
    pQVar12 = pQVar14 + channels;
    sVar8 = 0;
    pQVar15 = pQVar12 + channels * -4;
    pQVar5 = pQVar15;
    do {
      sVar8 = sVar8 + 1;
      pQVar5 = pQVar5 + 1;
      if (channels == sVar8) {
        sVar13 = 0;
        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;
        pQVar5 = pQVar15 + channels * 7 + channels * -4;
        pQVar12 = pQVar5 + channels * 4;
        goto LAB_0018be6c;
      }
      pQVar1 = pQVar12 + 1;
      pQVar12 = pQVar12 + 1;
    } while (*pQVar1 == *pQVar5);
  }
LAB_0018be7c:
  if (QVar18 == *pQVar6) {
    pQVar12 = pQVar14 + channels;
    sVar8 = 0;
    pQVar15 = pQVar12 + channels * 2;
    pQVar5 = pQVar15;
    do {
      sVar8 = sVar8 + 1;
      pQVar5 = pQVar5 + 1;
      if (channels == sVar8) {
        sVar13 = 0;
        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;
        pQVar5 = pQVar15 + channels * -5 + channels * 2;
        pQVar12 = pQVar5 + channels * -2;
        goto LAB_0018bf04;
      }
      pQVar1 = pQVar12 + 1;
      pQVar12 = pQVar12 + 1;
    } while (*pQVar1 == *pQVar5);
  }
LAB_0018bf14:
  pQVar5 = pQVar11 + channels;
  pQVar12 = pQVar14;
  while( true ) {
    *pQVar5 = QVar17;
    pQVar12 = pQVar12 + 1;
    if (result + channels * 6 == pQVar5 + 1) break;
    QVar17 = *pQVar12;
    pQVar5 = pQVar5 + 1;
  }
  QVar17 = *pQVar7;
  goto LAB_0018bf44;
  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {
LAB_0018be6c:
    sVar13 = sVar13 + 1;
    pQVar12 = pQVar12 + 1;
    if (sVar8 == sVar13) goto LAB_0018be7c;
  }
  goto LAB_0018c2fc;
  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {
LAB_0018bf04:
    sVar13 = sVar13 + 1;
    pQVar12 = pQVar12 + 1;
    if (sVar8 == sVar13) goto LAB_0018bf14;
  }
LAB_0018c2fc:
  pQVar12 = pQVar14 + channels;
  pQVar5 = pQVar11 + channels;
  while( true ) {
    *pQVar5 = QVar18;
    pQVar12 = pQVar12 + 1;
    if (result + channels * 6 == pQVar5 + 1) break;
    QVar18 = *pQVar12;
    pQVar5 = pQVar5 + 1;
  }
  QVar17 = *pQVar7;
LAB_0018bf44:
  pQVar5 = pQVar14 + -channels;
  if (*pQVar6 == QVar17) {
    sVar8 = 0;
    pQVar15 = pQVar5 + channels * 4;
    pQVar12 = pQVar15;
LAB_0018bf78:
    sVar8 = sVar8 + 1;
    pQVar12 = pQVar12 + 1;
    if (channels != sVar8) goto LAB_0018bf64;
    pQVar15 = pQVar15 + channels * -4;
    pQVar5 = pQVar11 + channels * 2;
    while( true ) {
      *pQVar5 = QVar17;
      pQVar15 = pQVar15 + 1;
      if (result + channels * 7 == pQVar5 + 1) break;
      QVar17 = *pQVar15;
      pQVar5 = pQVar5 + 1;
    }
    QVar17 = *pQVar6;
    goto LAB_0018bfbc;
  }
LAB_0018c240:
  pQVar5 = pQVar14;
  pQVar12 = pQVar11 + channels * 2;
  do {
    QVar17 = *pQVar5;
    pQVar5 = pQVar5 + 1;
    *pQVar12 = QVar17;
    pQVar12 = pQVar12 + 1;
  } while (pQVar4 != pQVar5);
  QVar17 = *pQVar6;
LAB_0018bfbc:
  QVar18 = *pQVar9;
  if (*pQVar7 == QVar17) {
    pQVar9 = pQVar14 + -channels;
    sVar8 = 0;
    pQVar5 = pQVar9 + channels * 4;
    pQVar7 = pQVar5;
    do {
      sVar8 = sVar8 + 1;
      pQVar7 = pQVar7 + 1;
      if (channels == sVar8) {
        pQVar7 = pQVar5 + channels + channels * -4;
        if (pQVar5[channels] != QVar18) goto LAB_0018c264;
        sVar13 = 0;
        pQVar9 = pQVar7 + channels * 4;
        goto LAB_0018c038;
      }
      pQVar12 = pQVar9 + 1;
      pQVar9 = pQVar9 + 1;
    } while (*pQVar12 == *pQVar7);
  }
LAB_0018c048:
  if (*pQVar2 == QVar17) {
    pQVar9 = pQVar14 + channels;
    sVar8 = 0;
    pQVar5 = pQVar9 + channels * 2;
    pQVar7 = pQVar5;
    do {
      sVar8 = sVar8 + 1;
      pQVar7 = pQVar7 + 1;
      if (channels == sVar8) {
        pQVar7 = pQVar5 + -channels + channels * -2;
        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;
        sVar13 = 0;
        pQVar9 = pQVar7 + channels * 2;
        goto LAB_0018c0c4;
      }
      pQVar12 = pQVar9 + 1;
      pQVar9 = pQVar9 + 1;
    } while (*pQVar12 == *pQVar7);
  }
LAB_0018c0d4:
  pQVar7 = result + channels * 7;
  pQVar9 = pQVar14;
  while( true ) {
    *pQVar7 = QVar18;
    pQVar9 = pQVar9 + 1;
    if (result + channels * 8 == pQVar7 + 1) break;
    QVar18 = *pQVar9;
    pQVar7 = pQVar7 + 1;
  }
  QVar17 = *pQVar2;
  goto LAB_0018c100;
LAB_0018bf64:
  pQVar1 = pQVar5 + 1;
  pQVar5 = pQVar5 + 1;
  if (*pQVar1 != *pQVar12) goto LAB_0018c240;
  goto LAB_0018bf78;
  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {
LAB_0018c038:
    sVar13 = sVar13 + 1;
    pQVar9 = pQVar9 + 1;
    if (sVar8 == sVar13) goto LAB_0018c048;
  }
  goto LAB_0018c264;
  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {
LAB_0018c0c4:
    sVar13 = sVar13 + 1;
    pQVar9 = pQVar9 + 1;
    if (sVar8 == sVar13) goto LAB_0018c0d4;
  }
LAB_0018c264:
  pQVar7 = result + channels * 7;
  pQVar9 = pQVar6;
  while( true ) {
    *pQVar7 = QVar17;
    pQVar9 = pQVar9 + 1;
    if (result + channels * 8 == pQVar7 + 1) break;
    QVar17 = *pQVar9;
    pQVar7 = pQVar7 + 1;
  }
  QVar17 = *pQVar2;
LAB_0018c100:
  pQVar3 = pQVar3 + channels * 4;
  if (*pQVar6 == QVar17) {
    sVar8 = 0;
    pQVar2 = pQVar3 + channels * 2;
    pQVar6 = pQVar2;
    do {
      sVar8 = sVar8 + 1;
      pQVar6 = pQVar6 + 1;
      if (channels == sVar8) {
        pQVar2 = pQVar2 + channels * -2;
        pQVar3 = pQVar11 + channels * 4;
        while( true ) {
          *pQVar3 = QVar17;
          pQVar2 = pQVar2 + 1;
          if (pQVar3 + 1 == result + channels * 9) break;
          QVar17 = *pQVar2;
          pQVar3 = pQVar3 + 1;
        }
        return;
      }
      pQVar7 = pQVar3 + 1;
      pQVar3 = pQVar3 + 1;
    } while (*pQVar7 == *pQVar6);
  }
  pQVar3 = pQVar11 + channels * 4;
  do {
    QVar17 = *pQVar14;
    pQVar14 = pQVar14 + 1;
    *pQVar3 = QVar17;
    pQVar3 = pQVar3 + 1;
  } while (pQVar4 != pQVar14);
  return;
}



void FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)

{
  float *pfVar1;
  float *pfVar2;
  float *pfVar3;
  float *pfVar4;
  float *pfVar5;
  float *pfVar6;
  float *pfVar7;
  int iVar8;
  float *pfVar9;
  float *pfVar10;
  float *pfVar11;
  int iVar12;
  float *pfVar13;
  float *pfVar14;
  float fVar15;
  float fVar16;
  float fVar17;
  
  if (param_4 < 1) {
    iVar8 = 9;
    do {
      pfVar3 = param_2 + param_4 * 4;
      pfVar6 = param_3;
      if (0 < param_4) {
        do {
          pfVar2 = pfVar3 + 1;
          *pfVar6 = *pfVar3;
          pfVar3 = pfVar2;
          pfVar6 = pfVar6 + 1;
        } while (pfVar2 != param_2 + param_4 * 5);
      }
      iVar8 = iVar8 + -1;
      param_3 = param_3 + param_4;
    } while (iVar8 != 0);
    return;
  }
  pfVar3 = param_2 + param_4;
  pfVar6 = pfVar3 + param_4 * 6;
  if (*pfVar3 == *pfVar6) {
    iVar8 = 0;
    pfVar2 = pfVar6 + param_4 * -6;
    pfVar7 = pfVar2 + param_4 * 6;
    do {
      iVar8 = iVar8 + 1;
      pfVar7 = pfVar7 + 1;
      if (iVar8 == param_4) goto LAB_0018b928;
      pfVar9 = pfVar2 + 1;
      pfVar2 = pfVar2 + 1;
    } while (*pfVar7 == *pfVar9);
  }
  pfVar7 = pfVar6 + param_4 * -4;
  pfVar2 = pfVar7 + param_4 * 2;
  fVar16 = *pfVar7;
  if (fVar16 == *pfVar2) {
    pfVar9 = pfVar2 + param_4 * -2;
    iVar8 = 0;
    pfVar4 = pfVar9 + param_4 * 2;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
LAB_0018b928:
        iVar8 = 9;
        do {
          pfVar3 = param_2 + param_4 * 4;
          pfVar6 = param_3;
          if (0 < param_4) {
            do {
              pfVar2 = pfVar3 + 1;
              *pfVar6 = *pfVar3;
              pfVar3 = pfVar2;
              pfVar6 = pfVar6 + 1;
            } while (pfVar2 != param_2 + param_4 * 5);
          }
          iVar8 = iVar8 + -1;
          param_3 = param_3 + param_4;
        } while (iVar8 != 0);
        return;
      }
      pfVar5 = pfVar9 + 1;
      pfVar9 = pfVar9 + 1;
    } while (*pfVar5 == *pfVar4);
  }
  if (fVar16 == *pfVar3) {
    pfVar4 = pfVar2 + param_4 * -2;
    iVar8 = 0;
    pfVar5 = pfVar4 + param_4 * -2;
    pfVar9 = pfVar5;
LAB_0018ba38:
    iVar8 = iVar8 + 1;
    pfVar9 = pfVar9 + 1;
    if (param_4 != iVar8) goto LAB_0018ba24;
    pfVar5 = pfVar5 + param_4 * 2;
    pfVar9 = param_3;
    while( true ) {
      *pfVar9 = fVar16;
      pfVar5 = pfVar5 + 1;
      if (pfVar9 + 1 == param_3 + param_4) break;
      fVar16 = *pfVar5;
      pfVar9 = pfVar9 + 1;
    }
    fVar16 = *pfVar3;
    goto LAB_0018ba74;
  }
LAB_0018c214:
  pfVar4 = pfVar2 + -param_4;
  pfVar9 = param_3;
  do {
    fVar16 = *pfVar4;
    pfVar5 = pfVar9 + 1;
    pfVar4 = pfVar4 + 1;
    *pfVar9 = fVar16;
    pfVar9 = pfVar5;
  } while (pfVar5 != param_3 + param_4);
  fVar16 = *pfVar3;
LAB_0018ba74:
  pfVar9 = pfVar2 + -param_4;
  fVar17 = *pfVar9;
  if (*pfVar7 == fVar16) {
    pfVar5 = pfVar9 + -param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -2;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;
        pfVar4 = pfVar10 + param_4 + param_4 * 2;
        pfVar5 = pfVar4 + param_4 * -2;
        goto LAB_0018bb18;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bb28:
  if (*pfVar2 == fVar16) {
    pfVar5 = pfVar9 + param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -4;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (*param_2 != fVar17) goto LAB_0018c298;
        pfVar10 = pfVar10 + param_4 * 3;
        pfVar4 = param_2 + 1;
        goto LAB_0018bba4;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bbb4:
  pfVar4 = param_3 + param_4;
  pfVar5 = pfVar9;
  while( true ) {
    *pfVar4 = fVar17;
    pfVar5 = pfVar5 + 1;
    if (pfVar4 + 1 == param_3 + param_4 * 2) break;
    fVar17 = *pfVar5;
    pfVar4 = pfVar4 + 1;
  }
  fVar16 = *pfVar2;
  goto LAB_0018bbdc;
LAB_0018ba24:
  pfVar10 = pfVar4 + 1;
  pfVar4 = pfVar4 + 1;
  if (*pfVar10 != *pfVar9) goto LAB_0018c214;
  goto LAB_0018ba38;
  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {
LAB_0018bb18:
    iVar12 = iVar12 + 1;
    pfVar5 = pfVar5 + 1;
    if (iVar8 == iVar12) goto LAB_0018bb28;
  }
  goto LAB_0018c298;
  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,
        *pfVar5 == fVar15) {
LAB_0018bba4:
    iVar12 = iVar12 + 1;
    if (iVar8 == iVar12) goto LAB_0018bbb4;
  }
LAB_0018c298:
  pfVar5 = pfVar9 + param_4 * -3;
  pfVar4 = param_3 + param_4;
  while( true ) {
    *pfVar4 = fVar16;
    pfVar5 = pfVar5 + 1;
    if (pfVar4 + 1 == param_3 + param_4 * 2) break;
    fVar16 = *pfVar5;
    pfVar4 = pfVar4 + 1;
  }
  fVar16 = *pfVar2;
LAB_0018bbdc:
  if (fVar16 == *pfVar3) {
    pfVar5 = pfVar9 + param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -4;
    pfVar4 = pfVar10;
LAB_0018bc14:
    iVar8 = iVar8 + 1;
    pfVar4 = pfVar4 + 1;
    if (param_4 != iVar8) goto LAB_0018bc00;
    pfVar10 = pfVar10 + param_4 * 4;
    pfVar4 = param_3 + param_4 * 2;
    while( true ) {
      *pfVar4 = fVar16;
      pfVar10 = pfVar10 + 1;
      if (param_3 + param_4 * 3 == pfVar4 + 1) break;
      fVar16 = *pfVar10;
      pfVar4 = pfVar4 + 1;
    }
    fVar16 = *pfVar7;
    goto LAB_0018bc50;
  }
LAB_0018c1e8:
  pfVar4 = param_3 + param_4 * 2;
  pfVar5 = pfVar9;
  do {
    fVar16 = *pfVar5;
    pfVar5 = pfVar5 + 1;
    *pfVar4 = fVar16;
    pfVar4 = pfVar4 + 1;
  } while (pfVar5 != param_2 + param_4 * 5);
  fVar16 = *pfVar7;
LAB_0018bc50:
  fVar17 = *pfVar9;
  if (fVar16 == *pfVar3) {
    pfVar5 = pfVar9 + -param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -2;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;
        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;
        pfVar5 = pfVar4 + param_4 * 2;
        goto LAB_0018bce4;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bcf4:
  if (fVar16 == *pfVar6) {
    pfVar5 = pfVar9 + -param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * 4;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        if (*param_2 != fVar17) goto LAB_0018c2c8;
        pfVar10 = pfVar10 + param_4 * -3;
        iVar8 = 0;
        pfVar4 = param_2 + 1;
        goto LAB_0018bd70;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bd80:
  pfVar4 = pfVar9;
  pfVar5 = param_3 + param_4 * 3;
  while( true ) {
    *pfVar5 = fVar17;
    pfVar4 = pfVar4 + 1;
    if (pfVar5 + 1 == param_3 + param_4 * 4) break;
    fVar17 = *pfVar4;
    pfVar5 = pfVar5 + 1;
  }
  goto LAB_0018bdb0;
LAB_0018bc00:
  pfVar13 = pfVar5 + 1;
  pfVar5 = pfVar5 + 1;
  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;
  goto LAB_0018bc14;
  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {
LAB_0018bce4:
    iVar12 = iVar12 + 1;
    pfVar5 = pfVar5 + 1;
    if (iVar8 == iVar12) goto LAB_0018bcf4;
  }
  goto LAB_0018c2c8;
  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,
        *pfVar5 == fVar15) {
LAB_0018bd70:
    iVar8 = iVar8 + 1;
    if (param_4 == iVar8) goto LAB_0018bd80;
  }
LAB_0018c2c8:
  pfVar5 = pfVar3 + param_4 * 2;
  pfVar4 = param_3 + param_4 * 3;
  while( true ) {
    *pfVar4 = fVar16;
    pfVar5 = pfVar5 + 1;
    if (param_3 + param_4 * 4 == pfVar4 + 1) break;
    fVar16 = *pfVar5;
    pfVar4 = pfVar4 + 1;
  }
LAB_0018bdb0:
  pfVar13 = pfVar3 + param_4 * 3;
  pfVar10 = param_3 + param_4 * 4;
  pfVar4 = pfVar13;
  pfVar5 = pfVar10;
  do {
    fVar16 = *pfVar4;
    pfVar4 = pfVar4 + 1;
    *pfVar5 = fVar16;
    pfVar5 = pfVar5 + 1;
  } while (pfVar4 != param_2 + param_4 * 5);
  fVar17 = *pfVar2;
  fVar16 = *pfVar9;
  if (fVar17 == *pfVar3) {
    pfVar11 = pfVar13 + param_4;
    iVar8 = 0;
    pfVar14 = pfVar11 + param_4 * -4;
    pfVar5 = pfVar14;
    do {
      iVar8 = iVar8 + 1;
      pfVar5 = pfVar5 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;
        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;
        pfVar11 = pfVar5 + param_4 * 4;
        goto LAB_0018be6c;
      }
      pfVar1 = pfVar11 + 1;
      pfVar11 = pfVar11 + 1;
    } while (*pfVar1 == *pfVar5);
  }
LAB_0018be7c:
  if (fVar17 == *pfVar6) {
    pfVar11 = pfVar13 + param_4;
    iVar8 = 0;
    pfVar14 = pfVar11 + param_4 * 2;
    pfVar5 = pfVar14;
    do {
      iVar8 = iVar8 + 1;
      pfVar5 = pfVar5 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;
        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;
        pfVar11 = pfVar5 + param_4 * -2;
        goto LAB_0018bf04;
      }
      pfVar1 = pfVar11 + 1;
      pfVar11 = pfVar11 + 1;
    } while (*pfVar1 == *pfVar5);
  }
LAB_0018bf14:
  pfVar5 = pfVar10 + param_4;
  pfVar11 = pfVar13;
  while( true ) {
    *pfVar5 = fVar16;
    pfVar11 = pfVar11 + 1;
    if (param_3 + param_4 * 6 == pfVar5 + 1) break;
    fVar16 = *pfVar11;
    pfVar5 = pfVar5 + 1;
  }
  fVar16 = *pfVar7;
  goto LAB_0018bf44;
  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {
LAB_0018be6c:
    iVar12 = iVar12 + 1;
    pfVar11 = pfVar11 + 1;
    if (iVar8 == iVar12) goto LAB_0018be7c;
  }
  goto LAB_0018c2fc;
  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {
LAB_0018bf04:
    iVar12 = iVar12 + 1;
    pfVar11 = pfVar11 + 1;
    if (iVar8 == iVar12) goto LAB_0018bf14;
  }
LAB_0018c2fc:
  pfVar11 = pfVar13 + param_4;
  pfVar5 = pfVar10 + param_4;
  while( true ) {
    *pfVar5 = fVar17;
    pfVar11 = pfVar11 + 1;
    if (param_3 + param_4 * 6 == pfVar5 + 1) break;
    fVar17 = *pfVar11;
    pfVar5 = pfVar5 + 1;
  }
  fVar16 = *pfVar7;
LAB_0018bf44:
  pfVar5 = pfVar13 + -param_4;
  if (*pfVar6 == fVar16) {
    iVar8 = 0;
    pfVar14 = pfVar5 + param_4 * 4;
    pfVar11 = pfVar14;
LAB_0018bf78:
    iVar8 = iVar8 + 1;
    pfVar11 = pfVar11 + 1;
    if (param_4 != iVar8) goto LAB_0018bf64;
    pfVar14 = pfVar14 + param_4 * -4;
    pfVar5 = pfVar10 + param_4 * 2;
    while( true ) {
      *pfVar5 = fVar16;
      pfVar14 = pfVar14 + 1;
      if (param_3 + param_4 * 7 == pfVar5 + 1) break;
      fVar16 = *pfVar14;
      pfVar5 = pfVar5 + 1;
    }
    fVar16 = *pfVar6;
    goto LAB_0018bfbc;
  }
LAB_0018c240:
  pfVar5 = pfVar13;
  pfVar11 = pfVar10 + param_4 * 2;
  do {
    fVar16 = *pfVar5;
    pfVar5 = pfVar5 + 1;
    *pfVar11 = fVar16;
    pfVar11 = pfVar11 + 1;
  } while (pfVar4 != pfVar5);
  fVar16 = *pfVar6;
LAB_0018bfbc:
  fVar17 = *pfVar9;
  if (*pfVar7 == fVar16) {
    pfVar9 = pfVar13 + -param_4;
    iVar8 = 0;
    pfVar5 = pfVar9 + param_4 * 4;
    pfVar7 = pfVar5;
    do {
      iVar8 = iVar8 + 1;
      pfVar7 = pfVar7 + 1;
      if (param_4 == iVar8) {
        pfVar7 = pfVar5 + param_4 + param_4 * -4;
        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;
        iVar12 = 0;
        pfVar9 = pfVar7 + param_4 * 4;
        goto LAB_0018c038;
      }
      pfVar11 = pfVar9 + 1;
      pfVar9 = pfVar9 + 1;
    } while (*pfVar11 == *pfVar7);
  }
LAB_0018c048:
  if (*pfVar2 == fVar16) {
    pfVar9 = pfVar13 + param_4;
    iVar8 = 0;
    pfVar5 = pfVar9 + param_4 * 2;
    pfVar7 = pfVar5;
    do {
      iVar8 = iVar8 + 1;
      pfVar7 = pfVar7 + 1;
      if (param_4 == iVar8) {
        pfVar7 = pfVar5 + -param_4 + param_4 * -2;
        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;
        iVar12 = 0;
        pfVar9 = pfVar7 + param_4 * 2;
        goto LAB_0018c0c4;
      }
      pfVar11 = pfVar9 + 1;
      pfVar9 = pfVar9 + 1;
    } while (*pfVar11 == *pfVar7);
  }
LAB_0018c0d4:
  pfVar7 = param_3 + param_4 * 7;
  pfVar9 = pfVar13;
  while( true ) {
    *pfVar7 = fVar17;
    pfVar9 = pfVar9 + 1;
    if (param_3 + param_4 * 8 == pfVar7 + 1) break;
    fVar17 = *pfVar9;
    pfVar7 = pfVar7 + 1;
  }
  fVar16 = *pfVar2;
  goto LAB_0018c100;
LAB_0018bf64:
  pfVar1 = pfVar5 + 1;
  pfVar5 = pfVar5 + 1;
  if (*pfVar1 != *pfVar11) goto LAB_0018c240;
  goto LAB_0018bf78;
  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {
LAB_0018c038:
    iVar12 = iVar12 + 1;
    pfVar9 = pfVar9 + 1;
    if (iVar8 == iVar12) goto LAB_0018c048;
  }
  goto LAB_0018c264;
  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {
LAB_0018c0c4:
    iVar12 = iVar12 + 1;
    pfVar9 = pfVar9 + 1;
    if (iVar8 == iVar12) goto LAB_0018c0d4;
  }
LAB_0018c264:
  pfVar7 = param_3 + param_4 * 7;
  pfVar9 = pfVar6;
  while( true ) {
    *pfVar7 = fVar16;
    pfVar9 = pfVar9 + 1;
    if (param_3 + param_4 * 8 == pfVar7 + 1) break;
    fVar16 = *pfVar9;
    pfVar7 = pfVar7 + 1;
  }
  fVar16 = *pfVar2;
LAB_0018c100:
  pfVar3 = pfVar3 + param_4 * 4;
  if (*pfVar6 == fVar16) {
    iVar8 = 0;
    pfVar2 = pfVar3 + param_4 * 2;
    pfVar6 = pfVar2;
    do {
      iVar8 = iVar8 + 1;
      pfVar6 = pfVar6 + 1;
      if (param_4 == iVar8) {
        pfVar2 = pfVar2 + param_4 * -2;
        pfVar3 = pfVar10 + param_4 * 4;
        while( true ) {
          *pfVar3 = fVar16;
          pfVar2 = pfVar2 + 1;
          if (pfVar3 + 1 == param_3 + param_4 * 9) break;
          fVar16 = *pfVar2;
          pfVar3 = pfVar3 + 1;
        }
        return;
      }
      pfVar7 = pfVar3 + 1;
      pfVar3 = pfVar3 + 1;
    } while (*pfVar7 == *pfVar6);
  }
  pfVar3 = pfVar10 + param_4 * 4;
  do {
    fVar16 = *pfVar13;
    pfVar13 = pfVar13 + 1;
    *pfVar3 = fVar16;
    pfVar3 = pfVar3 + 1;
  } while (pfVar4 != pfVar13);
  return;
}


sll t0,a3,0x3
sll v0,a3,0x2
blez a3,0x0018c32c
_subu t0,t0,a3
addiu sp,sp,-0x40
addu t8,a1,v0
sll a0,t0,0x2
sw s1,0x20(sp)
sll s1,a3,0x1
lwc1 f6,0x0(t8)
addu t1,s1,a3
sw s8,0x3c(sp)
sw s7,0x38(sp)
sll t1,t1,0x3
sw s6,0x34(sp)
sw s5,0x30(sp)
addu t4,t8,t1
sw s4,0x2c(sp)
sw s3,0x28(sp)
lwc1 f0,0x0(t4)
sw s2,0x24(sp)
c.eq.S f6,f0
bc1f 0x0018b998
_sw s0,0x1c(sp)
subu v1,a3,v0
or t2,zero,zero
sll v1,v1,0x3
addu v1,t4,v1
b 0x0018b918
_addu t1,v1,t1
lwc1 f0,0x4(v1)
lwc1 f2,0x0(t1)
c.eq.S f2,f0
bc1f 0x1,0x0018b998
_addiu v1,v1,0x4
addiu t2,t2,0x1
bne t2,a3,0x0018b904
_addiu t1,t1,0x4
addu v1,a3,v0
sll t1,v0,0x2
sll v1,v1,0x2
addu t1,a1,t1
li t0,0x9
addu a1,a1,v1
blez a3,0x0018b960
_nop
or a0,a2,zero
or v1,t1,zero
lwc1 f0,0x0(v1)
addiu a0,a0,0x4
addiu v1,v1,0x4
bne v1,a1,0x0018b94c
_swc1 f0,-0x4(a0)
addiu t0,t0,-0x1
bne t0,zero,0x0018b93c
_addu a2,a2,v0
lw s8,0x3c(sp)
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
subu t9,zero,a3
sll t3,a3,0x3
sll s7,t9,0x4
addu s0,s1,a3
addu s4,t4,s7
sll t1,s0,0x2
addu s2,s4,t3
lwc1 f4,0x0(s4)
lwc1 f0,0x0(s2)
c.eq.S f4,f0
bc1f 0x3,0x0018ba04
_sll s5,t9,0x3
addu t2,s2,s5
or v1,zero,zero
b 0x0018b9ec
_addu t5,t2,t3
lwc1 f2,0x4(t2)
lwc1 f0,0x0(t5)
c.eq.S f2,f0
bc1f 0x2,0x0018ba04
_addiu t2,t2,0x4
addiu v1,v1,0x1
bne a3,v1,0x0018b9d8
_addiu t5,t5,0x4
addiu t5,t5,-0x4
b 0x0018b928
_addu v1,a3,v0
c.eq.S f4,f6
bc1f 0x3,0x0018c214
_sll t9,t9,0x2
addu t2,s2,s5
or v1,zero,zero
addu t6,t2,s5
b 0x0018ba38
_or t5,t6,zero
lwc1 f2,0x4(t2)
lwc1 f0,0x0(t5)
c.eq.S f2,f0
bc1f 0x4,0x0018c214
_addiu t2,t2,0x4
addiu v1,v1,0x1
bne a3,v1,0x0018ba24
_addiu t5,t5,0x4
addiu t5,t5,-0x4
addu t5,t6,t3
addu v1,v0,a2
b 0x0018ba5c
_or t2,a2,zero
lwc1 f4,0x0(t5)
addiu t2,t2,0x4
swc1 f4,-0x4(t2)
bne t2,v1,0x0018ba58
_addiu t5,t5,0x4
addu s3,s2,t9
lwc1 f6,0x0(t8)
sll t2,a3,0x2
sll t5,v0,0x2
lwc1 f0,0x0(s4)
addu s8,s1,a3
sw t2,0x10(sp)
subu t2,a3,t2
sw t5,0x4(sp)
sll t5,s8,0x2
sll t2,t2,0x2
lwc1 f4,0x0(s3)
sw t5,0x8(sp)
c.eq.S f0,f6
bc1f 0x5,0x0018bb28
_sw t2,0xc(sp)
addu t5,s3,t9
or t2,zero,zero
addu t7,t5,s5
b 0x0018bad4
_or t6,t7,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x6,0x0018bb28
_addiu t5,t5,0x4
addiu t2,t2,0x1
bne a3,t2,0x0018bac0
_addiu t6,t6,0x4
addiu t6,t6,-0x4
addu t5,t7,v0
lwc1 f0,0x0(t5)
c.eq.S f0,f4
bc1f 0x4,0x0018c298
_or t6,zero,zero
addu t5,t5,t3
b 0x0018bb18
_addu t7,t5,s5
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t7)
c.eq.S f2,f0
bc1f 0x0018c298
_addiu t5,t5,0x4
addiu t6,t6,0x1
bne t2,t6,0x0018bb04
_addiu t7,t7,0x4
addiu t7,t7,-0x4
lwc1 f0,0x0(s2)
c.eq.S f0,f6
bc1f 0x7,0x0018bbb4
_nop
addu t5,s3,v0
or t2,zero,zero
addu t7,t5,s7
b 0x0018bb60
_or t6,t7,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x1,0x0018bbb4
_addiu t5,t5,0x4
addiu t2,t2,0x1
bne a3,t2,0x0018bb4c
_addiu t6,t6,0x4
addiu t6,t6,-0x4
lwc1 f0,0x0(a1)
c.eq.S f0,f4
bc1f 0x5,0x0018c298
_or t6,zero,zero
lw t5,0x8(sp)
addu t5,t7,t5
b 0x0018bba4
_addiu t7,a1,0x4
lwc1 f2,0x4(t5)
lwc1 f0,-0x4(t7)
c.eq.S f2,f0
bc1f 0x2,0x0018c298
_addiu t5,t5,0x4
addiu t6,t6,0x1
bne t2,t6,0x0018bb90
_addiu t7,t7,0x4
addiu t7,t7,-0x4
or t2,v1,zero
or t5,s3,zero
b 0x0018bbc8
_addu v1,a2,t3
lwc1 f4,0x0(t5)
addiu t2,t2,0x4
swc1 f4,-0x4(t2)
bne t2,v1,0x0018bbc4
_addiu t5,t5,0x4
lwc1 f4,0x0(s2)
lwc1 f0,0x0(t8)
c.eq.S f4,f0
bc1f 0x3,0x0018c1e8
_sll t2,a3,0x4
addu t6,s3,v0
or t5,zero,zero
addu s6,t6,s7
b 0x0018bc14
_or t7,s6,zero
lwc1 f2,0x4(t6)
lwc1 f0,0x0(t7)
c.eq.S f2,f0
bc1f 0x4,0x0018c1e8
_addiu t6,t6,0x4
addiu t5,t5,0x1
bne a3,t5,0x0018bc00
_addiu t7,t7,0x4
addiu t7,t7,-0x4
sll s8,s8,0x2
addu s6,s6,t2
b 0x0018bc38
_addu s8,a2,s8
lwc1 f4,0x0(s6)
addiu v1,v1,0x4
swc1 f4,-0x4(v1)
bne s8,v1,0x0018bc34
_addiu s6,s6,0x4
addu s6,a3,v0
lwc1 f6,0x0(s4)
addu s1,s1,a3
lwc1 f0,0x0(t8)
sll v1,s1,0x1
lwc1 f4,0x0(s3)
c.eq.S f6,f0
bc1f 0x5,0x0018bcf4
_sw v1,0x14(sp)
addu t5,s3,t9
or v1,zero,zero
addu t7,t5,s5
b 0x0018bc94
_or t6,t7,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x6,0x0018bcf4
_addiu t5,t5,0x4
addiu v1,v1,0x1
bne a3,v1,0x0018bc80
_addiu t6,t6,0x4
addiu t6,t6,-0x4
lw t5,0x10(sp)
addu t5,t5,a3
sll t5,t5,0x2
addu t5,t7,t5
lwc1 f0,0x0(t5)
c.eq.S f0,f4
bc1f 0x6,0x0018c2c8
_or t6,zero,zero
addu t5,t5,s5
b 0x0018bce4
_addu t7,t5,t3
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t7)
c.eq.S f2,f0
bc1f 0x0018c2c8
_addiu t5,t5,0x4
addiu t6,t6,0x1
bne v1,t6,0x0018bcd0
_addiu t7,t7,0x4
addiu t7,t7,-0x4
lwc1 f0,0x0(t4)
c.eq.S f6,f0
bc1f 0x7,0x0018bd80
_nop
addu t5,s3,t9
or v1,zero,zero
addu t7,t5,t2
b 0x0018bd2c
_or t6,t7,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x1,0x0018bd80
_addiu t5,t5,0x4
addiu v1,v1,0x1
bne a3,v1,0x0018bd18
_addiu t6,t6,0x4
lwc1 f0,0x0(a1)
c.eq.S f0,f4
bc1f 0x7,0x0018c2c8
_addiu t6,t6,-0x4
lw v1,0xc(sp)
addiu t5,a1,0x4
addu t7,t7,v1
b 0x0018bd70
_or v1,zero,zero
lwc1 f2,0x4(t7)
lwc1 f0,-0x4(t5)
c.eq.S f2,f0
bc1f 0x2,0x0018c2c8
_addiu t7,t7,0x4
addiu v1,v1,0x1
bne a3,v1,0x0018bd5c
_addiu t5,t5,0x4
addiu t5,t5,-0x4
addu t5,a3,s0
addu t1,a2,t1
sll t5,t5,0x2
or v1,s3,zero
b 0x0018bd9c
_addu t5,a2,t5
lwc1 f4,0x0(v1)
addiu t1,t1,0x4
swc1 f4,-0x4(t1)
bne t1,t5,0x0018bd98
_addiu v1,v1,0x4
lw v1,0x8(sp)
sll t5,s6,0x2
addu t5,a1,t5
addu t7,t8,v1
lw v1,0x4(sp)
or s0,t7,zero
addu t1,a2,v1
or v1,t7,zero
or a1,t1,zero
lwc1 f0,0x0(v1)
addiu a1,a1,0x4
addiu v1,v1,0x4
bne v1,t5,0x0018bdd0
_swc1 f0,-0x4(a1)
lwc1 f6,0x0(s2)
lwc1 f0,0x0(t8)
c.eq.S f6,f0
bc1f 0x3,0x0018be7c
_lwc1 f4,0x0(s3)
addu s1,t7,v0
or a1,zero,zero
addu s8,s1,s7
or t6,s1,zero
b 0x0018be24
_or t5,s8,zero
lwc1 f2,0x4(t6)
lwc1 f0,0x0(t5)
c.eq.S f2,f0
bc1f 0x4,0x0018be7c
_addiu t6,t6,0x4
addiu a1,a1,0x1
bne a3,a1,0x0018be10
_addiu t5,t5,0x4
subu t5,t3,a3
sll t5,t5,0x2
addu t5,s8,t5
lwc1 f0,0x0(t5)
c.eq.S f0,f4
bc1f 0x0018c2fc
_or t6,zero,zero
addu t5,t5,s7
b 0x0018be6c
_addu s8,t5,t2
lwc1 f2,0x4(t5)
lwc1 f0,0x0(s8)
c.eq.S f2,f0
bc1f 0x6,0x0018c2fc
_addiu t5,t5,0x4
addiu t6,t6,0x1
bne a1,t6,0x0018be58
_addiu s8,s8,0x4
addiu s8,s8,-0x4
lwc1 f0,0x0(t4)
c.eq.S f6,f0
bc1f 0x5,0x0018bf14
_nop
addu s1,t7,v0
or a1,zero,zero
addu s8,s1,t3
or t6,s1,zero
b 0x0018beb8
_or t5,s8,zero
lwc1 f2,0x4(t6)
lwc1 f0,0x0(t5)
c.eq.S f2,f0
bc1f 0x7,0x0018bf14
_addiu t6,t6,0x4
addiu a1,a1,0x1
bne a3,a1,0x0018bea4
_addiu t5,t5,0x4
lw t5,0x10(sp)
addu t5,t5,a3
sll t5,t5,0x2
subu t5,s8,t5
lwc1 f0,0x0(t5)
c.eq.S f0,f4
bc1f 0x1,0x0018c2fc
_or t6,zero,zero
addu t5,t5,t3
b 0x0018bf04
_addu s8,t5,s5
lwc1 f2,0x4(t5)
lwc1 f0,0x0(s8)
c.eq.S f2,f0
bc1f 0x0018c2fc
_addiu t5,t5,0x4
addiu t6,t6,0x1
bne a1,t6,0x0018bef0
_addiu s8,s8,0x4
addiu s8,s8,-0x4
addu t6,a3,s6
addu a1,t1,v0
sll t6,t6,0x2
or t5,t7,zero
b 0x0018bf30
_addu t6,a2,t6
lwc1 f4,0x0(t5)
addiu a1,a1,0x4
swc1 f4,-0x4(a1)
bne t6,a1,0x0018bf2c
_addiu t5,t5,0x4
lwc1 f4,0x0(s4)
lwc1 f0,0x0(t4)
c.eq.S f0,f4
bc1f 0x1,0x0018c240
_addu t5,t7,t9
or a1,zero,zero
addu s1,t5,t2
b 0x0018bf78
_or t6,s1,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x2,0x0018c240
_addiu t5,t5,0x4
addiu a1,a1,0x1
bne a3,a1,0x0018bf64
_addiu t6,t6,0x4
addiu t6,t6,-0x4
lw a1,0x14(sp)
addu s1,s1,s7
addu t5,a3,a1
addu a1,t1,t3
sll t5,t5,0x2
b 0x0018bfa8
_addu t5,a2,t5
lwc1 f4,0x0(s1)
addiu a1,a1,0x4
swc1 f4,-0x4(a1)
bne t5,a1,0x0018bfa4
_addiu s1,s1,0x4
lwc1 f6,0x0(t4)
lwc1 f0,0x0(s4)
c.eq.S f0,f6
bc1f 0x3,0x0018c048
_lwc1 f4,0x0(s3)
addu t5,t7,t9
or a1,zero,zero
addu s1,t5,t2
b 0x0018bff4
_or t6,s1,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x4,0x0018c048
_addiu t5,t5,0x4
addiu a1,a1,0x1
bne a3,a1,0x0018bfe0
_addiu t6,t6,0x4
addiu t6,t6,-0x4
addu s1,s1,v0
lwc1 f0,0x0(s1)
c.eq.S f0,f4
bc1f 0x2,0x0018c264
_addu s7,s1,s7
or t5,zero,zero
b 0x0018c038
_addu t6,s7,t2
lwc1 f2,0x4(s7)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x6,0x0018c264
_addiu s7,s7,0x4
addiu t5,t5,0x1
bne a1,t5,0x0018c024
_addiu t6,t6,0x4
addiu t6,t6,-0x4
lwc1 f0,0x0(s2)
c.eq.S f0,f6
bc1f 0x5,0x0018c0d4
_nop
addu t5,t7,v0
or a1,zero,zero
addu s1,t5,t3
b 0x0018c080
_or t6,s1,zero
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t6)
c.eq.S f2,f0
bc1f 0x7,0x0018c0d4
_addiu t5,t5,0x4
addiu a1,a1,0x1
bne a3,a1,0x0018c06c
_addiu t6,t6,0x4
addiu t6,t6,-0x4
addu t5,s1,t9
lwc1 f0,0x0(t5)
c.eq.S f0,f4
bc1f 0x3,0x0018c264
_addu t5,t5,s5
or t6,zero,zero
b 0x0018c0c4
_addu t9,t5,t3
lwc1 f2,0x4(t5)
lwc1 f0,0x0(t9)
c.eq.S f2,f0
bc1f 0x0018c264
_addiu t5,t5,0x4
addiu t6,t6,0x1
bne a1,t6,0x0018c0b0
_addiu t9,t9,0x4
addiu t9,t9,-0x4
addu a1,a3,t0
addu a0,a2,a0
sll a1,a1,0x2
b 0x0018c0ec
_addu a1,a2,a1
lwc1 f4,0x0(t7)
addiu a0,a0,0x4
swc1 f4,-0x4(a0)
bne a1,a0,0x0018c0e8
_addiu t7,t7,0x4
lwc1 f4,0x0(s2)
lwc1 f0,0x0(t4)
c.eq.S f0,f4
bc1f 0x1,0x0018c1a0
_addu t2,t8,t2
or a0,zero,zero
addu t3,t2,t3
b 0x0018c134
_or a1,t3,zero
lwc1 f2,0x4(t2)
lwc1 f0,0x0(a1)
c.eq.S f2,f0
bc1f 0x2,0x0018c1a0
_addiu t2,t2,0x4
addiu a0,a0,0x1
bne a3,a0,0x0018c120
_addiu a1,a1,0x4
addiu a1,a1,-0x4
addu v0,s6,v0
lw v1,0x4(sp)
addu s5,t3,s5
sll v0,v0,0x2
addu t1,t1,v1
b 0x0018c164
_addu a2,a2,v0
lwc1 f4,0x0(s5)
addiu t1,t1,0x4
swc1 f4,-0x4(t1)
bne t1,a2,0x0018c160
_addiu s5,s5,0x4
lw s8,0x3c(sp)
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
lw v0,0x4(sp)
addu t1,t1,v0
lwc1 f0,0x0(s0)
addiu t1,t1,0x4
addiu s0,s0,0x4
bne v1,s0,0x0018c1a8
_swc1 f0,-0x4(t1)
lw s8,0x3c(sp)
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
addu s6,a3,v0
or t5,s3,zero
sll t6,s6,0x2
addu t6,a1,t6
lwc1 f0,0x0(t5)
addiu v1,v1,0x4
addiu t5,t5,0x4
bne t5,t6,0x0018c1f8
_swc1 f0,-0x4(v1)
b 0x0018bc50
_lwc1 f6,0x0(s4)
addu s3,s2,t9
addu v1,v0,a2
or t5,s3,zero
or t2,a2,zero
lwc1 f0,0x0(t5)
addiu t2,t2,0x4
addiu t5,t5,0x4
bne t2,v1,0x0018c224
_swc1 f0,-0x4(t2)
b 0x0018ba74
_lwc1 f6,0x0(t8)
addu t5,t1,t3
or a1,t7,zero
lwc1 f0,0x0(a1)
addiu t5,t5,0x4
addiu a1,a1,0x4
bne v1,a1,0x0018c248
_swc1 f0,-0x4(t5)
b 0x0018bfbc
_lwc1 f6,0x0(t4)
addu t0,a3,t0
addu a0,a2,a0
sll t0,t0,0x2
or a1,t4,zero
b 0x0018c280
_addu t0,a2,t0
lwc1 f6,0x0(a1)
addiu a0,a0,0x4
swc1 f6,-0x4(a0)
bne t0,a0,0x0018c27c
_addiu a1,a1,0x4
b 0x0018c100
_lwc1 f4,0x0(s2)
or t2,v1,zero
lw v1,0xc(sp)
addu t5,s3,v1
b 0x0018c2b0
_addu v1,a2,t3
lwc1 f6,0x0(t5)
addiu t2,t2,0x4
swc1 f6,-0x4(t2)
bne t2,v1,0x0018c2ac
_addiu t5,t5,0x4
b 0x0018bbdc
_lwc1 f4,0x0(s2)
addu t5,a3,s0
addu t1,a2,t1
sll t5,t5,0x2
addu v1,t8,t3
b 0x0018c2e4
_addu t5,a2,t5
lwc1 f6,0x0(v1)
addiu t1,t1,0x4
swc1 f6,-0x4(t1)
bne t5,t1,0x0018c2e0
_addiu v1,v1,0x4
b 0x0018bdb0
_lw v1,0x8(sp)
addu t5,a3,s6
addu a1,t1,v0
sll t5,t5,0x2
b 0x0018c314
_addu t5,a2,t5
lwc1 f6,0x0(s1)
addiu a1,a1,0x4
swc1 f6,-0x4(a1)
bne t5,a1,0x0018c310
_addiu s1,s1,0x4
b 0x0018bf44
_lwc1 f4,0x0(s4)
addu v1,a3,v0
sll t1,v0,0x2
sll v1,v1,0x2
addu t1,a1,t1
li t0,0x9
addu a1,a1,v1
blez a3,0x0018c368
_nop
or a0,a2,zero
or v1,t1,zero
lwc1 f0,0x0(v1)
addiu a0,a0,0x4
addiu v1,v1,0x4
bne v1,a1,0x0018c354
_swc1 f0,-0x4(a0)
addiu t0,t0,-0x1
bne t0,zero,0x0018c344
_addu a2,a2,v0
jr ra
_nop
(translation_unit "void FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)\n\n{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}\n\n" (function_definition "void FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)\n\n{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}" primitive_type (function_declarator "FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)" identifier (parameter_list "(undefined4 param_1,float *param_2,float *param_3,int param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "float *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "float *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}" { (declaration "float *pfVar1;" primitive_type (pointer_declarator "*pfVar1" * identifier) ;) (declaration "float *pfVar2;" primitive_type (pointer_declarator "*pfVar2" * identifier) ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "float *pfVar4;" primitive_type (pointer_declarator "*pfVar4" * identifier) ;) (declaration "float *pfVar5;" primitive_type (pointer_declarator "*pfVar5" * identifier) ;) (declaration "float *pfVar6;" primitive_type (pointer_declarator "*pfVar6" * identifier) ;) (declaration "float *pfVar7;" primitive_type (pointer_declarator "*pfVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "float *pfVar9;" primitive_type (pointer_declarator "*pfVar9" * identifier) ;) (declaration "float *pfVar10;" primitive_type (pointer_declarator "*pfVar10" * identifier) ;) (declaration "float *pfVar11;" primitive_type (pointer_declarator "*pfVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "float *pfVar14;" primitive_type (pointer_declarator "*pfVar14" * identifier) ;) (declaration "float fVar15;" primitive_type identifier ;) (declaration "float fVar16;" primitive_type identifier ;) (declaration "float fVar17;" primitive_type identifier ;) (if_statement "if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }" if (parenthesized_expression "(param_4 < 1)" ( (binary_expression "param_4 < 1" identifier < number_literal) )) (compound_statement "{\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }" { (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" identifier = number_literal) ;) (do_statement "do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);" do (compound_statement "{\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    }" { (expression_statement "pfVar3 = param_2 + param_4 * 4;" (assignment_expression "pfVar3 = param_2 + param_4 * 4" identifier = (binary_expression "param_2 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar6 = param_3;" (assignment_expression "pfVar6 = param_3" identifier = identifier) ;) (if_statement "if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }" if (parenthesized_expression "(0 < param_4)" ( (binary_expression "0 < param_4" number_literal < identifier) )) (compound_statement "{\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }" { (do_statement "do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);" do (compound_statement "{\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        }" { (expression_statement "pfVar2 = pfVar3 + 1;" (assignment_expression "pfVar2 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar6 = *pfVar3;" (assignment_expression "*pfVar6 = *pfVar3" (pointer_expression "*pfVar6" * identifier) = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "pfVar3 = pfVar2;" (assignment_expression "pfVar3 = pfVar2" identifier = identifier) ;) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" identifier = (binary_expression "pfVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar2 != param_2 + param_4 * 5)" ( (binary_expression "pfVar2 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) })) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "param_3 = param_3 + param_4;" (assignment_expression "param_3 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (return_statement "return;" return ;) })) (expression_statement "pfVar3 = param_2 + param_4;" (assignment_expression "pfVar3 = param_2 + param_4" identifier = (binary_expression "param_2 + param_4" identifier + identifier)) ;) (expression_statement "pfVar6 = pfVar3 + param_4 * 6;" (assignment_expression "pfVar6 = pfVar3 + param_4 * 6" identifier = (binary_expression "pfVar3 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal))) ;) (if_statement "if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }" if (parenthesized_expression "(*pfVar3 == *pfVar6)" ( (binary_expression "*pfVar3 == *pfVar6" (pointer_expression "*pfVar3" * identifier) == (pointer_expression "*pfVar6" * identifier)) )) (compound_statement "{\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar2 = pfVar6 + param_4 * -6;" (assignment_expression "pfVar2 = pfVar6 + param_4 * -6" identifier = (binary_expression "pfVar6 + param_4 * -6" identifier + (binary_expression "param_4 * -6" identifier * number_literal))) ;) (expression_statement "pfVar7 = pfVar2 + param_4 * 6;" (assignment_expression "pfVar7 = pfVar2 + param_4 * 6" identifier = (binary_expression "pfVar2 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal))) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == param_4) goto LAB_0018b928;" if (parenthesized_expression "(iVar8 == param_4)" ( (binary_expression "iVar8 == param_4" identifier == identifier) )) (goto_statement "goto LAB_0018b928;" goto statement_identifier ;)) (expression_statement "pfVar9 = pfVar2 + 1;" (assignment_expression "pfVar9 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar7 == *pfVar9)" ( (binary_expression "*pfVar7 == *pfVar9" (pointer_expression "*pfVar7" * identifier) == (pointer_expression "*pfVar9" * identifier)) )) ;) })) (expression_statement "pfVar7 = pfVar6 + param_4 * -4;" (assignment_expression "pfVar7 = pfVar6 + param_4 * -4" identifier = (binary_expression "pfVar6 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar2 = pfVar7 + param_4 * 2;" (assignment_expression "pfVar2 = pfVar7 + param_4 * 2" identifier = (binary_expression "pfVar7 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (if_statement "if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }" if (parenthesized_expression "(fVar16 == *pfVar2)" ( (binary_expression "fVar16 == *pfVar2" identifier == (pointer_expression "*pfVar2" * identifier)) )) (compound_statement "{\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }" { (expression_statement "pfVar9 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar9 = pfVar2 + param_4 * -2" identifier = (binary_expression "pfVar2 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar4 = pfVar9 + param_4 * 2;" (assignment_expression "pfVar4 = pfVar9 + param_4 * 2" identifier = (binary_expression "pfVar9 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }" { (labeled_statement "LAB_0018b928:\n        iVar8 = 9;" statement_identifier : (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" identifier = number_literal) ;)) (do_statement "do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);" do (compound_statement "{\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        }" { (expression_statement "pfVar3 = param_2 + param_4 * 4;" (assignment_expression "pfVar3 = param_2 + param_4 * 4" identifier = (binary_expression "param_2 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar6 = param_3;" (assignment_expression "pfVar6 = param_3" identifier = identifier) ;) (if_statement "if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }" if (parenthesized_expression "(0 < param_4)" ( (binary_expression "0 < param_4" number_literal < identifier) )) (compound_statement "{\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }" { (do_statement "do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);" do (compound_statement "{\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            }" { (expression_statement "pfVar2 = pfVar3 + 1;" (assignment_expression "pfVar2 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar6 = *pfVar3;" (assignment_expression "*pfVar6 = *pfVar3" (pointer_expression "*pfVar6" * identifier) = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "pfVar3 = pfVar2;" (assignment_expression "pfVar3 = pfVar2" identifier = identifier) ;) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" identifier = (binary_expression "pfVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar2 != param_2 + param_4 * 5)" ( (binary_expression "pfVar2 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) })) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "param_3 = param_3 + param_4;" (assignment_expression "param_3 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (return_statement "return;" return ;) })) (expression_statement "pfVar5 = pfVar9 + 1;" (assignment_expression "pfVar5 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar5 == *pfVar4)" ( (binary_expression "*pfVar5 == *pfVar4" (pointer_expression "*pfVar5" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) })) (if_statement "if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }" if (parenthesized_expression "(fVar16 == *pfVar3)" ( (binary_expression "fVar16 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }" { (expression_statement "pfVar4 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar4 = pfVar2 + param_4 * -2" identifier = (binary_expression "pfVar2 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar5 = pfVar4 + param_4 * -2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * -2" identifier = (binary_expression "pfVar4 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar9 = pfVar5;" (assignment_expression "pfVar9 = pfVar5" identifier = identifier) ;) (labeled_statement "LAB_0018ba38:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 != iVar8) goto LAB_0018ba24;" if (parenthesized_expression "(param_4 != iVar8)" ( (binary_expression "param_4 != iVar8" identifier != identifier) )) (goto_statement "goto LAB_0018ba24;" goto statement_identifier ;)) (expression_statement "pfVar5 = pfVar5 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar5 + param_4 * 2" identifier = (binary_expression "pfVar5 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar9 = param_3;" (assignment_expression "pfVar9 = param_3" identifier = identifier) ;) (while_statement "while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "*pfVar9 = fVar16;" (assignment_expression "*pfVar9 = fVar16" (pointer_expression "*pfVar9" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar9 + 1 == param_3 + param_4) break;" if (parenthesized_expression "(pfVar9 + 1 == param_3 + param_4)" ( (binary_expression "pfVar9 + 1 == param_3 + param_4" (binary_expression "pfVar9 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4" identifier + identifier)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar3;" (assignment_expression "fVar16 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (goto_statement "goto LAB_0018ba74;" goto statement_identifier ;) })) (labeled_statement "LAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;" statement_identifier : (expression_statement "pfVar4 = pfVar2 + -param_4;" (assignment_expression "pfVar4 = pfVar2 + -param_4" identifier = (binary_expression "pfVar2 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;)) (expression_statement "pfVar9 = param_3;" (assignment_expression "pfVar9 = param_3" identifier = identifier) ;) (do_statement "do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);" do (compound_statement "{\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  }" { (expression_statement "fVar16 = *pfVar4;" (assignment_expression "fVar16 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) ;) (expression_statement "pfVar5 = pfVar9 + 1;" (assignment_expression "pfVar5 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar9 = fVar16;" (assignment_expression "*pfVar9 = fVar16" (pointer_expression "*pfVar9" * identifier) = identifier) ;) (expression_statement "pfVar9 = pfVar5;" (assignment_expression "pfVar9 = pfVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pfVar5 != param_3 + param_4)" ( (binary_expression "pfVar5 != param_3 + param_4" identifier != (binary_expression "param_3 + param_4" identifier + identifier)) )) ;) (expression_statement "fVar16 = *pfVar3;" (assignment_expression "fVar16 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (labeled_statement "LAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;" statement_identifier : (expression_statement "pfVar9 = pfVar2 + -param_4;" (assignment_expression "pfVar9 = pfVar2 + -param_4" identifier = (binary_expression "pfVar2 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;)) (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (if_statement "if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(*pfVar7 == fVar16)" ( (binary_expression "*pfVar7 == fVar16" (pointer_expression "*pfVar7" * identifier) == identifier) )) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" identifier = (binary_expression "pfVar9 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -2" identifier = (binary_expression "pfVar5 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar10[param_4] != fVar17) goto LAB_0018c298;" if (parenthesized_expression "(pfVar10[param_4] != fVar17)" ( (binary_expression "pfVar10[param_4] != fVar17" (subscript_expression "pfVar10[param_4]" identifier [ identifier ]) != identifier) )) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;)) (expression_statement "pfVar4 = pfVar10 + param_4 + param_4 * 2;" (assignment_expression "pfVar4 = pfVar10 + param_4 + param_4 * 2" identifier = (binary_expression "pfVar10 + param_4 + param_4 * 2" (binary_expression "pfVar10 + param_4" identifier + identifier) + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar4 + param_4 * -2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * -2" identifier = (binary_expression "pfVar4 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bb18;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) })) (labeled_statement "LAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" statement_identifier : (if_statement "if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(*pfVar2 == fVar16)" ( (binary_expression "*pfVar2 == fVar16" (pointer_expression "*pfVar2" * identifier) == identifier) )) (compound_statement "{\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + param_4;" (assignment_expression "pfVar5 = pfVar9 + param_4" identifier = (binary_expression "pfVar9 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -4" identifier = (binary_expression "pfVar5 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (*param_2 != fVar17) goto LAB_0018c298;" if (parenthesized_expression "(*param_2 != fVar17)" ( (binary_expression "*param_2 != fVar17" (pointer_expression "*param_2" * identifier) != identifier) )) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;)) (expression_statement "pfVar10 = pfVar10 + param_4 * 3;" (assignment_expression "pfVar10 = pfVar10 + param_4 * 3" identifier = (binary_expression "pfVar10 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;) (expression_statement "pfVar4 = param_2 + 1;" (assignment_expression "pfVar4 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0018bba4;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bbb4:\n  pfVar4 = param_3 + param_4;" statement_identifier : (expression_statement "pfVar4 = param_3 + param_4;" (assignment_expression "pfVar4 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;)) (expression_statement "pfVar5 = pfVar9;" (assignment_expression "pfVar5 = pfVar9" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "*pfVar4 = fVar17;" (assignment_expression "*pfVar4 = fVar17" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar4 + 1 == param_3 + param_4 * 2) break;" if (parenthesized_expression "(pfVar4 + 1 == param_3 + param_4 * 2)" ( (binary_expression "pfVar4 + 1 == param_3 + param_4 * 2" (binary_expression "pfVar4 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar5;" (assignment_expression "fVar17 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (goto_statement "goto LAB_0018bbdc;" goto statement_identifier ;) (labeled_statement "LAB_0018ba24:\n  pfVar10 = pfVar4 + 1;" statement_identifier : (expression_statement "pfVar10 = pfVar4 + 1;" (assignment_expression "pfVar10 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (*pfVar10 != *pfVar9) goto LAB_0018c214;" if (parenthesized_expression "(*pfVar10 != *pfVar9)" ( (binary_expression "*pfVar10 != *pfVar9" (pointer_expression "*pfVar10" * identifier) != (pointer_expression "*pfVar9" * identifier)) )) (goto_statement "goto LAB_0018c214;" goto statement_identifier ;)) (goto_statement "goto LAB_0018ba38;" goto statement_identifier ;) (while_statement "while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }" while (parenthesized_expression "(pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5)" ( (comma_expression "pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar10 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar10 == *pfVar5" (pointer_expression "*pfVar10" * identifier) == (pointer_expression "*pfVar5" * identifier)))) )) (compound_statement "{\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }" { (labeled_statement "LAB_0018bb18:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018bb28;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bb28;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }" while (parenthesized_expression "(pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15)" ( (comma_expression "pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar5 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "fVar15 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) , (comma_expression "pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar10 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == fVar15" (pointer_expression "*pfVar5" * identifier) == identifier))))) )) (compound_statement "{\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }" { (labeled_statement "LAB_0018bba4:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar8 == iVar12) goto LAB_0018bbb4;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bbb4;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;" statement_identifier : (expression_statement "pfVar5 = pfVar9 + param_4 * -3;" (assignment_expression "pfVar5 = pfVar9 + param_4 * -3" identifier = (binary_expression "pfVar9 + param_4 * -3" identifier + (binary_expression "param_4 * -3" identifier * number_literal))) ;)) (expression_statement "pfVar4 = param_3 + param_4;" (assignment_expression "pfVar4 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;) (while_statement "while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar4 + 1 == param_3 + param_4 * 2) break;" if (parenthesized_expression "(pfVar4 + 1 == param_3 + param_4 * 2)" ( (binary_expression "pfVar4 + 1 == param_3 + param_4 * 2" (binary_expression "pfVar4 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (labeled_statement "LAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" statement_identifier : (if_statement "if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" if (parenthesized_expression "(fVar16 == *pfVar3)" ( (binary_expression "fVar16 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" { (expression_statement "pfVar5 = pfVar9 + param_4;" (assignment_expression "pfVar5 = pfVar9 + param_4" identifier = (binary_expression "pfVar9 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -4" identifier = (binary_expression "pfVar5 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (labeled_statement "LAB_0018bc14:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 != iVar8) goto LAB_0018bc00;" if (parenthesized_expression "(param_4 != iVar8)" ( (binary_expression "param_4 != iVar8" identifier != identifier) )) (goto_statement "goto LAB_0018bc00;" goto statement_identifier ;)) (expression_statement "pfVar10 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar10 = pfVar10 + param_4 * 4" identifier = (binary_expression "pfVar10 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar4 = param_3 + param_4 * 2;" (assignment_expression "pfVar4 = param_3 + param_4 * 2" identifier = (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (while_statement "while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }" { (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar10 = pfVar10 + 1;" (assignment_expression "pfVar10 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 3 == pfVar4 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 3 == pfVar4 + 1)" ( (binary_expression "param_3 + param_4 * 3 == pfVar4 + 1" (binary_expression "param_3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal)) == (binary_expression "pfVar4 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar10;" (assignment_expression "fVar16 = *pfVar10" identifier = (pointer_expression "*pfVar10" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (goto_statement "goto LAB_0018bc50;" goto statement_identifier ;) }))) (labeled_statement "LAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;" statement_identifier : (expression_statement "pfVar4 = param_3 + param_4 * 2;" (assignment_expression "pfVar4 = param_3 + param_4 * 2" identifier = (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;)) (expression_statement "pfVar5 = pfVar9;" (assignment_expression "pfVar5 = pfVar9" identifier = identifier) ;) (do_statement "do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);" do (compound_statement "{\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar5 != param_2 + param_4 * 5)" ( (binary_expression "pfVar5 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (labeled_statement "LAB_0018bc50:\n  fVar17 = *pfVar9;" statement_identifier : (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;)) (if_statement "if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(fVar16 == *pfVar3)" ( (binary_expression "fVar16 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" identifier = (binary_expression "pfVar9 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -2" identifier = (binary_expression "pfVar5 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;" if (parenthesized_expression "(pfVar10[param_4 * 5] != fVar17)" ( (binary_expression "pfVar10[param_4 * 5] != fVar17" (subscript_expression "pfVar10[param_4 * 5]" identifier [ (binary_expression "param_4 * 5" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;)) (expression_statement "pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;" (assignment_expression "pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2" identifier = (binary_expression "pfVar10 + param_4 * 5 + param_4 * -2" (binary_expression "pfVar10 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal)) + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar4 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * 2" identifier = (binary_expression "pfVar4 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bce4;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) })) (labeled_statement "LAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" statement_identifier : (if_statement "if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(fVar16 == *pfVar6)" ( (binary_expression "fVar16 == *pfVar6" identifier == (pointer_expression "*pfVar6" * identifier)) )) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" identifier = (binary_expression "pfVar9 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * 4" identifier = (binary_expression "pfVar5 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }" { (if_statement "if (*param_2 != fVar17) goto LAB_0018c2c8;" if (parenthesized_expression "(*param_2 != fVar17)" ( (binary_expression "*param_2 != fVar17" (pointer_expression "*param_2" * identifier) != identifier) )) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;)) (expression_statement "pfVar10 = pfVar10 + param_4 * -3;" (assignment_expression "pfVar10 = pfVar10 + param_4 * -3" identifier = (binary_expression "pfVar10 + param_4 * -3" identifier + (binary_expression "param_4 * -3" identifier * number_literal))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar4 = param_2 + 1;" (assignment_expression "pfVar4 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0018bd70;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bd80:\n  pfVar4 = pfVar9;" statement_identifier : (expression_statement "pfVar4 = pfVar9;" (assignment_expression "pfVar4 = pfVar9" identifier = identifier) ;)) (expression_statement "pfVar5 = param_3 + param_4 * 3;" (assignment_expression "pfVar5 = param_3 + param_4 * 3" identifier = (binary_expression "param_3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;) (while_statement "while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "*pfVar5 = fVar17;" (assignment_expression "*pfVar5 = fVar17" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar5 + 1 == param_3 + param_4 * 4) break;" if (parenthesized_expression "(pfVar5 + 1 == param_3 + param_4 * 4)" ( (binary_expression "pfVar5 + 1 == param_3 + param_4 * 4" (binary_expression "pfVar5 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar4;" (assignment_expression "fVar17 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0018bdb0;" goto statement_identifier ;) (labeled_statement "LAB_0018bc00:\n  pfVar13 = pfVar5 + 1;" statement_identifier : (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;" if (parenthesized_expression "(*pfVar13 != *pfVar4)" ( (binary_expression "*pfVar13 != *pfVar4" (pointer_expression "*pfVar13" * identifier) != (pointer_expression "*pfVar4" * identifier)) )) (goto_statement "goto LAB_0018c1e8;" goto statement_identifier ;)) (goto_statement "goto LAB_0018bc14;" goto statement_identifier ;) (while_statement "while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }" while (parenthesized_expression "(pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5)" ( (comma_expression "pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar10 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar10 == *pfVar5" (pointer_expression "*pfVar10" * identifier) == (pointer_expression "*pfVar5" * identifier)))) )) (compound_statement "{\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }" { (labeled_statement "LAB_0018bce4:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018bcf4;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bcf4;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }" while (parenthesized_expression "(pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15)" ( (comma_expression "pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar5 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "fVar15 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) , (comma_expression "pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar10 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == fVar15" (pointer_expression "*pfVar5" * identifier) == identifier))))) )) (compound_statement "{\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }" { (labeled_statement "LAB_0018bd70:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (if_statement "if (param_4 == iVar8) goto LAB_0018bd80;" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (goto_statement "goto LAB_0018bd80;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;" statement_identifier : (expression_statement "pfVar5 = pfVar3 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar3 + param_4 * 2" identifier = (binary_expression "pfVar3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;)) (expression_statement "pfVar4 = param_3 + param_4 * 3;" (assignment_expression "pfVar4 = param_3 + param_4 * 3" identifier = (binary_expression "param_3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;) (while_statement "while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 4 == pfVar4 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 4 == pfVar4 + 1)" ( (binary_expression "param_3 + param_4 * 4 == pfVar4 + 1" (binary_expression "param_3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal)) == (binary_expression "pfVar4 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;" statement_identifier : (expression_statement "pfVar13 = pfVar3 + param_4 * 3;" (assignment_expression "pfVar13 = pfVar3 + param_4 * 3" identifier = (binary_expression "pfVar3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;)) (expression_statement "pfVar10 = param_3 + param_4 * 4;" (assignment_expression "pfVar10 = param_3 + param_4 * 4" identifier = (binary_expression "param_3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar13;" (assignment_expression "pfVar4 = pfVar13" identifier = identifier) ;) (expression_statement "pfVar5 = pfVar10;" (assignment_expression "pfVar5 = pfVar10" identifier = identifier) ;) (do_statement "do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);" do (compound_statement "{\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "fVar16 = *pfVar4;" (assignment_expression "fVar16 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar4 != param_2 + param_4 * 5)" ( (binary_expression "pfVar4 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) (expression_statement "fVar17 = *pfVar2;" (assignment_expression "fVar17 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "fVar16 = *pfVar9;" (assignment_expression "fVar16 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (if_statement "if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" if (parenthesized_expression "(fVar17 == *pfVar3)" ( (binary_expression "fVar17 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" { (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar14 = pfVar11 + param_4 * -4;" (assignment_expression "pfVar14 = pfVar11 + param_4 * -4" identifier = (binary_expression "pfVar11 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar14;" (assignment_expression "pfVar5 = pfVar14" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;" if (parenthesized_expression "(pfVar14[param_4 * 7] != fVar16)" ( (binary_expression "pfVar14[param_4 * 7] != fVar16" (subscript_expression "pfVar14[param_4 * 7]" identifier [ (binary_expression "param_4 * 7" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;)) (expression_statement "pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;" (assignment_expression "pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4" identifier = (binary_expression "pfVar14 + param_4 * 7 + param_4 * -4" (binary_expression "pfVar14 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal)) + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar11 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar11 = pfVar5 + param_4 * 4" identifier = (binary_expression "pfVar5 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_0018be6c;" goto statement_identifier ;) })) (expression_statement "pfVar1 = pfVar11 + 1;" (assignment_expression "pfVar1 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar1 == *pfVar5)" ( (binary_expression "*pfVar1 == *pfVar5" (pointer_expression "*pfVar1" * identifier) == (pointer_expression "*pfVar5" * identifier)) )) ;) })) (labeled_statement "LAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" statement_identifier : (if_statement "if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" if (parenthesized_expression "(fVar17 == *pfVar6)" ( (binary_expression "fVar17 == *pfVar6" identifier == (pointer_expression "*pfVar6" * identifier)) )) (compound_statement "{\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" { (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar14 = pfVar11 + param_4 * 2;" (assignment_expression "pfVar14 = pfVar11 + param_4 * 2" identifier = (binary_expression "pfVar11 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar14;" (assignment_expression "pfVar5 = pfVar14" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;" if (parenthesized_expression "(pfVar14[param_4 * -5] != fVar16)" ( (binary_expression "pfVar14[param_4 * -5] != fVar16" (subscript_expression "pfVar14[param_4 * -5]" identifier [ (binary_expression "param_4 * -5" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;)) (expression_statement "pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2" identifier = (binary_expression "pfVar14 + param_4 * -5 + param_4 * 2" (binary_expression "pfVar14 + param_4 * -5" identifier + (binary_expression "param_4 * -5" identifier * number_literal)) + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar11 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar11 = pfVar5 + param_4 * -2" identifier = (binary_expression "pfVar5 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bf04;" goto statement_identifier ;) })) (expression_statement "pfVar1 = pfVar11 + 1;" (assignment_expression "pfVar1 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar1 == *pfVar5)" ( (binary_expression "*pfVar1 == *pfVar5" (pointer_expression "*pfVar1" * identifier) == (pointer_expression "*pfVar5" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;" statement_identifier : (expression_statement "pfVar5 = pfVar10 + param_4;" (assignment_expression "pfVar5 = pfVar10 + param_4" identifier = (binary_expression "pfVar10 + param_4" identifier + identifier)) ;)) (expression_statement "pfVar11 = pfVar13;" (assignment_expression "pfVar11 = pfVar13" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 6 == pfVar5 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 6 == pfVar5 + 1)" ( (binary_expression "param_3 + param_4 * 6 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal)) == (binary_expression "pfVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar11;" (assignment_expression "fVar16 = *pfVar11" identifier = (pointer_expression "*pfVar11" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (goto_statement "goto LAB_0018bf44;" goto statement_identifier ;) (while_statement "while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }" while (parenthesized_expression "(pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11)" ( (comma_expression "pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar14 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (comma_expression "pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (binary_expression "*pfVar14 == *pfVar11" (pointer_expression "*pfVar14" * identifier) == (pointer_expression "*pfVar11" * identifier)))) )) (compound_statement "{\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }" { (labeled_statement "LAB_0018be6c:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018be7c;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018be7c;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;) (while_statement "while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }" while (parenthesized_expression "(pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11)" ( (comma_expression "pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar14 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (comma_expression "pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (binary_expression "*pfVar14 == *pfVar11" (pointer_expression "*pfVar14" * identifier) == (pointer_expression "*pfVar11" * identifier)))) )) (compound_statement "{\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }" { (labeled_statement "LAB_0018bf04:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018bf14;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bf14;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;" statement_identifier : (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;)) (expression_statement "pfVar5 = pfVar10 + param_4;" (assignment_expression "pfVar5 = pfVar10 + param_4" identifier = (binary_expression "pfVar10 + param_4" identifier + identifier)) ;) (while_statement "while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "*pfVar5 = fVar17;" (assignment_expression "*pfVar5 = fVar17" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 6 == pfVar5 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 6 == pfVar5 + 1)" ( (binary_expression "param_3 + param_4 * 6 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal)) == (binary_expression "pfVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar11;" (assignment_expression "fVar17 = *pfVar11" identifier = (pointer_expression "*pfVar11" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (labeled_statement "LAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;" statement_identifier : (expression_statement "pfVar5 = pfVar13 + -param_4;" (assignment_expression "pfVar5 = pfVar13 + -param_4" identifier = (binary_expression "pfVar13 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;)) (if_statement "if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }" if (parenthesized_expression "(*pfVar6 == fVar16)" ( (binary_expression "*pfVar6 == fVar16" (pointer_expression "*pfVar6" * identifier) == identifier) )) (compound_statement "{\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar14 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar14 = pfVar5 + param_4 * 4" identifier = (binary_expression "pfVar5 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar11 = pfVar14;" (assignment_expression "pfVar11 = pfVar14" identifier = identifier) ;) (labeled_statement "LAB_0018bf78:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 != iVar8) goto LAB_0018bf64;" if (parenthesized_expression "(param_4 != iVar8)" ( (binary_expression "param_4 != iVar8" identifier != identifier) )) (goto_statement "goto LAB_0018bf64;" goto statement_identifier ;)) (expression_statement "pfVar14 = pfVar14 + param_4 * -4;" (assignment_expression "pfVar14 = pfVar14 + param_4 * -4" identifier = (binary_expression "pfVar14 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar10 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar10 + param_4 * 2" identifier = (binary_expression "pfVar10 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (while_statement "while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar14 = pfVar14 + 1;" (assignment_expression "pfVar14 = pfVar14 + 1" identifier = (binary_expression "pfVar14 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 7 == pfVar5 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 7 == pfVar5 + 1)" ( (binary_expression "param_3 + param_4 * 7 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal)) == (binary_expression "pfVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar14;" (assignment_expression "fVar16 = *pfVar14" identifier = (pointer_expression "*pfVar14" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar6;" (assignment_expression "fVar16 = *pfVar6" identifier = (pointer_expression "*pfVar6" * identifier)) ;) (goto_statement "goto LAB_0018bfbc;" goto statement_identifier ;) })) (labeled_statement "LAB_0018c240:\n  pfVar5 = pfVar13;" statement_identifier : (expression_statement "pfVar5 = pfVar13;" (assignment_expression "pfVar5 = pfVar13" identifier = identifier) ;)) (expression_statement "pfVar11 = pfVar10 + param_4 * 2;" (assignment_expression "pfVar11 = pfVar10 + param_4 * 2" identifier = (binary_expression "pfVar10 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (do_statement "do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);" do (compound_statement "{\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  }" { (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar11 = fVar16;" (assignment_expression "*pfVar11 = fVar16" (pointer_expression "*pfVar11" * identifier) = identifier) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar4 != pfVar5)" ( (binary_expression "pfVar4 != pfVar5" identifier != identifier) )) ;) (expression_statement "fVar16 = *pfVar6;" (assignment_expression "fVar16 = *pfVar6" identifier = (pointer_expression "*pfVar6" * identifier)) ;) (labeled_statement "LAB_0018bfbc:\n  fVar17 = *pfVar9;" statement_identifier : (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;)) (if_statement "if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" if (parenthesized_expression "(*pfVar7 == fVar16)" ( (binary_expression "*pfVar7 == fVar16" (pointer_expression "*pfVar7" * identifier) == identifier) )) (compound_statement "{\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" { (expression_statement "pfVar9 = pfVar13 + -param_4;" (assignment_expression "pfVar9 = pfVar13 + -param_4" identifier = (binary_expression "pfVar13 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar5 = pfVar9 + param_4 * 4;" (assignment_expression "pfVar5 = pfVar9 + param_4 * 4" identifier = (binary_expression "pfVar9 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar7 = pfVar5;" (assignment_expression "pfVar7 = pfVar5" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }" { (expression_statement "pfVar7 = pfVar5 + param_4 + param_4 * -4;" (assignment_expression "pfVar7 = pfVar5 + param_4 + param_4 * -4" identifier = (binary_expression "pfVar5 + param_4 + param_4 * -4" (binary_expression "pfVar5 + param_4" identifier + identifier) + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (if_statement "if (pfVar5[param_4] != fVar17) goto LAB_0018c264;" if (parenthesized_expression "(pfVar5[param_4] != fVar17)" ( (binary_expression "pfVar5[param_4] != fVar17" (subscript_expression "pfVar5[param_4]" identifier [ identifier ]) != identifier) )) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar7 + param_4 * 4;" (assignment_expression "pfVar9 = pfVar7 + param_4 * 4" identifier = (binary_expression "pfVar7 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_0018c038;" goto statement_identifier ;) })) (expression_statement "pfVar11 = pfVar9 + 1;" (assignment_expression "pfVar11 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar11 == *pfVar7)" ( (binary_expression "*pfVar11 == *pfVar7" (pointer_expression "*pfVar11" * identifier) == (pointer_expression "*pfVar7" * identifier)) )) ;) })) (labeled_statement "LAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" statement_identifier : (if_statement "if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" if (parenthesized_expression "(*pfVar2 == fVar16)" ( (binary_expression "*pfVar2 == fVar16" (pointer_expression "*pfVar2" * identifier) == identifier) )) (compound_statement "{\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" { (expression_statement "pfVar9 = pfVar13 + param_4;" (assignment_expression "pfVar9 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar5 = pfVar9 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar9 + param_4 * 2" identifier = (binary_expression "pfVar9 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar7 = pfVar5;" (assignment_expression "pfVar7 = pfVar5" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }" { (expression_statement "pfVar7 = pfVar5 + -param_4 + param_4 * -2;" (assignment_expression "pfVar7 = pfVar5 + -param_4 + param_4 * -2" identifier = (binary_expression "pfVar5 + -param_4 + param_4 * -2" (binary_expression "pfVar5 + -param_4" identifier + (unary_expression "-param_4" - identifier)) + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (if_statement "if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;" if (parenthesized_expression "(pfVar5[-param_4] != fVar17)" ( (binary_expression "pfVar5[-param_4] != fVar17" (subscript_expression "pfVar5[-param_4]" identifier [ (unary_expression "-param_4" - identifier) ]) != identifier) )) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar7 + param_4 * 2;" (assignment_expression "pfVar9 = pfVar7 + param_4 * 2" identifier = (binary_expression "pfVar7 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018c0c4;" goto statement_identifier ;) })) (expression_statement "pfVar11 = pfVar9 + 1;" (assignment_expression "pfVar11 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar11 == *pfVar7)" ( (binary_expression "*pfVar11 == *pfVar7" (pointer_expression "*pfVar11" * identifier) == (pointer_expression "*pfVar7" * identifier)) )) ;) }))) (labeled_statement "LAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;" statement_identifier : (expression_statement "pfVar7 = param_3 + param_4 * 7;" (assignment_expression "pfVar7 = param_3 + param_4 * 7" identifier = (binary_expression "param_3 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal))) ;)) (expression_statement "pfVar9 = pfVar13;" (assignment_expression "pfVar9 = pfVar13" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" { (expression_statement "*pfVar7 = fVar17;" (assignment_expression "*pfVar7 = fVar17" (pointer_expression "*pfVar7" * identifier) = identifier) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 8 == pfVar7 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 8 == pfVar7 + 1)" ( (binary_expression "param_3 + param_4 * 8 == pfVar7 + 1" (binary_expression "param_3 + param_4 * 8" identifier + (binary_expression "param_4 * 8" identifier * number_literal)) == (binary_expression "pfVar7 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (goto_statement "goto LAB_0018c100;" goto statement_identifier ;) (labeled_statement "LAB_0018bf64:\n  pfVar1 = pfVar5 + 1;" statement_identifier : (expression_statement "pfVar1 = pfVar5 + 1;" (assignment_expression "pfVar1 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (*pfVar1 != *pfVar11) goto LAB_0018c240;" if (parenthesized_expression "(*pfVar1 != *pfVar11)" ( (binary_expression "*pfVar1 != *pfVar11" (pointer_expression "*pfVar1" * identifier) != (pointer_expression "*pfVar11" * identifier)) )) (goto_statement "goto LAB_0018c240;" goto statement_identifier ;)) (goto_statement "goto LAB_0018bf78;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }" while (parenthesized_expression "(pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9)" ( (comma_expression "pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar5 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (comma_expression "pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == *pfVar9" (pointer_expression "*pfVar5" * identifier) == (pointer_expression "*pfVar9" * identifier)))) )) (compound_statement "{\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }" { (labeled_statement "LAB_0018c038:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018c048;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018c048;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }" while (parenthesized_expression "(pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9)" ( (comma_expression "pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar5 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (comma_expression "pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == *pfVar9" (pointer_expression "*pfVar5" * identifier) == (pointer_expression "*pfVar9" * identifier)))) )) (compound_statement "{\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }" { (labeled_statement "LAB_0018c0c4:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018c0d4;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018c0d4;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;" statement_identifier : (expression_statement "pfVar7 = param_3 + param_4 * 7;" (assignment_expression "pfVar7 = param_3 + param_4 * 7" identifier = (binary_expression "param_3 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal))) ;)) (expression_statement "pfVar9 = pfVar6;" (assignment_expression "pfVar9 = pfVar6" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" { (expression_statement "*pfVar7 = fVar16;" (assignment_expression "*pfVar7 = fVar16" (pointer_expression "*pfVar7" * identifier) = identifier) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 8 == pfVar7 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 8 == pfVar7 + 1)" ( (binary_expression "param_3 + param_4 * 8 == pfVar7 + 1" (binary_expression "param_3 + param_4 * 8" identifier + (binary_expression "param_4 * 8" identifier * number_literal)) == (binary_expression "pfVar7 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar9;" (assignment_expression "fVar16 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (labeled_statement "LAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;" statement_identifier : (expression_statement "pfVar3 = pfVar3 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar3 + param_4 * 4" identifier = (binary_expression "pfVar3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;)) (if_statement "if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }" if (parenthesized_expression "(*pfVar6 == fVar16)" ( (binary_expression "*pfVar6 == fVar16" (pointer_expression "*pfVar6" * identifier) == identifier) )) (compound_statement "{\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar2 = pfVar3 + param_4 * 2;" (assignment_expression "pfVar2 = pfVar3 + param_4 * 2" identifier = (binary_expression "pfVar3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar6 = pfVar2;" (assignment_expression "pfVar6 = pfVar2" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" identifier = (binary_expression "pfVar6 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }" { (expression_statement "pfVar2 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar2 = pfVar2 + param_4 * -2" identifier = (binary_expression "pfVar2 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar3 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar10 + param_4 * 4" identifier = (binary_expression "pfVar10 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (while_statement "while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }" { (expression_statement "*pfVar3 = fVar16;" (assignment_expression "*pfVar3 = fVar16" (pointer_expression "*pfVar3" * identifier) = identifier) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar3 + 1 == param_3 + param_4 * 9) break;" if (parenthesized_expression "(pfVar3 + 1 == param_3 + param_4 * 9)" ( (binary_expression "pfVar3 + 1 == param_3 + param_4 * 9" (binary_expression "pfVar3 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 9" identifier + (binary_expression "param_4 * 9" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) })) (return_statement "return;" return ;) })) (expression_statement "pfVar7 = pfVar3 + 1;" (assignment_expression "pfVar7 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar7 == *pfVar6)" ( (binary_expression "*pfVar7 == *pfVar6" (pointer_expression "*pfVar7" * identifier) == (pointer_expression "*pfVar6" * identifier)) )) ;) })) (expression_statement "pfVar3 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar10 + param_4 * 4" identifier = (binary_expression "pfVar10 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (do_statement "do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);" do (compound_statement "{\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  }" { (expression_statement "fVar16 = *pfVar13;" (assignment_expression "fVar16 = *pfVar13" identifier = (pointer_expression "*pfVar13" * identifier)) ;) (expression_statement "pfVar13 = pfVar13 + 1;" (assignment_expression "pfVar13 = pfVar13 + 1" identifier = (binary_expression "pfVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar3 = fVar16;" (assignment_expression "*pfVar3 = fVar16" (pointer_expression "*pfVar3" * identifier) = identifier) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar4 != pfVar13)" ( (binary_expression "pfVar4 != pfVar13" identifier != identifier) )) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n\nvoid Scale3X(Image *source,Quantum *pixels,Quantum *result,size_t channels)\n\n{\n  Quantum *pQVar1;\n  Quantum *pQVar2;\n  Quantum *pQVar3;\n  Quantum *pQVar4;\n  Quantum *pQVar5;\n  Quantum *pQVar6;\n  Quantum *pQVar7;\n  size_t sVar8;\n  Quantum *pQVar9;\n  int iVar10;\n  Quantum *pQVar11;\n  Quantum *pQVar12;\n  size_t sVar13;\n  Quantum *pQVar14;\n  Quantum *pQVar15;\n  float fVar16;\n  Quantum QVar17;\n  Quantum QVar18;\n  \n  if ((int)channels < 1) {\n    iVar10 = 9;\n    do {\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    } while (iVar10 != 0);\n    return;\n  }\n  pQVar3 = pixels + channels;\n  pQVar6 = pQVar3 + channels * 6;\n  if (*pQVar3 == *pQVar6) {\n    sVar8 = 0;\n    pQVar2 = pQVar6 + channels * -6;\n    pQVar7 = pQVar2 + channels * 6;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    } while (*pQVar7 == *pQVar9);\n  }\n  pQVar7 = pQVar6 + channels * -4;\n  pQVar2 = pQVar7 + channels * 2;\n  QVar17 = *pQVar7;\n  if (QVar17 == *pQVar2) {\n    pQVar9 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar4 = pQVar9 + channels * 2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar5 == *pQVar4);\n  }\n  if (QVar17 == *pQVar3) {\n    pQVar4 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar5 = pQVar4 + channels * -2;\n    pQVar9 = pQVar5;\nLAB_0018ba38:\n    sVar8 = sVar8 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (channels != sVar8) goto LAB_0018ba24;\n    pQVar5 = pQVar5 + channels * 2;\n    pQVar9 = result;\n    while( true ) {\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }\n    QVar17 = *pQVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pQVar4 = pQVar2 + -channels;\n  pQVar9 = result;\n  do {\n    QVar17 = *pQVar4;\n    pQVar5 = pQVar9 + 1;\n    pQVar4 = pQVar4 + 1;\n    *pQVar9 = QVar17;\n    pQVar9 = pQVar5;\n  } while (pQVar5 != result + channels);\n  QVar17 = *pQVar3;\nLAB_0018ba74:\n  pQVar9 = pQVar2 + -channels;\n  QVar18 = *pQVar9;\n  if (*pQVar7 == QVar17) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bb28:\n  if (*pQVar2 == QVar17) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bbb4:\n  pQVar4 = result + channels;\n  pQVar5 = pQVar9;\n  while( true ) {\n    *pQVar4 = QVar18;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar18 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\n  QVar17 = *pQVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pQVar11 = pQVar4 + 1;\n  pQVar4 = pQVar4 + 1;\n  if (*pQVar11 != *pQVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bb18:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bba4:\n    sVar13 = sVar13 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pQVar5 = pQVar9 + channels * -3;\n  pQVar4 = result + channels;\n  while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\n  QVar17 = *pQVar2;\nLAB_0018bbdc:\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\nLAB_0018bc14:\n    sVar8 = sVar8 + 1;\n    pQVar4 = pQVar4 + 1;\n    if (channels != sVar8) goto LAB_0018bc00;\n    pQVar11 = pQVar11 + channels * 4;\n    pQVar4 = result + channels * 2;\n    while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }\n    QVar17 = *pQVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pQVar4 = result + channels * 2;\n  pQVar5 = pQVar9;\n  do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar4 = QVar17;\n    pQVar4 = pQVar4 + 1;\n  } while (pQVar5 != pixels + channels * 5);\n  QVar17 = *pQVar7;\nLAB_0018bc50:\n  QVar18 = *pQVar9;\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bcf4:\n  if (QVar17 == *pQVar6) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * 4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bd80:\n  pQVar4 = pQVar9;\n  pQVar5 = result + channels * 3;\n  while( true ) {\n    *pQVar5 = QVar18;\n    pQVar4 = pQVar4 + 1;\n    if (pQVar5 + 1 == result + channels * 4) break;\n    QVar18 = *pQVar4;\n    pQVar5 = pQVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pQVar14 = pQVar5 + 1;\n  pQVar5 = pQVar5 + 1;\n  if (*pQVar14 != *pQVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bce4:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bd70:\n    sVar8 = sVar8 + 1;\n    if (channels == sVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pQVar5 = pQVar3 + channels * 2;\n  pQVar4 = result + channels * 3;\n  while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (result + channels * 4 == pQVar4 + 1) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\nLAB_0018bdb0:\n  pQVar14 = pQVar3 + channels * 3;\n  pQVar11 = result + channels * 4;\n  pQVar4 = pQVar14;\n  pQVar5 = pQVar11;\n  do {\n    QVar17 = *pQVar4;\n    pQVar4 = pQVar4 + 1;\n    *pQVar5 = QVar17;\n    pQVar5 = pQVar5 + 1;\n  } while (pQVar4 != pixels + channels * 5);\n  QVar18 = *pQVar2;\n  QVar17 = *pQVar9;\n  if (QVar18 == *pQVar3) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * -4;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }\nLAB_0018be7c:\n  if (QVar18 == *pQVar6) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * 2;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }\nLAB_0018bf14:\n  pQVar5 = pQVar11 + channels;\n  pQVar12 = pQVar14;\n  while( true ) {\n    *pQVar5 = QVar17;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar17 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }\n  QVar17 = *pQVar7;\n  goto LAB_0018bf44;\n  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018be6c:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018bf04:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pQVar12 = pQVar14 + channels;\n  pQVar5 = pQVar11 + channels;\n  while( true ) {\n    *pQVar5 = QVar18;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar18 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }\n  QVar17 = *pQVar7;\nLAB_0018bf44:\n  pQVar5 = pQVar14 + -channels;\n  if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar15 = pQVar5 + channels * 4;\n    pQVar12 = pQVar15;\nLAB_0018bf78:\n    sVar8 = sVar8 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (channels != sVar8) goto LAB_0018bf64;\n    pQVar15 = pQVar15 + channels * -4;\n    pQVar5 = pQVar11 + channels * 2;\n    while( true ) {\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }\n    QVar17 = *pQVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pQVar5 = pQVar14;\n  pQVar12 = pQVar11 + channels * 2;\n  do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar12 = QVar17;\n    pQVar12 = pQVar12 + 1;\n  } while (pQVar4 != pQVar5);\n  QVar17 = *pQVar6;\nLAB_0018bfbc:\n  QVar18 = *pQVar9;\n  if (*pQVar7 == QVar17) {\n    pQVar9 = pQVar14 + -channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 4;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }\nLAB_0018c048:\n  if (*pQVar2 == QVar17) {\n    pQVar9 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 2;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }\nLAB_0018c0d4:\n  pQVar7 = result + channels * 7;\n  pQVar9 = pQVar14;\n  while( true ) {\n    *pQVar7 = QVar18;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar18 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }\n  QVar17 = *pQVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pQVar1 = pQVar5 + 1;\n  pQVar5 = pQVar5 + 1;\n  if (*pQVar1 != *pQVar12) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c038:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c0c4:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pQVar7 = result + channels * 7;\n  pQVar9 = pQVar6;\n  while( true ) {\n    *pQVar7 = QVar17;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar17 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }\n  QVar17 = *pQVar2;\nLAB_0018c100:\n  pQVar3 = pQVar3 + channels * 4;\n  if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar2 = pQVar3 + channels * 2;\n    pQVar6 = pQVar2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    } while (*pQVar7 == *pQVar6);\n  }\n  pQVar3 = pQVar11 + channels * 4;\n  do {\n    QVar17 = *pQVar14;\n    pQVar14 = pQVar14 + 1;\n    *pQVar3 = QVar17;\n    pQVar3 = pQVar3 + 1;\n  } while (pQVar4 != pQVar14);\n  return;\n}\n\n" comment comment comment comment (function_definition "void Scale3X(Image *source,Quantum *pixels,Quantum *result,size_t channels)\n\n{\n  Quantum *pQVar1;\n  Quantum *pQVar2;\n  Quantum *pQVar3;\n  Quantum *pQVar4;\n  Quantum *pQVar5;\n  Quantum *pQVar6;\n  Quantum *pQVar7;\n  size_t sVar8;\n  Quantum *pQVar9;\n  int iVar10;\n  Quantum *pQVar11;\n  Quantum *pQVar12;\n  size_t sVar13;\n  Quantum *pQVar14;\n  Quantum *pQVar15;\n  float fVar16;\n  Quantum QVar17;\n  Quantum QVar18;\n  \n  if ((int)channels < 1) {\n    iVar10 = 9;\n    do {\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    } while (iVar10 != 0);\n    return;\n  }\n  pQVar3 = pixels + channels;\n  pQVar6 = pQVar3 + channels * 6;\n  if (*pQVar3 == *pQVar6) {\n    sVar8 = 0;\n    pQVar2 = pQVar6 + channels * -6;\n    pQVar7 = pQVar2 + channels * 6;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    } while (*pQVar7 == *pQVar9);\n  }\n  pQVar7 = pQVar6 + channels * -4;\n  pQVar2 = pQVar7 + channels * 2;\n  QVar17 = *pQVar7;\n  if (QVar17 == *pQVar2) {\n    pQVar9 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar4 = pQVar9 + channels * 2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar5 == *pQVar4);\n  }\n  if (QVar17 == *pQVar3) {\n    pQVar4 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar5 = pQVar4 + channels * -2;\n    pQVar9 = pQVar5;\nLAB_0018ba38:\n    sVar8 = sVar8 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (channels != sVar8) goto LAB_0018ba24;\n    pQVar5 = pQVar5 + channels * 2;\n    pQVar9 = result;\n    while( true ) {\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }\n    QVar17 = *pQVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pQVar4 = pQVar2 + -channels;\n  pQVar9 = result;\n  do {\n    QVar17 = *pQVar4;\n    pQVar5 = pQVar9 + 1;\n    pQVar4 = pQVar4 + 1;\n    *pQVar9 = QVar17;\n    pQVar9 = pQVar5;\n  } while (pQVar5 != result + channels);\n  QVar17 = *pQVar3;\nLAB_0018ba74:\n  pQVar9 = pQVar2 + -channels;\n  QVar18 = *pQVar9;\n  if (*pQVar7 == QVar17) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bb28:\n  if (*pQVar2 == QVar17) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bbb4:\n  pQVar4 = result + channels;\n  pQVar5 = pQVar9;\n  while( true ) {\n    *pQVar4 = QVar18;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar18 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\n  QVar17 = *pQVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pQVar11 = pQVar4 + 1;\n  pQVar4 = pQVar4 + 1;\n  if (*pQVar11 != *pQVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bb18:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bba4:\n    sVar13 = sVar13 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pQVar5 = pQVar9 + channels * -3;\n  pQVar4 = result + channels;\n  while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\n  QVar17 = *pQVar2;\nLAB_0018bbdc:\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\nLAB_0018bc14:\n    sVar8 = sVar8 + 1;\n    pQVar4 = pQVar4 + 1;\n    if (channels != sVar8) goto LAB_0018bc00;\n    pQVar11 = pQVar11 + channels * 4;\n    pQVar4 = result + channels * 2;\n    while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }\n    QVar17 = *pQVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pQVar4 = result + channels * 2;\n  pQVar5 = pQVar9;\n  do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar4 = QVar17;\n    pQVar4 = pQVar4 + 1;\n  } while (pQVar5 != pixels + channels * 5);\n  QVar17 = *pQVar7;\nLAB_0018bc50:\n  QVar18 = *pQVar9;\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bcf4:\n  if (QVar17 == *pQVar6) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * 4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bd80:\n  pQVar4 = pQVar9;\n  pQVar5 = result + channels * 3;\n  while( true ) {\n    *pQVar5 = QVar18;\n    pQVar4 = pQVar4 + 1;\n    if (pQVar5 + 1 == result + channels * 4) break;\n    QVar18 = *pQVar4;\n    pQVar5 = pQVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pQVar14 = pQVar5 + 1;\n  pQVar5 = pQVar5 + 1;\n  if (*pQVar14 != *pQVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bce4:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bd70:\n    sVar8 = sVar8 + 1;\n    if (channels == sVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pQVar5 = pQVar3 + channels * 2;\n  pQVar4 = result + channels * 3;\n  while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (result + channels * 4 == pQVar4 + 1) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\nLAB_0018bdb0:\n  pQVar14 = pQVar3 + channels * 3;\n  pQVar11 = result + channels * 4;\n  pQVar4 = pQVar14;\n  pQVar5 = pQVar11;\n  do {\n    QVar17 = *pQVar4;\n    pQVar4 = pQVar4 + 1;\n    *pQVar5 = QVar17;\n    pQVar5 = pQVar5 + 1;\n  } while (pQVar4 != pixels + channels * 5);\n  QVar18 = *pQVar2;\n  QVar17 = *pQVar9;\n  if (QVar18 == *pQVar3) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * -4;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }\nLAB_0018be7c:\n  if (QVar18 == *pQVar6) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * 2;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }\nLAB_0018bf14:\n  pQVar5 = pQVar11 + channels;\n  pQVar12 = pQVar14;\n  while( true ) {\n    *pQVar5 = QVar17;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar17 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }\n  QVar17 = *pQVar7;\n  goto LAB_0018bf44;\n  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018be6c:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018bf04:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pQVar12 = pQVar14 + channels;\n  pQVar5 = pQVar11 + channels;\n  while( true ) {\n    *pQVar5 = QVar18;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar18 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }\n  QVar17 = *pQVar7;\nLAB_0018bf44:\n  pQVar5 = pQVar14 + -channels;\n  if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar15 = pQVar5 + channels * 4;\n    pQVar12 = pQVar15;\nLAB_0018bf78:\n    sVar8 = sVar8 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (channels != sVar8) goto LAB_0018bf64;\n    pQVar15 = pQVar15 + channels * -4;\n    pQVar5 = pQVar11 + channels * 2;\n    while( true ) {\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }\n    QVar17 = *pQVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pQVar5 = pQVar14;\n  pQVar12 = pQVar11 + channels * 2;\n  do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar12 = QVar17;\n    pQVar12 = pQVar12 + 1;\n  } while (pQVar4 != pQVar5);\n  QVar17 = *pQVar6;\nLAB_0018bfbc:\n  QVar18 = *pQVar9;\n  if (*pQVar7 == QVar17) {\n    pQVar9 = pQVar14 + -channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 4;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }\nLAB_0018c048:\n  if (*pQVar2 == QVar17) {\n    pQVar9 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 2;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }\nLAB_0018c0d4:\n  pQVar7 = result + channels * 7;\n  pQVar9 = pQVar14;\n  while( true ) {\n    *pQVar7 = QVar18;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar18 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }\n  QVar17 = *pQVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pQVar1 = pQVar5 + 1;\n  pQVar5 = pQVar5 + 1;\n  if (*pQVar1 != *pQVar12) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c038:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c0c4:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pQVar7 = result + channels * 7;\n  pQVar9 = pQVar6;\n  while( true ) {\n    *pQVar7 = QVar17;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar17 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }\n  QVar17 = *pQVar2;\nLAB_0018c100:\n  pQVar3 = pQVar3 + channels * 4;\n  if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar2 = pQVar3 + channels * 2;\n    pQVar6 = pQVar2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    } while (*pQVar7 == *pQVar6);\n  }\n  pQVar3 = pQVar11 + channels * 4;\n  do {\n    QVar17 = *pQVar14;\n    pQVar14 = pQVar14 + 1;\n    *pQVar3 = QVar17;\n    pQVar3 = pQVar3 + 1;\n  } while (pQVar4 != pQVar14);\n  return;\n}" primitive_type (function_declarator "Scale3X(Image *source,Quantum *pixels,Quantum *result,size_t channels)" identifier (parameter_list "(Image *source,Quantum *pixels,Quantum *result,size_t channels)" ( (parameter_declaration "Image *source" type_identifier (pointer_declarator "*source" * identifier)) , (parameter_declaration "Quantum *pixels" type_identifier (pointer_declarator "*pixels" * identifier)) , (parameter_declaration "Quantum *result" type_identifier (pointer_declarator "*result" * identifier)) , (parameter_declaration "size_t channels" primitive_type identifier) ))) (compound_statement "{\n  Quantum *pQVar1;\n  Quantum *pQVar2;\n  Quantum *pQVar3;\n  Quantum *pQVar4;\n  Quantum *pQVar5;\n  Quantum *pQVar6;\n  Quantum *pQVar7;\n  size_t sVar8;\n  Quantum *pQVar9;\n  int iVar10;\n  Quantum *pQVar11;\n  Quantum *pQVar12;\n  size_t sVar13;\n  Quantum *pQVar14;\n  Quantum *pQVar15;\n  float fVar16;\n  Quantum QVar17;\n  Quantum QVar18;\n  \n  if ((int)channels < 1) {\n    iVar10 = 9;\n    do {\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    } while (iVar10 != 0);\n    return;\n  }\n  pQVar3 = pixels + channels;\n  pQVar6 = pQVar3 + channels * 6;\n  if (*pQVar3 == *pQVar6) {\n    sVar8 = 0;\n    pQVar2 = pQVar6 + channels * -6;\n    pQVar7 = pQVar2 + channels * 6;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    } while (*pQVar7 == *pQVar9);\n  }\n  pQVar7 = pQVar6 + channels * -4;\n  pQVar2 = pQVar7 + channels * 2;\n  QVar17 = *pQVar7;\n  if (QVar17 == *pQVar2) {\n    pQVar9 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar4 = pQVar9 + channels * 2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar5 == *pQVar4);\n  }\n  if (QVar17 == *pQVar3) {\n    pQVar4 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar5 = pQVar4 + channels * -2;\n    pQVar9 = pQVar5;\nLAB_0018ba38:\n    sVar8 = sVar8 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (channels != sVar8) goto LAB_0018ba24;\n    pQVar5 = pQVar5 + channels * 2;\n    pQVar9 = result;\n    while( true ) {\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }\n    QVar17 = *pQVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pQVar4 = pQVar2 + -channels;\n  pQVar9 = result;\n  do {\n    QVar17 = *pQVar4;\n    pQVar5 = pQVar9 + 1;\n    pQVar4 = pQVar4 + 1;\n    *pQVar9 = QVar17;\n    pQVar9 = pQVar5;\n  } while (pQVar5 != result + channels);\n  QVar17 = *pQVar3;\nLAB_0018ba74:\n  pQVar9 = pQVar2 + -channels;\n  QVar18 = *pQVar9;\n  if (*pQVar7 == QVar17) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bb28:\n  if (*pQVar2 == QVar17) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bbb4:\n  pQVar4 = result + channels;\n  pQVar5 = pQVar9;\n  while( true ) {\n    *pQVar4 = QVar18;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar18 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\n  QVar17 = *pQVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pQVar11 = pQVar4 + 1;\n  pQVar4 = pQVar4 + 1;\n  if (*pQVar11 != *pQVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bb18:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bba4:\n    sVar13 = sVar13 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pQVar5 = pQVar9 + channels * -3;\n  pQVar4 = result + channels;\n  while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\n  QVar17 = *pQVar2;\nLAB_0018bbdc:\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\nLAB_0018bc14:\n    sVar8 = sVar8 + 1;\n    pQVar4 = pQVar4 + 1;\n    if (channels != sVar8) goto LAB_0018bc00;\n    pQVar11 = pQVar11 + channels * 4;\n    pQVar4 = result + channels * 2;\n    while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }\n    QVar17 = *pQVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pQVar4 = result + channels * 2;\n  pQVar5 = pQVar9;\n  do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar4 = QVar17;\n    pQVar4 = pQVar4 + 1;\n  } while (pQVar5 != pixels + channels * 5);\n  QVar17 = *pQVar7;\nLAB_0018bc50:\n  QVar18 = *pQVar9;\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bcf4:\n  if (QVar17 == *pQVar6) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * 4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }\nLAB_0018bd80:\n  pQVar4 = pQVar9;\n  pQVar5 = result + channels * 3;\n  while( true ) {\n    *pQVar5 = QVar18;\n    pQVar4 = pQVar4 + 1;\n    if (pQVar5 + 1 == result + channels * 4) break;\n    QVar18 = *pQVar4;\n    pQVar5 = pQVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pQVar14 = pQVar5 + 1;\n  pQVar5 = pQVar5 + 1;\n  if (*pQVar14 != *pQVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bce4:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bd70:\n    sVar8 = sVar8 + 1;\n    if (channels == sVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pQVar5 = pQVar3 + channels * 2;\n  pQVar4 = result + channels * 3;\n  while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (result + channels * 4 == pQVar4 + 1) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }\nLAB_0018bdb0:\n  pQVar14 = pQVar3 + channels * 3;\n  pQVar11 = result + channels * 4;\n  pQVar4 = pQVar14;\n  pQVar5 = pQVar11;\n  do {\n    QVar17 = *pQVar4;\n    pQVar4 = pQVar4 + 1;\n    *pQVar5 = QVar17;\n    pQVar5 = pQVar5 + 1;\n  } while (pQVar4 != pixels + channels * 5);\n  QVar18 = *pQVar2;\n  QVar17 = *pQVar9;\n  if (QVar18 == *pQVar3) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * -4;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }\nLAB_0018be7c:\n  if (QVar18 == *pQVar6) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * 2;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }\nLAB_0018bf14:\n  pQVar5 = pQVar11 + channels;\n  pQVar12 = pQVar14;\n  while( true ) {\n    *pQVar5 = QVar17;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar17 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }\n  QVar17 = *pQVar7;\n  goto LAB_0018bf44;\n  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018be6c:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018bf04:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pQVar12 = pQVar14 + channels;\n  pQVar5 = pQVar11 + channels;\n  while( true ) {\n    *pQVar5 = QVar18;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar18 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }\n  QVar17 = *pQVar7;\nLAB_0018bf44:\n  pQVar5 = pQVar14 + -channels;\n  if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar15 = pQVar5 + channels * 4;\n    pQVar12 = pQVar15;\nLAB_0018bf78:\n    sVar8 = sVar8 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (channels != sVar8) goto LAB_0018bf64;\n    pQVar15 = pQVar15 + channels * -4;\n    pQVar5 = pQVar11 + channels * 2;\n    while( true ) {\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }\n    QVar17 = *pQVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pQVar5 = pQVar14;\n  pQVar12 = pQVar11 + channels * 2;\n  do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar12 = QVar17;\n    pQVar12 = pQVar12 + 1;\n  } while (pQVar4 != pQVar5);\n  QVar17 = *pQVar6;\nLAB_0018bfbc:\n  QVar18 = *pQVar9;\n  if (*pQVar7 == QVar17) {\n    pQVar9 = pQVar14 + -channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 4;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }\nLAB_0018c048:\n  if (*pQVar2 == QVar17) {\n    pQVar9 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 2;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }\nLAB_0018c0d4:\n  pQVar7 = result + channels * 7;\n  pQVar9 = pQVar14;\n  while( true ) {\n    *pQVar7 = QVar18;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar18 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }\n  QVar17 = *pQVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pQVar1 = pQVar5 + 1;\n  pQVar5 = pQVar5 + 1;\n  if (*pQVar1 != *pQVar12) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c038:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c0c4:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pQVar7 = result + channels * 7;\n  pQVar9 = pQVar6;\n  while( true ) {\n    *pQVar7 = QVar17;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar17 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }\n  QVar17 = *pQVar2;\nLAB_0018c100:\n  pQVar3 = pQVar3 + channels * 4;\n  if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar2 = pQVar3 + channels * 2;\n    pQVar6 = pQVar2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    } while (*pQVar7 == *pQVar6);\n  }\n  pQVar3 = pQVar11 + channels * 4;\n  do {\n    QVar17 = *pQVar14;\n    pQVar14 = pQVar14 + 1;\n    *pQVar3 = QVar17;\n    pQVar3 = pQVar3 + 1;\n  } while (pQVar4 != pQVar14);\n  return;\n}" { (declaration "Quantum *pQVar1;" type_identifier (pointer_declarator "*pQVar1" * identifier) ;) (declaration "Quantum *pQVar2;" type_identifier (pointer_declarator "*pQVar2" * identifier) ;) (declaration "Quantum *pQVar3;" type_identifier (pointer_declarator "*pQVar3" * identifier) ;) (declaration "Quantum *pQVar4;" type_identifier (pointer_declarator "*pQVar4" * identifier) ;) (declaration "Quantum *pQVar5;" type_identifier (pointer_declarator "*pQVar5" * identifier) ;) (declaration "Quantum *pQVar6;" type_identifier (pointer_declarator "*pQVar6" * identifier) ;) (declaration "Quantum *pQVar7;" type_identifier (pointer_declarator "*pQVar7" * identifier) ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "Quantum *pQVar9;" type_identifier (pointer_declarator "*pQVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Quantum *pQVar11;" type_identifier (pointer_declarator "*pQVar11" * identifier) ;) (declaration "Quantum *pQVar12;" type_identifier (pointer_declarator "*pQVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "Quantum *pQVar14;" type_identifier (pointer_declarator "*pQVar14" * identifier) ;) (declaration "Quantum *pQVar15;" type_identifier (pointer_declarator "*pQVar15" * identifier) ;) (declaration "float fVar16;" primitive_type identifier ;) (declaration "Quantum QVar17;" type_identifier identifier ;) (declaration "Quantum QVar18;" type_identifier identifier ;) (if_statement "if ((int)channels < 1) {\n    iVar10 = 9;\n    do {\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    } while (iVar10 != 0);\n    return;\n  }" if (parenthesized_expression "((int)channels < 1)" ( (binary_expression "(int)channels < 1" (cast_expression "(int)channels" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar10 = 9;\n    do {\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    } while (iVar10 != 0);\n    return;\n  }" { (expression_statement "iVar10 = 9;" (assignment_expression "iVar10 = 9" identifier = number_literal) ;) (do_statement "do {\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    } while (iVar10 != 0);" do (compound_statement "{\n      pQVar3 = pixels + channels * 4;\n      pQVar6 = result;\n      if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }\n      iVar10 = iVar10 + -1;\n      result = result + channels;\n    }" { (expression_statement "pQVar3 = pixels + channels * 4;" (assignment_expression "pQVar3 = pixels + channels * 4" identifier = (binary_expression "pixels + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar6 = result;" (assignment_expression "pQVar6 = result" identifier = identifier) ;) (if_statement "if (0 < (int)channels) {\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }" if (parenthesized_expression "(0 < (int)channels)" ( (binary_expression "0 < (int)channels" number_literal < (cast_expression "(int)channels" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);\n      }" { (do_statement "do {\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        } while (pQVar2 != pixels + channels * 5);" do (compound_statement "{\n          pQVar2 = pQVar3 + 1;\n          *pQVar6 = *pQVar3;\n          pQVar3 = pQVar2;\n          pQVar6 = pQVar6 + 1;\n        }" { (expression_statement "pQVar2 = pQVar3 + 1;" (assignment_expression "pQVar2 = pQVar3 + 1" identifier = (binary_expression "pQVar3 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar6 = *pQVar3;" (assignment_expression "*pQVar6 = *pQVar3" (pointer_expression "*pQVar6" * identifier) = (pointer_expression "*pQVar3" * identifier)) ;) (expression_statement "pQVar3 = pQVar2;" (assignment_expression "pQVar3 = pQVar2" identifier = identifier) ;) (expression_statement "pQVar6 = pQVar6 + 1;" (assignment_expression "pQVar6 = pQVar6 + 1" identifier = (binary_expression "pQVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pQVar2 != pixels + channels * 5)" ( (binary_expression "pQVar2 != pixels + channels * 5" identifier != (binary_expression "pixels + channels * 5" identifier + (binary_expression "channels * 5" identifier * number_literal))) )) ;) })) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "result = result + channels;" (assignment_expression "result = result + channels" identifier = (binary_expression "result + channels" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) (return_statement "return;" return ;) })) (expression_statement "pQVar3 = pixels + channels;" (assignment_expression "pQVar3 = pixels + channels" identifier = (binary_expression "pixels + channels" identifier + identifier)) ;) (expression_statement "pQVar6 = pQVar3 + channels * 6;" (assignment_expression "pQVar6 = pQVar3 + channels * 6" identifier = (binary_expression "pQVar3 + channels * 6" identifier + (binary_expression "channels * 6" identifier * number_literal))) ;) (if_statement "if (*pQVar3 == *pQVar6) {\n    sVar8 = 0;\n    pQVar2 = pQVar6 + channels * -6;\n    pQVar7 = pQVar2 + channels * 6;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    } while (*pQVar7 == *pQVar9);\n  }" if (parenthesized_expression "(*pQVar3 == *pQVar6)" ( (binary_expression "*pQVar3 == *pQVar6" (pointer_expression "*pQVar3" * identifier) == (pointer_expression "*pQVar6" * identifier)) )) (compound_statement "{\n    sVar8 = 0;\n    pQVar2 = pQVar6 + channels * -6;\n    pQVar7 = pQVar2 + channels * 6;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    } while (*pQVar7 == *pQVar9);\n  }" { (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar2 = pQVar6 + channels * -6;" (assignment_expression "pQVar2 = pQVar6 + channels * -6" identifier = (binary_expression "pQVar6 + channels * -6" identifier + (binary_expression "channels * -6" identifier * number_literal))) ;) (expression_statement "pQVar7 = pQVar2 + channels * 6;" (assignment_expression "pQVar7 = pQVar2 + channels * 6" identifier = (binary_expression "pQVar2 + channels * 6" identifier + (binary_expression "channels * 6" identifier * number_literal))) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    } while (*pQVar7 == *pQVar9);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (sVar8 == channels) goto LAB_0018b928;\n      pQVar9 = pQVar2 + 1;\n      pQVar2 = pQVar2 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar7 = pQVar7 + 1;" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == channels) goto LAB_0018b928;" if (parenthesized_expression "(sVar8 == channels)" ( (binary_expression "sVar8 == channels" identifier == identifier) )) (goto_statement "goto LAB_0018b928;" goto statement_identifier ;)) (expression_statement "pQVar9 = pQVar2 + 1;" (assignment_expression "pQVar9 = pQVar2 + 1" identifier = (binary_expression "pQVar2 + 1" identifier + number_literal)) ;) (expression_statement "pQVar2 = pQVar2 + 1;" (assignment_expression "pQVar2 = pQVar2 + 1" identifier = (binary_expression "pQVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar7 == *pQVar9)" ( (binary_expression "*pQVar7 == *pQVar9" (pointer_expression "*pQVar7" * identifier) == (pointer_expression "*pQVar9" * identifier)) )) ;) })) (expression_statement "pQVar7 = pQVar6 + channels * -4;" (assignment_expression "pQVar7 = pQVar6 + channels * -4" identifier = (binary_expression "pQVar6 + channels * -4" identifier + (binary_expression "channels * -4" identifier * number_literal))) ;) (expression_statement "pQVar2 = pQVar7 + channels * 2;" (assignment_expression "pQVar2 = pQVar7 + channels * 2" identifier = (binary_expression "pQVar7 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "QVar17 = *pQVar7;" (assignment_expression "QVar17 = *pQVar7" identifier = (pointer_expression "*pQVar7" * identifier)) ;) (if_statement "if (QVar17 == *pQVar2) {\n    pQVar9 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar4 = pQVar9 + channels * 2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar5 == *pQVar4);\n  }" if (parenthesized_expression "(QVar17 == *pQVar2)" ( (binary_expression "QVar17 == *pQVar2" identifier == (pointer_expression "*pQVar2" * identifier)) )) (compound_statement "{\n    pQVar9 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar4 = pQVar9 + channels * 2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar5 == *pQVar4);\n  }" { (expression_statement "pQVar9 = pQVar2 + channels * -2;" (assignment_expression "pQVar9 = pQVar2 + channels * -2" identifier = (binary_expression "pQVar2 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar4 = pQVar9 + channels * 2;" (assignment_expression "pQVar4 = pQVar9 + channels * 2" identifier = (binary_expression "pQVar9 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar5 == *pQVar4);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }\n      pQVar5 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\nLAB_0018b928:\n        iVar10 = 9;\n        do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);\n        return;\n      }" { (labeled_statement "LAB_0018b928:\n        iVar10 = 9;" statement_identifier : (expression_statement "iVar10 = 9;" (assignment_expression "iVar10 = 9" identifier = number_literal) ;)) (do_statement "do {\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        } while (iVar10 != 0);" do (compound_statement "{\n          pQVar3 = pixels + channels * 4;\n          pQVar6 = result;\n          if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }\n          iVar10 = iVar10 + -1;\n          result = result + channels;\n        }" { (expression_statement "pQVar3 = pixels + channels * 4;" (assignment_expression "pQVar3 = pixels + channels * 4" identifier = (binary_expression "pixels + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar6 = result;" (assignment_expression "pQVar6 = result" identifier = identifier) ;) (if_statement "if (0 < (int)channels) {\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }" if (parenthesized_expression "(0 < (int)channels)" ( (binary_expression "0 < (int)channels" number_literal < (cast_expression "(int)channels" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);\n          }" { (do_statement "do {\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            } while (pQVar2 != pixels + channels * 5);" do (compound_statement "{\n              pQVar2 = pQVar3 + 1;\n              *pQVar6 = *pQVar3;\n              pQVar3 = pQVar2;\n              pQVar6 = pQVar6 + 1;\n            }" { (expression_statement "pQVar2 = pQVar3 + 1;" (assignment_expression "pQVar2 = pQVar3 + 1" identifier = (binary_expression "pQVar3 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar6 = *pQVar3;" (assignment_expression "*pQVar6 = *pQVar3" (pointer_expression "*pQVar6" * identifier) = (pointer_expression "*pQVar3" * identifier)) ;) (expression_statement "pQVar3 = pQVar2;" (assignment_expression "pQVar3 = pQVar2" identifier = identifier) ;) (expression_statement "pQVar6 = pQVar6 + 1;" (assignment_expression "pQVar6 = pQVar6 + 1" identifier = (binary_expression "pQVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pQVar2 != pixels + channels * 5)" ( (binary_expression "pQVar2 != pixels + channels * 5" identifier != (binary_expression "pixels + channels * 5" identifier + (binary_expression "channels * 5" identifier * number_literal))) )) ;) })) (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "result = result + channels;" (assignment_expression "result = result + channels" identifier = (binary_expression "result + channels" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) (return_statement "return;" return ;) })) (expression_statement "pQVar5 = pQVar9 + 1;" (assignment_expression "pQVar5 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar5 == *pQVar4)" ( (binary_expression "*pQVar5 == *pQVar4" (pointer_expression "*pQVar5" * identifier) == (pointer_expression "*pQVar4" * identifier)) )) ;) })) (if_statement "if (QVar17 == *pQVar3) {\n    pQVar4 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar5 = pQVar4 + channels * -2;\n    pQVar9 = pQVar5;\nLAB_0018ba38:\n    sVar8 = sVar8 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (channels != sVar8) goto LAB_0018ba24;\n    pQVar5 = pQVar5 + channels * 2;\n    pQVar9 = result;\n    while( true ) {\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }\n    QVar17 = *pQVar3;\n    goto LAB_0018ba74;\n  }" if (parenthesized_expression "(QVar17 == *pQVar3)" ( (binary_expression "QVar17 == *pQVar3" identifier == (pointer_expression "*pQVar3" * identifier)) )) (compound_statement "{\n    pQVar4 = pQVar2 + channels * -2;\n    sVar8 = 0;\n    pQVar5 = pQVar4 + channels * -2;\n    pQVar9 = pQVar5;\nLAB_0018ba38:\n    sVar8 = sVar8 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (channels != sVar8) goto LAB_0018ba24;\n    pQVar5 = pQVar5 + channels * 2;\n    pQVar9 = result;\n    while( true ) {\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }\n    QVar17 = *pQVar3;\n    goto LAB_0018ba74;\n  }" { (expression_statement "pQVar4 = pQVar2 + channels * -2;" (assignment_expression "pQVar4 = pQVar2 + channels * -2" identifier = (binary_expression "pQVar2 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar5 = pQVar4 + channels * -2;" (assignment_expression "pQVar5 = pQVar4 + channels * -2" identifier = (binary_expression "pQVar4 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "pQVar9 = pQVar5;" (assignment_expression "pQVar9 = pQVar5" identifier = identifier) ;) (labeled_statement "LAB_0018ba38:\n    sVar8 = sVar8 + 1;" statement_identifier : (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (if_statement "if (channels != sVar8) goto LAB_0018ba24;" if (parenthesized_expression "(channels != sVar8)" ( (binary_expression "channels != sVar8" identifier != identifier) )) (goto_statement "goto LAB_0018ba24;" goto statement_identifier ;)) (expression_statement "pQVar5 = pQVar5 + channels * 2;" (assignment_expression "pQVar5 = pQVar5 + channels * 2" identifier = (binary_expression "pQVar5 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "pQVar9 = result;" (assignment_expression "pQVar9 = result" identifier = identifier) ;) (while_statement "while( true ) {\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pQVar9 = QVar17;\n      pQVar5 = pQVar5 + 1;\n      if (pQVar9 + 1 == result + channels) break;\n      QVar17 = *pQVar5;\n      pQVar9 = pQVar9 + 1;\n    }" { (expression_statement "*pQVar9 = QVar17;" (assignment_expression "*pQVar9 = QVar17" (pointer_expression "*pQVar9" * identifier) = identifier) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pQVar9 + 1 == result + channels) break;" if (parenthesized_expression "(pQVar9 + 1 == result + channels)" ( (binary_expression "pQVar9 + 1 == result + channels" (binary_expression "pQVar9 + 1" identifier + number_literal) == (binary_expression "result + channels" identifier + identifier)) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar5;" (assignment_expression "QVar17 = *pQVar5" identifier = (pointer_expression "*pQVar5" * identifier)) ;) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar3;" (assignment_expression "QVar17 = *pQVar3" identifier = (pointer_expression "*pQVar3" * identifier)) ;) (goto_statement "goto LAB_0018ba74;" goto statement_identifier ;) })) (labeled_statement "LAB_0018c214:\n  pQVar4 = pQVar2 + -channels;" statement_identifier : (expression_statement "pQVar4 = pQVar2 + -channels;" (assignment_expression "pQVar4 = pQVar2 + -channels" identifier = (binary_expression "pQVar2 + -channels" identifier + (unary_expression "-channels" - identifier))) ;)) (expression_statement "pQVar9 = result;" (assignment_expression "pQVar9 = result" identifier = identifier) ;) (do_statement "do {\n    QVar17 = *pQVar4;\n    pQVar5 = pQVar9 + 1;\n    pQVar4 = pQVar4 + 1;\n    *pQVar9 = QVar17;\n    pQVar9 = pQVar5;\n  } while (pQVar5 != result + channels);" do (compound_statement "{\n    QVar17 = *pQVar4;\n    pQVar5 = pQVar9 + 1;\n    pQVar4 = pQVar4 + 1;\n    *pQVar9 = QVar17;\n    pQVar9 = pQVar5;\n  }" { (expression_statement "QVar17 = *pQVar4;" (assignment_expression "QVar17 = *pQVar4" identifier = (pointer_expression "*pQVar4" * identifier)) ;) (expression_statement "pQVar5 = pQVar9 + 1;" (assignment_expression "pQVar5 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar9 = QVar17;" (assignment_expression "*pQVar9 = QVar17" (pointer_expression "*pQVar9" * identifier) = identifier) ;) (expression_statement "pQVar9 = pQVar5;" (assignment_expression "pQVar9 = pQVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pQVar5 != result + channels)" ( (binary_expression "pQVar5 != result + channels" identifier != (binary_expression "result + channels" identifier + identifier)) )) ;) (expression_statement "QVar17 = *pQVar3;" (assignment_expression "QVar17 = *pQVar3" identifier = (pointer_expression "*pQVar3" * identifier)) ;) (labeled_statement "LAB_0018ba74:\n  pQVar9 = pQVar2 + -channels;" statement_identifier : (expression_statement "pQVar9 = pQVar2 + -channels;" (assignment_expression "pQVar9 = pQVar2 + -channels" identifier = (binary_expression "pQVar2 + -channels" identifier + (unary_expression "-channels" - identifier))) ;)) (expression_statement "QVar18 = *pQVar9;" (assignment_expression "QVar18 = *pQVar9" identifier = (pointer_expression "*pQVar9" * identifier)) ;) (if_statement "if (*pQVar7 == QVar17) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" if (parenthesized_expression "(*pQVar7 == QVar17)" ( (binary_expression "*pQVar7 == QVar17" (pointer_expression "*pQVar7" * identifier) == identifier) )) (compound_statement "{\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" { (expression_statement "pQVar5 = pQVar9 + -channels;" (assignment_expression "pQVar5 = pQVar9 + -channels" identifier = (binary_expression "pQVar9 + -channels" identifier + (unary_expression "-channels" - identifier))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar11 = pQVar5 + channels * -2;" (assignment_expression "pQVar11 = pQVar5 + channels * -2" identifier = (binary_expression "pQVar5 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "pQVar4 = pQVar11;" (assignment_expression "pQVar4 = pQVar11" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        sVar13 = 0;\n        if (pQVar11[channels] != QVar18) goto LAB_0018c298;\n        pQVar4 = pQVar11 + channels + channels * 2;\n        pQVar5 = pQVar4 + channels * -2;\n        goto LAB_0018bb18;\n      }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (pQVar11[channels] != QVar18) goto LAB_0018c298;" if (parenthesized_expression "(pQVar11[channels] != QVar18)" ( (binary_expression "pQVar11[channels] != QVar18" (subscript_expression "pQVar11[channels]" identifier [ identifier ]) != identifier) )) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;)) (expression_statement "pQVar4 = pQVar11 + channels + channels * 2;" (assignment_expression "pQVar4 = pQVar11 + channels + channels * 2" identifier = (binary_expression "pQVar11 + channels + channels * 2" (binary_expression "pQVar11 + channels" identifier + identifier) + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "pQVar5 = pQVar4 + channels * -2;" (assignment_expression "pQVar5 = pQVar4 + channels * -2" identifier = (binary_expression "pQVar4 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bb18;" goto statement_identifier ;) })) (expression_statement "pQVar14 = pQVar5 + 1;" (assignment_expression "pQVar14 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar14 == *pQVar4)" ( (binary_expression "*pQVar14 == *pQVar4" (pointer_expression "*pQVar14" * identifier) == (pointer_expression "*pQVar4" * identifier)) )) ;) })) (labeled_statement "LAB_0018bb28:\n  if (*pQVar2 == QVar17) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" statement_identifier : (if_statement "if (*pQVar2 == QVar17) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" if (parenthesized_expression "(*pQVar2 == QVar17)" ( (binary_expression "*pQVar2 == QVar17" (pointer_expression "*pQVar2" * identifier) == identifier) )) (compound_statement "{\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" { (expression_statement "pQVar5 = pQVar9 + channels;" (assignment_expression "pQVar5 = pQVar9 + channels" identifier = (binary_expression "pQVar9 + channels" identifier + identifier)) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar11 = pQVar5 + channels * -4;" (assignment_expression "pQVar11 = pQVar5 + channels * -4" identifier = (binary_expression "pQVar5 + channels * -4" identifier + (binary_expression "channels * -4" identifier * number_literal))) ;) (expression_statement "pQVar4 = pQVar11;" (assignment_expression "pQVar4 = pQVar11" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        sVar13 = 0;\n        if (*pixels != QVar18) goto LAB_0018c298;\n        pQVar11 = pQVar11 + channels * 3;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bba4;\n      }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (*pixels != QVar18) goto LAB_0018c298;" if (parenthesized_expression "(*pixels != QVar18)" ( (binary_expression "*pixels != QVar18" (pointer_expression "*pixels" * identifier) != identifier) )) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;)) (expression_statement "pQVar11 = pQVar11 + channels * 3;" (assignment_expression "pQVar11 = pQVar11 + channels * 3" identifier = (binary_expression "pQVar11 + channels * 3" identifier + (binary_expression "channels * 3" identifier * number_literal))) ;) (expression_statement "pQVar4 = pixels + 1;" (assignment_expression "pQVar4 = pixels + 1" identifier = (binary_expression "pixels + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0018bba4;" goto statement_identifier ;) })) (expression_statement "pQVar14 = pQVar5 + 1;" (assignment_expression "pQVar14 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar14 == *pQVar4)" ( (binary_expression "*pQVar14 == *pQVar4" (pointer_expression "*pQVar14" * identifier) == (pointer_expression "*pQVar4" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bbb4:\n  pQVar4 = result + channels;" statement_identifier : (expression_statement "pQVar4 = result + channels;" (assignment_expression "pQVar4 = result + channels" identifier = (binary_expression "result + channels" identifier + identifier)) ;)) (expression_statement "pQVar5 = pQVar9;" (assignment_expression "pQVar5 = pQVar9" identifier = identifier) ;) (while_statement "while( true ) {\n    *pQVar4 = QVar18;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar18 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar4 = QVar18;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar18 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }" { (expression_statement "*pQVar4 = QVar18;" (assignment_expression "*pQVar4 = QVar18" (pointer_expression "*pQVar4" * identifier) = identifier) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pQVar4 + 1 == result + channels * 2) break;" if (parenthesized_expression "(pQVar4 + 1 == result + channels * 2)" ( (binary_expression "pQVar4 + 1 == result + channels * 2" (binary_expression "pQVar4 + 1" identifier + number_literal) == (binary_expression "result + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "QVar18 = *pQVar5;" (assignment_expression "QVar18 = *pQVar5" identifier = (pointer_expression "*pQVar5" * identifier)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar2;" (assignment_expression "QVar17 = *pQVar2" identifier = (pointer_expression "*pQVar2" * identifier)) ;) (goto_statement "goto LAB_0018bbdc;" goto statement_identifier ;) (labeled_statement "LAB_0018ba24:\n  pQVar11 = pQVar4 + 1;" statement_identifier : (expression_statement "pQVar11 = pQVar4 + 1;" (assignment_expression "pQVar11 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (*pQVar11 != *pQVar9) goto LAB_0018c214;" if (parenthesized_expression "(*pQVar11 != *pQVar9)" ( (binary_expression "*pQVar11 != *pQVar9" (pointer_expression "*pQVar11" * identifier) != (pointer_expression "*pQVar9" * identifier)) )) (goto_statement "goto LAB_0018c214;" goto statement_identifier ;)) (goto_statement "goto LAB_0018ba38;" goto statement_identifier ;) (while_statement "while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bb18:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bb28;\n  }" while (parenthesized_expression "(pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5)" ( (comma_expression "pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5" (assignment_expression "pQVar11 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) , (comma_expression "pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) , (binary_expression "*pQVar11 == *pQVar5" (pointer_expression "*pQVar11" * identifier) == (pointer_expression "*pQVar5" * identifier)))) )) (compound_statement "{\nLAB_0018bb18:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bb28;\n  }" { (labeled_statement "LAB_0018bb18:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == sVar13) goto LAB_0018bb28;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018bb28;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;) (while_statement "while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bba4:\n    sVar13 = sVar13 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bbb4;\n  }" while (parenthesized_expression "(pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16)" ( (comma_expression "pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "pQVar5 = pQVar11 + 1" identifier = (binary_expression "pQVar11 + 1" identifier + number_literal)) , (comma_expression "fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "fVar16 = *pQVar4" identifier = (pointer_expression "*pQVar4" * identifier)) , (comma_expression "pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "pQVar11 = pQVar11 + 1" identifier = (binary_expression "pQVar11 + 1" identifier + number_literal)) , (comma_expression "pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) , (binary_expression "*pQVar5 == fVar16" (pointer_expression "*pQVar5" * identifier) == identifier))))) )) (compound_statement "{\nLAB_0018bba4:\n    sVar13 = sVar13 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bbb4;\n  }" { (labeled_statement "LAB_0018bba4:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (if_statement "if (sVar8 == sVar13) goto LAB_0018bbb4;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018bbb4;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c298:\n  pQVar5 = pQVar9 + channels * -3;" statement_identifier : (expression_statement "pQVar5 = pQVar9 + channels * -3;" (assignment_expression "pQVar5 = pQVar9 + channels * -3" identifier = (binary_expression "pQVar9 + channels * -3" identifier + (binary_expression "channels * -3" identifier * number_literal))) ;)) (expression_statement "pQVar4 = result + channels;" (assignment_expression "pQVar4 = result + channels" identifier = (binary_expression "result + channels" identifier + identifier)) ;) (while_statement "while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (pQVar4 + 1 == result + channels * 2) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }" { (expression_statement "*pQVar4 = QVar17;" (assignment_expression "*pQVar4 = QVar17" (pointer_expression "*pQVar4" * identifier) = identifier) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pQVar4 + 1 == result + channels * 2) break;" if (parenthesized_expression "(pQVar4 + 1 == result + channels * 2)" ( (binary_expression "pQVar4 + 1 == result + channels * 2" (binary_expression "pQVar4 + 1" identifier + number_literal) == (binary_expression "result + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar5;" (assignment_expression "QVar17 = *pQVar5" identifier = (pointer_expression "*pQVar5" * identifier)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar2;" (assignment_expression "QVar17 = *pQVar2" identifier = (pointer_expression "*pQVar2" * identifier)) ;) (labeled_statement "LAB_0018bbdc:\n  if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\nLAB_0018bc14:\n    sVar8 = sVar8 + 1;\n    pQVar4 = pQVar4 + 1;\n    if (channels != sVar8) goto LAB_0018bc00;\n    pQVar11 = pQVar11 + channels * 4;\n    pQVar4 = result + channels * 2;\n    while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }\n    QVar17 = *pQVar7;\n    goto LAB_0018bc50;\n  }" statement_identifier : (if_statement "if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\nLAB_0018bc14:\n    sVar8 = sVar8 + 1;\n    pQVar4 = pQVar4 + 1;\n    if (channels != sVar8) goto LAB_0018bc00;\n    pQVar11 = pQVar11 + channels * 4;\n    pQVar4 = result + channels * 2;\n    while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }\n    QVar17 = *pQVar7;\n    goto LAB_0018bc50;\n  }" if (parenthesized_expression "(QVar17 == *pQVar3)" ( (binary_expression "QVar17 == *pQVar3" identifier == (pointer_expression "*pQVar3" * identifier)) )) (compound_statement "{\n    pQVar5 = pQVar9 + channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -4;\n    pQVar4 = pQVar11;\nLAB_0018bc14:\n    sVar8 = sVar8 + 1;\n    pQVar4 = pQVar4 + 1;\n    if (channels != sVar8) goto LAB_0018bc00;\n    pQVar11 = pQVar11 + channels * 4;\n    pQVar4 = result + channels * 2;\n    while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }\n    QVar17 = *pQVar7;\n    goto LAB_0018bc50;\n  }" { (expression_statement "pQVar5 = pQVar9 + channels;" (assignment_expression "pQVar5 = pQVar9 + channels" identifier = (binary_expression "pQVar9 + channels" identifier + identifier)) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar11 = pQVar5 + channels * -4;" (assignment_expression "pQVar11 = pQVar5 + channels * -4" identifier = (binary_expression "pQVar5 + channels * -4" identifier + (binary_expression "channels * -4" identifier * number_literal))) ;) (expression_statement "pQVar4 = pQVar11;" (assignment_expression "pQVar4 = pQVar11" identifier = identifier) ;) (labeled_statement "LAB_0018bc14:\n    sVar8 = sVar8 + 1;" statement_identifier : (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (channels != sVar8) goto LAB_0018bc00;" if (parenthesized_expression "(channels != sVar8)" ( (binary_expression "channels != sVar8" identifier != identifier) )) (goto_statement "goto LAB_0018bc00;" goto statement_identifier ;)) (expression_statement "pQVar11 = pQVar11 + channels * 4;" (assignment_expression "pQVar11 = pQVar11 + channels * 4" identifier = (binary_expression "pQVar11 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar4 = result + channels * 2;" (assignment_expression "pQVar4 = result + channels * 2" identifier = (binary_expression "result + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (while_statement "while( true ) {\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pQVar4 = QVar17;\n      pQVar11 = pQVar11 + 1;\n      if (result + channels * 3 == pQVar4 + 1) break;\n      QVar17 = *pQVar11;\n      pQVar4 = pQVar4 + 1;\n    }" { (expression_statement "*pQVar4 = QVar17;" (assignment_expression "*pQVar4 = QVar17" (pointer_expression "*pQVar4" * identifier) = identifier) ;) (expression_statement "pQVar11 = pQVar11 + 1;" (assignment_expression "pQVar11 = pQVar11 + 1" identifier = (binary_expression "pQVar11 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 3 == pQVar4 + 1) break;" if (parenthesized_expression "(result + channels * 3 == pQVar4 + 1)" ( (binary_expression "result + channels * 3 == pQVar4 + 1" (binary_expression "result + channels * 3" identifier + (binary_expression "channels * 3" identifier * number_literal)) == (binary_expression "pQVar4 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar11;" (assignment_expression "QVar17 = *pQVar11" identifier = (pointer_expression "*pQVar11" * identifier)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar7;" (assignment_expression "QVar17 = *pQVar7" identifier = (pointer_expression "*pQVar7" * identifier)) ;) (goto_statement "goto LAB_0018bc50;" goto statement_identifier ;) }))) (labeled_statement "LAB_0018c1e8:\n  pQVar4 = result + channels * 2;" statement_identifier : (expression_statement "pQVar4 = result + channels * 2;" (assignment_expression "pQVar4 = result + channels * 2" identifier = (binary_expression "result + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;)) (expression_statement "pQVar5 = pQVar9;" (assignment_expression "pQVar5 = pQVar9" identifier = identifier) ;) (do_statement "do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar4 = QVar17;\n    pQVar4 = pQVar4 + 1;\n  } while (pQVar5 != pixels + channels * 5);" do (compound_statement "{\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar4 = QVar17;\n    pQVar4 = pQVar4 + 1;\n  }" { (expression_statement "QVar17 = *pQVar5;" (assignment_expression "QVar17 = *pQVar5" identifier = (pointer_expression "*pQVar5" * identifier)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar4 = QVar17;" (assignment_expression "*pQVar4 = QVar17" (pointer_expression "*pQVar4" * identifier) = identifier) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pQVar5 != pixels + channels * 5)" ( (binary_expression "pQVar5 != pixels + channels * 5" identifier != (binary_expression "pixels + channels * 5" identifier + (binary_expression "channels * 5" identifier * number_literal))) )) ;) (expression_statement "QVar17 = *pQVar7;" (assignment_expression "QVar17 = *pQVar7" identifier = (pointer_expression "*pQVar7" * identifier)) ;) (labeled_statement "LAB_0018bc50:\n  QVar18 = *pQVar9;" statement_identifier : (expression_statement "QVar18 = *pQVar9;" (assignment_expression "QVar18 = *pQVar9" identifier = (pointer_expression "*pQVar9" * identifier)) ;)) (if_statement "if (QVar17 == *pQVar3) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" if (parenthesized_expression "(QVar17 == *pQVar3)" ( (binary_expression "QVar17 == *pQVar3" identifier == (pointer_expression "*pQVar3" * identifier)) )) (compound_statement "{\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * -2;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" { (expression_statement "pQVar5 = pQVar9 + -channels;" (assignment_expression "pQVar5 = pQVar9 + -channels" identifier = (binary_expression "pQVar9 + -channels" identifier + (unary_expression "-channels" - identifier))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar11 = pQVar5 + channels * -2;" (assignment_expression "pQVar11 = pQVar5 + channels * -2" identifier = (binary_expression "pQVar5 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "pQVar4 = pQVar11;" (assignment_expression "pQVar4 = pQVar11" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        sVar13 = 0;\n        if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;\n        pQVar4 = pQVar11 + channels * 5 + channels * -2;\n        pQVar5 = pQVar4 + channels * 2;\n        goto LAB_0018bce4;\n      }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (pQVar11[channels * 5] != QVar18) goto LAB_0018c2c8;" if (parenthesized_expression "(pQVar11[channels * 5] != QVar18)" ( (binary_expression "pQVar11[channels * 5] != QVar18" (subscript_expression "pQVar11[channels * 5]" identifier [ (binary_expression "channels * 5" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;)) (expression_statement "pQVar4 = pQVar11 + channels * 5 + channels * -2;" (assignment_expression "pQVar4 = pQVar11 + channels * 5 + channels * -2" identifier = (binary_expression "pQVar11 + channels * 5 + channels * -2" (binary_expression "pQVar11 + channels * 5" identifier + (binary_expression "channels * 5" identifier * number_literal)) + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "pQVar5 = pQVar4 + channels * 2;" (assignment_expression "pQVar5 = pQVar4 + channels * 2" identifier = (binary_expression "pQVar4 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bce4;" goto statement_identifier ;) })) (expression_statement "pQVar14 = pQVar5 + 1;" (assignment_expression "pQVar14 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar14 == *pQVar4)" ( (binary_expression "*pQVar14 == *pQVar4" (pointer_expression "*pQVar14" * identifier) == (pointer_expression "*pQVar4" * identifier)) )) ;) })) (labeled_statement "LAB_0018bcf4:\n  if (QVar17 == *pQVar6) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * 4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" statement_identifier : (if_statement "if (QVar17 == *pQVar6) {\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * 4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" if (parenthesized_expression "(QVar17 == *pQVar6)" ( (binary_expression "QVar17 == *pQVar6" identifier == (pointer_expression "*pQVar6" * identifier)) )) (compound_statement "{\n    pQVar5 = pQVar9 + -channels;\n    sVar8 = 0;\n    pQVar11 = pQVar5 + channels * 4;\n    pQVar4 = pQVar11;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);\n  }" { (expression_statement "pQVar5 = pQVar9 + -channels;" (assignment_expression "pQVar5 = pQVar9 + -channels" identifier = (binary_expression "pQVar9 + -channels" identifier + (unary_expression "-channels" - identifier))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar11 = pQVar5 + channels * 4;" (assignment_expression "pQVar11 = pQVar5 + channels * 4" identifier = (binary_expression "pQVar5 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar4 = pQVar11;" (assignment_expression "pQVar4 = pQVar11" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    } while (*pQVar14 == *pQVar4);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar4 = pQVar4 + 1;\n      if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }\n      pQVar14 = pQVar5 + 1;\n      pQVar5 = pQVar5 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        if (*pixels != QVar18) goto LAB_0018c2c8;\n        pQVar11 = pQVar11 + channels * -3;\n        sVar8 = 0;\n        pQVar4 = pixels + 1;\n        goto LAB_0018bd70;\n      }" { (if_statement "if (*pixels != QVar18) goto LAB_0018c2c8;" if (parenthesized_expression "(*pixels != QVar18)" ( (binary_expression "*pixels != QVar18" (pointer_expression "*pixels" * identifier) != identifier) )) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;)) (expression_statement "pQVar11 = pQVar11 + channels * -3;" (assignment_expression "pQVar11 = pQVar11 + channels * -3" identifier = (binary_expression "pQVar11 + channels * -3" identifier + (binary_expression "channels * -3" identifier * number_literal))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar4 = pixels + 1;" (assignment_expression "pQVar4 = pixels + 1" identifier = (binary_expression "pixels + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0018bd70;" goto statement_identifier ;) })) (expression_statement "pQVar14 = pQVar5 + 1;" (assignment_expression "pQVar14 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar14 == *pQVar4)" ( (binary_expression "*pQVar14 == *pQVar4" (pointer_expression "*pQVar14" * identifier) == (pointer_expression "*pQVar4" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bd80:\n  pQVar4 = pQVar9;" statement_identifier : (expression_statement "pQVar4 = pQVar9;" (assignment_expression "pQVar4 = pQVar9" identifier = identifier) ;)) (expression_statement "pQVar5 = result + channels * 3;" (assignment_expression "pQVar5 = result + channels * 3" identifier = (binary_expression "result + channels * 3" identifier + (binary_expression "channels * 3" identifier * number_literal))) ;) (while_statement "while( true ) {\n    *pQVar5 = QVar18;\n    pQVar4 = pQVar4 + 1;\n    if (pQVar5 + 1 == result + channels * 4) break;\n    QVar18 = *pQVar4;\n    pQVar5 = pQVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar5 = QVar18;\n    pQVar4 = pQVar4 + 1;\n    if (pQVar5 + 1 == result + channels * 4) break;\n    QVar18 = *pQVar4;\n    pQVar5 = pQVar5 + 1;\n  }" { (expression_statement "*pQVar5 = QVar18;" (assignment_expression "*pQVar5 = QVar18" (pointer_expression "*pQVar5" * identifier) = identifier) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (if_statement "if (pQVar5 + 1 == result + channels * 4) break;" if (parenthesized_expression "(pQVar5 + 1 == result + channels * 4)" ( (binary_expression "pQVar5 + 1 == result + channels * 4" (binary_expression "pQVar5 + 1" identifier + number_literal) == (binary_expression "result + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "QVar18 = *pQVar4;" (assignment_expression "QVar18 = *pQVar4" identifier = (pointer_expression "*pQVar4" * identifier)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0018bdb0;" goto statement_identifier ;) (labeled_statement "LAB_0018bc00:\n  pQVar14 = pQVar5 + 1;" statement_identifier : (expression_statement "pQVar14 = pQVar5 + 1;" (assignment_expression "pQVar14 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (*pQVar14 != *pQVar4) goto LAB_0018c1e8;" if (parenthesized_expression "(*pQVar14 != *pQVar4)" ( (binary_expression "*pQVar14 != *pQVar4" (pointer_expression "*pQVar14" * identifier) != (pointer_expression "*pQVar4" * identifier)) )) (goto_statement "goto LAB_0018c1e8;" goto statement_identifier ;)) (goto_statement "goto LAB_0018bc14;" goto statement_identifier ;) (while_statement "while (pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5) {\nLAB_0018bce4:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bcf4;\n  }" while (parenthesized_expression "(pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5)" ( (comma_expression "pQVar11 = pQVar4 + 1, pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5" (assignment_expression "pQVar11 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) , (comma_expression "pQVar4 = pQVar4 + 1, *pQVar11 == *pQVar5" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) , (binary_expression "*pQVar11 == *pQVar5" (pointer_expression "*pQVar11" * identifier) == (pointer_expression "*pQVar5" * identifier)))) )) (compound_statement "{\nLAB_0018bce4:\n    sVar13 = sVar13 + 1;\n    pQVar5 = pQVar5 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bcf4;\n  }" { (labeled_statement "LAB_0018bce4:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == sVar13) goto LAB_0018bcf4;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018bcf4;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;) (while_statement "while (pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16) {\nLAB_0018bd70:\n    sVar8 = sVar8 + 1;\n    if (channels == sVar8) goto LAB_0018bd80;\n  }" while (parenthesized_expression "(pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16)" ( (comma_expression "pQVar5 = pQVar11 + 1, fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "pQVar5 = pQVar11 + 1" identifier = (binary_expression "pQVar11 + 1" identifier + number_literal)) , (comma_expression "fVar16 = *pQVar4, pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "fVar16 = *pQVar4" identifier = (pointer_expression "*pQVar4" * identifier)) , (comma_expression "pQVar11 = pQVar11 + 1, pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "pQVar11 = pQVar11 + 1" identifier = (binary_expression "pQVar11 + 1" identifier + number_literal)) , (comma_expression "pQVar4 = pQVar4 + 1,\n        *pQVar5 == fVar16" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) , (binary_expression "*pQVar5 == fVar16" (pointer_expression "*pQVar5" * identifier) == identifier))))) )) (compound_statement "{\nLAB_0018bd70:\n    sVar8 = sVar8 + 1;\n    if (channels == sVar8) goto LAB_0018bd80;\n  }" { (labeled_statement "LAB_0018bd70:\n    sVar8 = sVar8 + 1;" statement_identifier : (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;)) (if_statement "if (channels == sVar8) goto LAB_0018bd80;" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (goto_statement "goto LAB_0018bd80;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c2c8:\n  pQVar5 = pQVar3 + channels * 2;" statement_identifier : (expression_statement "pQVar5 = pQVar3 + channels * 2;" (assignment_expression "pQVar5 = pQVar3 + channels * 2" identifier = (binary_expression "pQVar3 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;)) (expression_statement "pQVar4 = result + channels * 3;" (assignment_expression "pQVar4 = result + channels * 3" identifier = (binary_expression "result + channels * 3" identifier + (binary_expression "channels * 3" identifier * number_literal))) ;) (while_statement "while( true ) {\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (result + channels * 4 == pQVar4 + 1) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar4 = QVar17;\n    pQVar5 = pQVar5 + 1;\n    if (result + channels * 4 == pQVar4 + 1) break;\n    QVar17 = *pQVar5;\n    pQVar4 = pQVar4 + 1;\n  }" { (expression_statement "*pQVar4 = QVar17;" (assignment_expression "*pQVar4 = QVar17" (pointer_expression "*pQVar4" * identifier) = identifier) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 4 == pQVar4 + 1) break;" if (parenthesized_expression "(result + channels * 4 == pQVar4 + 1)" ( (binary_expression "result + channels * 4 == pQVar4 + 1" (binary_expression "result + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal)) == (binary_expression "pQVar4 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar5;" (assignment_expression "QVar17 = *pQVar5" identifier = (pointer_expression "*pQVar5" * identifier)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_0018bdb0:\n  pQVar14 = pQVar3 + channels * 3;" statement_identifier : (expression_statement "pQVar14 = pQVar3 + channels * 3;" (assignment_expression "pQVar14 = pQVar3 + channels * 3" identifier = (binary_expression "pQVar3 + channels * 3" identifier + (binary_expression "channels * 3" identifier * number_literal))) ;)) (expression_statement "pQVar11 = result + channels * 4;" (assignment_expression "pQVar11 = result + channels * 4" identifier = (binary_expression "result + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar4 = pQVar14;" (assignment_expression "pQVar4 = pQVar14" identifier = identifier) ;) (expression_statement "pQVar5 = pQVar11;" (assignment_expression "pQVar5 = pQVar11" identifier = identifier) ;) (do_statement "do {\n    QVar17 = *pQVar4;\n    pQVar4 = pQVar4 + 1;\n    *pQVar5 = QVar17;\n    pQVar5 = pQVar5 + 1;\n  } while (pQVar4 != pixels + channels * 5);" do (compound_statement "{\n    QVar17 = *pQVar4;\n    pQVar4 = pQVar4 + 1;\n    *pQVar5 = QVar17;\n    pQVar5 = pQVar5 + 1;\n  }" { (expression_statement "QVar17 = *pQVar4;" (assignment_expression "QVar17 = *pQVar4" identifier = (pointer_expression "*pQVar4" * identifier)) ;) (expression_statement "pQVar4 = pQVar4 + 1;" (assignment_expression "pQVar4 = pQVar4 + 1" identifier = (binary_expression "pQVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar5 = QVar17;" (assignment_expression "*pQVar5 = QVar17" (pointer_expression "*pQVar5" * identifier) = identifier) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pQVar4 != pixels + channels * 5)" ( (binary_expression "pQVar4 != pixels + channels * 5" identifier != (binary_expression "pixels + channels * 5" identifier + (binary_expression "channels * 5" identifier * number_literal))) )) ;) (expression_statement "QVar18 = *pQVar2;" (assignment_expression "QVar18 = *pQVar2" identifier = (pointer_expression "*pQVar2" * identifier)) ;) (expression_statement "QVar17 = *pQVar9;" (assignment_expression "QVar17 = *pQVar9" identifier = (pointer_expression "*pQVar9" * identifier)) ;) (if_statement "if (QVar18 == *pQVar3) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * -4;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }" if (parenthesized_expression "(QVar18 == *pQVar3)" ( (binary_expression "QVar18 == *pQVar3" identifier == (pointer_expression "*pQVar3" * identifier)) )) (compound_statement "{\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * -4;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }" { (expression_statement "pQVar12 = pQVar14 + channels;" (assignment_expression "pQVar12 = pQVar14 + channels" identifier = (binary_expression "pQVar14 + channels" identifier + identifier)) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar15 = pQVar12 + channels * -4;" (assignment_expression "pQVar15 = pQVar12 + channels * -4" identifier = (binary_expression "pQVar12 + channels * -4" identifier + (binary_expression "channels * -4" identifier * number_literal))) ;) (expression_statement "pQVar5 = pQVar15;" (assignment_expression "pQVar5 = pQVar15" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        sVar13 = 0;\n        if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * 7 + channels * -4;\n        pQVar12 = pQVar5 + channels * 4;\n        goto LAB_0018be6c;\n      }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (pQVar15[channels * 7] != QVar17) goto LAB_0018c2fc;" if (parenthesized_expression "(pQVar15[channels * 7] != QVar17)" ( (binary_expression "pQVar15[channels * 7] != QVar17" (subscript_expression "pQVar15[channels * 7]" identifier [ (binary_expression "channels * 7" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;)) (expression_statement "pQVar5 = pQVar15 + channels * 7 + channels * -4;" (assignment_expression "pQVar5 = pQVar15 + channels * 7 + channels * -4" identifier = (binary_expression "pQVar15 + channels * 7 + channels * -4" (binary_expression "pQVar15 + channels * 7" identifier + (binary_expression "channels * 7" identifier * number_literal)) + (binary_expression "channels * -4" identifier * number_literal))) ;) (expression_statement "pQVar12 = pQVar5 + channels * 4;" (assignment_expression "pQVar12 = pQVar5 + channels * 4" identifier = (binary_expression "pQVar5 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_0018be6c;" goto statement_identifier ;) })) (expression_statement "pQVar1 = pQVar12 + 1;" (assignment_expression "pQVar1 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar1 == *pQVar5)" ( (binary_expression "*pQVar1 == *pQVar5" (pointer_expression "*pQVar1" * identifier) == (pointer_expression "*pQVar5" * identifier)) )) ;) })) (labeled_statement "LAB_0018be7c:\n  if (QVar18 == *pQVar6) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * 2;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }" statement_identifier : (if_statement "if (QVar18 == *pQVar6) {\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * 2;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }" if (parenthesized_expression "(QVar18 == *pQVar6)" ( (binary_expression "QVar18 == *pQVar6" identifier == (pointer_expression "*pQVar6" * identifier)) )) (compound_statement "{\n    pQVar12 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar15 = pQVar12 + channels * 2;\n    pQVar5 = pQVar15;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);\n  }" { (expression_statement "pQVar12 = pQVar14 + channels;" (assignment_expression "pQVar12 = pQVar14 + channels" identifier = (binary_expression "pQVar14 + channels" identifier + identifier)) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar15 = pQVar12 + channels * 2;" (assignment_expression "pQVar15 = pQVar12 + channels * 2" identifier = (binary_expression "pQVar12 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "pQVar5 = pQVar15;" (assignment_expression "pQVar5 = pQVar15" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    } while (*pQVar1 == *pQVar5);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar5 = pQVar5 + 1;\n      if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }\n      pQVar1 = pQVar12 + 1;\n      pQVar12 = pQVar12 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        sVar13 = 0;\n        if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;\n        pQVar5 = pQVar15 + channels * -5 + channels * 2;\n        pQVar12 = pQVar5 + channels * -2;\n        goto LAB_0018bf04;\n      }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (pQVar15[channels * -5] != QVar17) goto LAB_0018c2fc;" if (parenthesized_expression "(pQVar15[channels * -5] != QVar17)" ( (binary_expression "pQVar15[channels * -5] != QVar17" (subscript_expression "pQVar15[channels * -5]" identifier [ (binary_expression "channels * -5" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;)) (expression_statement "pQVar5 = pQVar15 + channels * -5 + channels * 2;" (assignment_expression "pQVar5 = pQVar15 + channels * -5 + channels * 2" identifier = (binary_expression "pQVar15 + channels * -5 + channels * 2" (binary_expression "pQVar15 + channels * -5" identifier + (binary_expression "channels * -5" identifier * number_literal)) + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "pQVar12 = pQVar5 + channels * -2;" (assignment_expression "pQVar12 = pQVar5 + channels * -2" identifier = (binary_expression "pQVar5 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bf04;" goto statement_identifier ;) })) (expression_statement "pQVar1 = pQVar12 + 1;" (assignment_expression "pQVar1 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar1 == *pQVar5)" ( (binary_expression "*pQVar1 == *pQVar5" (pointer_expression "*pQVar1" * identifier) == (pointer_expression "*pQVar5" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bf14:\n  pQVar5 = pQVar11 + channels;" statement_identifier : (expression_statement "pQVar5 = pQVar11 + channels;" (assignment_expression "pQVar5 = pQVar11 + channels" identifier = (binary_expression "pQVar11 + channels" identifier + identifier)) ;)) (expression_statement "pQVar12 = pQVar14;" (assignment_expression "pQVar12 = pQVar14" identifier = identifier) ;) (while_statement "while( true ) {\n    *pQVar5 = QVar17;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar17 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar5 = QVar17;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar17 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }" { (expression_statement "*pQVar5 = QVar17;" (assignment_expression "*pQVar5 = QVar17" (pointer_expression "*pQVar5" * identifier) = identifier) ;) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 6 == pQVar5 + 1) break;" if (parenthesized_expression "(result + channels * 6 == pQVar5 + 1)" ( (binary_expression "result + channels * 6 == pQVar5 + 1" (binary_expression "result + channels * 6" identifier + (binary_expression "channels * 6" identifier * number_literal)) == (binary_expression "pQVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar12;" (assignment_expression "QVar17 = *pQVar12" identifier = (pointer_expression "*pQVar12" * identifier)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar7;" (assignment_expression "QVar17 = *pQVar7" identifier = (pointer_expression "*pQVar7" * identifier)) ;) (goto_statement "goto LAB_0018bf44;" goto statement_identifier ;) (while_statement "while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018be6c:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018be7c;\n  }" while (parenthesized_expression "(pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12)" ( (comma_expression "pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12" (assignment_expression "pQVar15 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) , (comma_expression "pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) , (binary_expression "*pQVar15 == *pQVar12" (pointer_expression "*pQVar15" * identifier) == (pointer_expression "*pQVar12" * identifier)))) )) (compound_statement "{\nLAB_0018be6c:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018be7c;\n  }" { (labeled_statement "LAB_0018be6c:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == sVar13) goto LAB_0018be7c;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018be7c;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;) (while_statement "while (pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12) {\nLAB_0018bf04:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bf14;\n  }" while (parenthesized_expression "(pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12)" ( (comma_expression "pQVar15 = pQVar5 + 1, pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12" (assignment_expression "pQVar15 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) , (comma_expression "pQVar5 = pQVar5 + 1, *pQVar15 == *pQVar12" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) , (binary_expression "*pQVar15 == *pQVar12" (pointer_expression "*pQVar15" * identifier) == (pointer_expression "*pQVar12" * identifier)))) )) (compound_statement "{\nLAB_0018bf04:\n    sVar13 = sVar13 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (sVar8 == sVar13) goto LAB_0018bf14;\n  }" { (labeled_statement "LAB_0018bf04:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == sVar13) goto LAB_0018bf14;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018bf14;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c2fc:\n  pQVar12 = pQVar14 + channels;" statement_identifier : (expression_statement "pQVar12 = pQVar14 + channels;" (assignment_expression "pQVar12 = pQVar14 + channels" identifier = (binary_expression "pQVar14 + channels" identifier + identifier)) ;)) (expression_statement "pQVar5 = pQVar11 + channels;" (assignment_expression "pQVar5 = pQVar11 + channels" identifier = (binary_expression "pQVar11 + channels" identifier + identifier)) ;) (while_statement "while( true ) {\n    *pQVar5 = QVar18;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar18 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar5 = QVar18;\n    pQVar12 = pQVar12 + 1;\n    if (result + channels * 6 == pQVar5 + 1) break;\n    QVar18 = *pQVar12;\n    pQVar5 = pQVar5 + 1;\n  }" { (expression_statement "*pQVar5 = QVar18;" (assignment_expression "*pQVar5 = QVar18" (pointer_expression "*pQVar5" * identifier) = identifier) ;) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 6 == pQVar5 + 1) break;" if (parenthesized_expression "(result + channels * 6 == pQVar5 + 1)" ( (binary_expression "result + channels * 6 == pQVar5 + 1" (binary_expression "result + channels * 6" identifier + (binary_expression "channels * 6" identifier * number_literal)) == (binary_expression "pQVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar18 = *pQVar12;" (assignment_expression "QVar18 = *pQVar12" identifier = (pointer_expression "*pQVar12" * identifier)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar7;" (assignment_expression "QVar17 = *pQVar7" identifier = (pointer_expression "*pQVar7" * identifier)) ;) (labeled_statement "LAB_0018bf44:\n  pQVar5 = pQVar14 + -channels;" statement_identifier : (expression_statement "pQVar5 = pQVar14 + -channels;" (assignment_expression "pQVar5 = pQVar14 + -channels" identifier = (binary_expression "pQVar14 + -channels" identifier + (unary_expression "-channels" - identifier))) ;)) (if_statement "if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar15 = pQVar5 + channels * 4;\n    pQVar12 = pQVar15;\nLAB_0018bf78:\n    sVar8 = sVar8 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (channels != sVar8) goto LAB_0018bf64;\n    pQVar15 = pQVar15 + channels * -4;\n    pQVar5 = pQVar11 + channels * 2;\n    while( true ) {\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }\n    QVar17 = *pQVar6;\n    goto LAB_0018bfbc;\n  }" if (parenthesized_expression "(*pQVar6 == QVar17)" ( (binary_expression "*pQVar6 == QVar17" (pointer_expression "*pQVar6" * identifier) == identifier) )) (compound_statement "{\n    sVar8 = 0;\n    pQVar15 = pQVar5 + channels * 4;\n    pQVar12 = pQVar15;\nLAB_0018bf78:\n    sVar8 = sVar8 + 1;\n    pQVar12 = pQVar12 + 1;\n    if (channels != sVar8) goto LAB_0018bf64;\n    pQVar15 = pQVar15 + channels * -4;\n    pQVar5 = pQVar11 + channels * 2;\n    while( true ) {\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }\n    QVar17 = *pQVar6;\n    goto LAB_0018bfbc;\n  }" { (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar15 = pQVar5 + channels * 4;" (assignment_expression "pQVar15 = pQVar5 + channels * 4" identifier = (binary_expression "pQVar5 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar12 = pQVar15;" (assignment_expression "pQVar12 = pQVar15" identifier = identifier) ;) (labeled_statement "LAB_0018bf78:\n    sVar8 = sVar8 + 1;" statement_identifier : (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) (if_statement "if (channels != sVar8) goto LAB_0018bf64;" if (parenthesized_expression "(channels != sVar8)" ( (binary_expression "channels != sVar8" identifier != identifier) )) (goto_statement "goto LAB_0018bf64;" goto statement_identifier ;)) (expression_statement "pQVar15 = pQVar15 + channels * -4;" (assignment_expression "pQVar15 = pQVar15 + channels * -4" identifier = (binary_expression "pQVar15 + channels * -4" identifier + (binary_expression "channels * -4" identifier * number_literal))) ;) (expression_statement "pQVar5 = pQVar11 + channels * 2;" (assignment_expression "pQVar5 = pQVar11 + channels * 2" identifier = (binary_expression "pQVar11 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (while_statement "while( true ) {\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pQVar5 = QVar17;\n      pQVar15 = pQVar15 + 1;\n      if (result + channels * 7 == pQVar5 + 1) break;\n      QVar17 = *pQVar15;\n      pQVar5 = pQVar5 + 1;\n    }" { (expression_statement "*pQVar5 = QVar17;" (assignment_expression "*pQVar5 = QVar17" (pointer_expression "*pQVar5" * identifier) = identifier) ;) (expression_statement "pQVar15 = pQVar15 + 1;" (assignment_expression "pQVar15 = pQVar15 + 1" identifier = (binary_expression "pQVar15 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 7 == pQVar5 + 1) break;" if (parenthesized_expression "(result + channels * 7 == pQVar5 + 1)" ( (binary_expression "result + channels * 7 == pQVar5 + 1" (binary_expression "result + channels * 7" identifier + (binary_expression "channels * 7" identifier * number_literal)) == (binary_expression "pQVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar15;" (assignment_expression "QVar17 = *pQVar15" identifier = (pointer_expression "*pQVar15" * identifier)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar6;" (assignment_expression "QVar17 = *pQVar6" identifier = (pointer_expression "*pQVar6" * identifier)) ;) (goto_statement "goto LAB_0018bfbc;" goto statement_identifier ;) })) (labeled_statement "LAB_0018c240:\n  pQVar5 = pQVar14;" statement_identifier : (expression_statement "pQVar5 = pQVar14;" (assignment_expression "pQVar5 = pQVar14" identifier = identifier) ;)) (expression_statement "pQVar12 = pQVar11 + channels * 2;" (assignment_expression "pQVar12 = pQVar11 + channels * 2" identifier = (binary_expression "pQVar11 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (do_statement "do {\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar12 = QVar17;\n    pQVar12 = pQVar12 + 1;\n  } while (pQVar4 != pQVar5);" do (compound_statement "{\n    QVar17 = *pQVar5;\n    pQVar5 = pQVar5 + 1;\n    *pQVar12 = QVar17;\n    pQVar12 = pQVar12 + 1;\n  }" { (expression_statement "QVar17 = *pQVar5;" (assignment_expression "QVar17 = *pQVar5" identifier = (pointer_expression "*pQVar5" * identifier)) ;) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar12 = QVar17;" (assignment_expression "*pQVar12 = QVar17" (pointer_expression "*pQVar12" * identifier) = identifier) ;) (expression_statement "pQVar12 = pQVar12 + 1;" (assignment_expression "pQVar12 = pQVar12 + 1" identifier = (binary_expression "pQVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pQVar4 != pQVar5)" ( (binary_expression "pQVar4 != pQVar5" identifier != identifier) )) ;) (expression_statement "QVar17 = *pQVar6;" (assignment_expression "QVar17 = *pQVar6" identifier = (pointer_expression "*pQVar6" * identifier)) ;) (labeled_statement "LAB_0018bfbc:\n  QVar18 = *pQVar9;" statement_identifier : (expression_statement "QVar18 = *pQVar9;" (assignment_expression "QVar18 = *pQVar9" identifier = (pointer_expression "*pQVar9" * identifier)) ;)) (if_statement "if (*pQVar7 == QVar17) {\n    pQVar9 = pQVar14 + -channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 4;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }" if (parenthesized_expression "(*pQVar7 == QVar17)" ( (binary_expression "*pQVar7 == QVar17" (pointer_expression "*pQVar7" * identifier) == identifier) )) (compound_statement "{\n    pQVar9 = pQVar14 + -channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 4;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }" { (expression_statement "pQVar9 = pQVar14 + -channels;" (assignment_expression "pQVar9 = pQVar14 + -channels" identifier = (binary_expression "pQVar14 + -channels" identifier + (unary_expression "-channels" - identifier))) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar5 = pQVar9 + channels * 4;" (assignment_expression "pQVar5 = pQVar9 + channels * 4" identifier = (binary_expression "pQVar9 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (expression_statement "pQVar7 = pQVar5;" (assignment_expression "pQVar7 = pQVar5" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar7 = pQVar7 + 1;" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        pQVar7 = pQVar5 + channels + channels * -4;\n        if (pQVar5[channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 4;\n        goto LAB_0018c038;\n      }" { (expression_statement "pQVar7 = pQVar5 + channels + channels * -4;" (assignment_expression "pQVar7 = pQVar5 + channels + channels * -4" identifier = (binary_expression "pQVar5 + channels + channels * -4" (binary_expression "pQVar5 + channels" identifier + identifier) + (binary_expression "channels * -4" identifier * number_literal))) ;) (if_statement "if (pQVar5[channels] != QVar18) goto LAB_0018c264;" if (parenthesized_expression "(pQVar5[channels] != QVar18)" ( (binary_expression "pQVar5[channels] != QVar18" (subscript_expression "pQVar5[channels]" identifier [ identifier ]) != identifier) )) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;)) (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (expression_statement "pQVar9 = pQVar7 + channels * 4;" (assignment_expression "pQVar9 = pQVar7 + channels * 4" identifier = (binary_expression "pQVar7 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_0018c038;" goto statement_identifier ;) })) (expression_statement "pQVar12 = pQVar9 + 1;" (assignment_expression "pQVar12 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar12 == *pQVar7)" ( (binary_expression "*pQVar12 == *pQVar7" (pointer_expression "*pQVar12" * identifier) == (pointer_expression "*pQVar7" * identifier)) )) ;) })) (labeled_statement "LAB_0018c048:\n  if (*pQVar2 == QVar17) {\n    pQVar9 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 2;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }" statement_identifier : (if_statement "if (*pQVar2 == QVar17) {\n    pQVar9 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 2;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }" if (parenthesized_expression "(*pQVar2 == QVar17)" ( (binary_expression "*pQVar2 == QVar17" (pointer_expression "*pQVar2" * identifier) == identifier) )) (compound_statement "{\n    pQVar9 = pQVar14 + channels;\n    sVar8 = 0;\n    pQVar5 = pQVar9 + channels * 2;\n    pQVar7 = pQVar5;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);\n  }" { (expression_statement "pQVar9 = pQVar14 + channels;" (assignment_expression "pQVar9 = pQVar14 + channels" identifier = (binary_expression "pQVar14 + channels" identifier + identifier)) ;) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar5 = pQVar9 + channels * 2;" (assignment_expression "pQVar5 = pQVar9 + channels * 2" identifier = (binary_expression "pQVar9 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "pQVar7 = pQVar5;" (assignment_expression "pQVar7 = pQVar5" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    } while (*pQVar12 == *pQVar7);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar7 = pQVar7 + 1;\n      if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }\n      pQVar12 = pQVar9 + 1;\n      pQVar9 = pQVar9 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar7 = pQVar7 + 1;" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        pQVar7 = pQVar5 + -channels + channels * -2;\n        if (pQVar5[-channels] != QVar18) goto LAB_0018c264;\n        sVar13 = 0;\n        pQVar9 = pQVar7 + channels * 2;\n        goto LAB_0018c0c4;\n      }" { (expression_statement "pQVar7 = pQVar5 + -channels + channels * -2;" (assignment_expression "pQVar7 = pQVar5 + -channels + channels * -2" identifier = (binary_expression "pQVar5 + -channels + channels * -2" (binary_expression "pQVar5 + -channels" identifier + (unary_expression "-channels" - identifier)) + (binary_expression "channels * -2" identifier * number_literal))) ;) (if_statement "if (pQVar5[-channels] != QVar18) goto LAB_0018c264;" if (parenthesized_expression "(pQVar5[-channels] != QVar18)" ( (binary_expression "pQVar5[-channels] != QVar18" (subscript_expression "pQVar5[-channels]" identifier [ (unary_expression "-channels" - identifier) ]) != identifier) )) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;)) (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (expression_statement "pQVar9 = pQVar7 + channels * 2;" (assignment_expression "pQVar9 = pQVar7 + channels * 2" identifier = (binary_expression "pQVar7 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018c0c4;" goto statement_identifier ;) })) (expression_statement "pQVar12 = pQVar9 + 1;" (assignment_expression "pQVar12 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar12 == *pQVar7)" ( (binary_expression "*pQVar12 == *pQVar7" (pointer_expression "*pQVar12" * identifier) == (pointer_expression "*pQVar7" * identifier)) )) ;) }))) (labeled_statement "LAB_0018c0d4:\n  pQVar7 = result + channels * 7;" statement_identifier : (expression_statement "pQVar7 = result + channels * 7;" (assignment_expression "pQVar7 = result + channels * 7" identifier = (binary_expression "result + channels * 7" identifier + (binary_expression "channels * 7" identifier * number_literal))) ;)) (expression_statement "pQVar9 = pQVar14;" (assignment_expression "pQVar9 = pQVar14" identifier = identifier) ;) (while_statement "while( true ) {\n    *pQVar7 = QVar18;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar18 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar7 = QVar18;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar18 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }" { (expression_statement "*pQVar7 = QVar18;" (assignment_expression "*pQVar7 = QVar18" (pointer_expression "*pQVar7" * identifier) = identifier) ;) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 8 == pQVar7 + 1) break;" if (parenthesized_expression "(result + channels * 8 == pQVar7 + 1)" ( (binary_expression "result + channels * 8 == pQVar7 + 1" (binary_expression "result + channels * 8" identifier + (binary_expression "channels * 8" identifier * number_literal)) == (binary_expression "pQVar7 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar18 = *pQVar9;" (assignment_expression "QVar18 = *pQVar9" identifier = (pointer_expression "*pQVar9" * identifier)) ;) (expression_statement "pQVar7 = pQVar7 + 1;" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar2;" (assignment_expression "QVar17 = *pQVar2" identifier = (pointer_expression "*pQVar2" * identifier)) ;) (goto_statement "goto LAB_0018c100;" goto statement_identifier ;) (labeled_statement "LAB_0018bf64:\n  pQVar1 = pQVar5 + 1;" statement_identifier : (expression_statement "pQVar1 = pQVar5 + 1;" (assignment_expression "pQVar1 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar5 = pQVar5 + 1;" (assignment_expression "pQVar5 = pQVar5 + 1" identifier = (binary_expression "pQVar5 + 1" identifier + number_literal)) ;) (if_statement "if (*pQVar1 != *pQVar12) goto LAB_0018c240;" if (parenthesized_expression "(*pQVar1 != *pQVar12)" ( (binary_expression "*pQVar1 != *pQVar12" (pointer_expression "*pQVar1" * identifier) != (pointer_expression "*pQVar12" * identifier)) )) (goto_statement "goto LAB_0018c240;" goto statement_identifier ;)) (goto_statement "goto LAB_0018bf78;" goto statement_identifier ;) (while_statement "while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c038:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c048;\n  }" while (parenthesized_expression "(pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9)" ( (comma_expression "pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9" (assignment_expression "pQVar5 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) , (comma_expression "pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) , (binary_expression "*pQVar5 == *pQVar9" (pointer_expression "*pQVar5" * identifier) == (pointer_expression "*pQVar9" * identifier)))) )) (compound_statement "{\nLAB_0018c038:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c048;\n  }" { (labeled_statement "LAB_0018c038:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == sVar13) goto LAB_0018c048;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018c048;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;) (while_statement "while (pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9) {\nLAB_0018c0c4:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c0d4;\n  }" while (parenthesized_expression "(pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9)" ( (comma_expression "pQVar5 = pQVar7 + 1, pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9" (assignment_expression "pQVar5 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) , (comma_expression "pQVar7 = pQVar7 + 1, *pQVar5 == *pQVar9" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) , (binary_expression "*pQVar5 == *pQVar9" (pointer_expression "*pQVar5" * identifier) == (pointer_expression "*pQVar9" * identifier)))) )) (compound_statement "{\nLAB_0018c0c4:\n    sVar13 = sVar13 + 1;\n    pQVar9 = pQVar9 + 1;\n    if (sVar8 == sVar13) goto LAB_0018c0d4;\n  }" { (labeled_statement "LAB_0018c0c4:\n    sVar13 = sVar13 + 1;" statement_identifier : (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;)) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (if_statement "if (sVar8 == sVar13) goto LAB_0018c0d4;" if (parenthesized_expression "(sVar8 == sVar13)" ( (binary_expression "sVar8 == sVar13" identifier == identifier) )) (goto_statement "goto LAB_0018c0d4;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c264:\n  pQVar7 = result + channels * 7;" statement_identifier : (expression_statement "pQVar7 = result + channels * 7;" (assignment_expression "pQVar7 = result + channels * 7" identifier = (binary_expression "result + channels * 7" identifier + (binary_expression "channels * 7" identifier * number_literal))) ;)) (expression_statement "pQVar9 = pQVar6;" (assignment_expression "pQVar9 = pQVar6" identifier = identifier) ;) (while_statement "while( true ) {\n    *pQVar7 = QVar17;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar17 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pQVar7 = QVar17;\n    pQVar9 = pQVar9 + 1;\n    if (result + channels * 8 == pQVar7 + 1) break;\n    QVar17 = *pQVar9;\n    pQVar7 = pQVar7 + 1;\n  }" { (expression_statement "*pQVar7 = QVar17;" (assignment_expression "*pQVar7 = QVar17" (pointer_expression "*pQVar7" * identifier) = identifier) ;) (expression_statement "pQVar9 = pQVar9 + 1;" (assignment_expression "pQVar9 = pQVar9 + 1" identifier = (binary_expression "pQVar9 + 1" identifier + number_literal)) ;) (if_statement "if (result + channels * 8 == pQVar7 + 1) break;" if (parenthesized_expression "(result + channels * 8 == pQVar7 + 1)" ( (binary_expression "result + channels * 8 == pQVar7 + 1" (binary_expression "result + channels * 8" identifier + (binary_expression "channels * 8" identifier * number_literal)) == (binary_expression "pQVar7 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar9;" (assignment_expression "QVar17 = *pQVar9" identifier = (pointer_expression "*pQVar9" * identifier)) ;) (expression_statement "pQVar7 = pQVar7 + 1;" (assignment_expression "pQVar7 = pQVar7 + 1" identifier = (binary_expression "pQVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "QVar17 = *pQVar2;" (assignment_expression "QVar17 = *pQVar2" identifier = (pointer_expression "*pQVar2" * identifier)) ;) (labeled_statement "LAB_0018c100:\n  pQVar3 = pQVar3 + channels * 4;" statement_identifier : (expression_statement "pQVar3 = pQVar3 + channels * 4;" (assignment_expression "pQVar3 = pQVar3 + channels * 4" identifier = (binary_expression "pQVar3 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;)) (if_statement "if (*pQVar6 == QVar17) {\n    sVar8 = 0;\n    pQVar2 = pQVar3 + channels * 2;\n    pQVar6 = pQVar2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    } while (*pQVar7 == *pQVar6);\n  }" if (parenthesized_expression "(*pQVar6 == QVar17)" ( (binary_expression "*pQVar6 == QVar17" (pointer_expression "*pQVar6" * identifier) == identifier) )) (compound_statement "{\n    sVar8 = 0;\n    pQVar2 = pQVar3 + channels * 2;\n    pQVar6 = pQVar2;\n    do {\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    } while (*pQVar7 == *pQVar6);\n  }" { (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (expression_statement "pQVar2 = pQVar3 + channels * 2;" (assignment_expression "pQVar2 = pQVar3 + channels * 2" identifier = (binary_expression "pQVar3 + channels * 2" identifier + (binary_expression "channels * 2" identifier * number_literal))) ;) (expression_statement "pQVar6 = pQVar2;" (assignment_expression "pQVar6 = pQVar2" identifier = identifier) ;) (do_statement "do {\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    } while (*pQVar7 == *pQVar6);" do (compound_statement "{\n      sVar8 = sVar8 + 1;\n      pQVar6 = pQVar6 + 1;\n      if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }\n      pQVar7 = pQVar3 + 1;\n      pQVar3 = pQVar3 + 1;\n    }" { (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) (expression_statement "pQVar6 = pQVar6 + 1;" (assignment_expression "pQVar6 = pQVar6 + 1" identifier = (binary_expression "pQVar6 + 1" identifier + number_literal)) ;) (if_statement "if (channels == sVar8) {\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }" if (parenthesized_expression "(channels == sVar8)" ( (binary_expression "channels == sVar8" identifier == identifier) )) (compound_statement "{\n        pQVar2 = pQVar2 + channels * -2;\n        pQVar3 = pQVar11 + channels * 4;\n        while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }\n        return;\n      }" { (expression_statement "pQVar2 = pQVar2 + channels * -2;" (assignment_expression "pQVar2 = pQVar2 + channels * -2" identifier = (binary_expression "pQVar2 + channels * -2" identifier + (binary_expression "channels * -2" identifier * number_literal))) ;) (expression_statement "pQVar3 = pQVar11 + channels * 4;" (assignment_expression "pQVar3 = pQVar11 + channels * 4" identifier = (binary_expression "pQVar11 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (while_statement "while( true ) {\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          *pQVar3 = QVar17;\n          pQVar2 = pQVar2 + 1;\n          if (pQVar3 + 1 == result + channels * 9) break;\n          QVar17 = *pQVar2;\n          pQVar3 = pQVar3 + 1;\n        }" { (expression_statement "*pQVar3 = QVar17;" (assignment_expression "*pQVar3 = QVar17" (pointer_expression "*pQVar3" * identifier) = identifier) ;) (expression_statement "pQVar2 = pQVar2 + 1;" (assignment_expression "pQVar2 = pQVar2 + 1" identifier = (binary_expression "pQVar2 + 1" identifier + number_literal)) ;) (if_statement "if (pQVar3 + 1 == result + channels * 9) break;" if (parenthesized_expression "(pQVar3 + 1 == result + channels * 9)" ( (binary_expression "pQVar3 + 1 == result + channels * 9" (binary_expression "pQVar3 + 1" identifier + number_literal) == (binary_expression "result + channels * 9" identifier + (binary_expression "channels * 9" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "QVar17 = *pQVar2;" (assignment_expression "QVar17 = *pQVar2" identifier = (pointer_expression "*pQVar2" * identifier)) ;) (expression_statement "pQVar3 = pQVar3 + 1;" (assignment_expression "pQVar3 = pQVar3 + 1" identifier = (binary_expression "pQVar3 + 1" identifier + number_literal)) ;) })) (return_statement "return;" return ;) })) (expression_statement "pQVar7 = pQVar3 + 1;" (assignment_expression "pQVar7 = pQVar3 + 1" identifier = (binary_expression "pQVar3 + 1" identifier + number_literal)) ;) (expression_statement "pQVar3 = pQVar3 + 1;" (assignment_expression "pQVar3 = pQVar3 + 1" identifier = (binary_expression "pQVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pQVar7 == *pQVar6)" ( (binary_expression "*pQVar7 == *pQVar6" (pointer_expression "*pQVar7" * identifier) == (pointer_expression "*pQVar6" * identifier)) )) ;) })) (expression_statement "pQVar3 = pQVar11 + channels * 4;" (assignment_expression "pQVar3 = pQVar11 + channels * 4" identifier = (binary_expression "pQVar11 + channels * 4" identifier + (binary_expression "channels * 4" identifier * number_literal))) ;) (do_statement "do {\n    QVar17 = *pQVar14;\n    pQVar14 = pQVar14 + 1;\n    *pQVar3 = QVar17;\n    pQVar3 = pQVar3 + 1;\n  } while (pQVar4 != pQVar14);" do (compound_statement "{\n    QVar17 = *pQVar14;\n    pQVar14 = pQVar14 + 1;\n    *pQVar3 = QVar17;\n    pQVar3 = pQVar3 + 1;\n  }" { (expression_statement "QVar17 = *pQVar14;" (assignment_expression "QVar17 = *pQVar14" identifier = (pointer_expression "*pQVar14" * identifier)) ;) (expression_statement "pQVar14 = pQVar14 + 1;" (assignment_expression "pQVar14 = pQVar14 + 1" identifier = (binary_expression "pQVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pQVar3 = QVar17;" (assignment_expression "*pQVar3 = QVar17" (pointer_expression "*pQVar3" * identifier) = identifier) ;) (expression_statement "pQVar3 = pQVar3 + 1;" (assignment_expression "pQVar3 = pQVar3 + 1" identifier = (binary_expression "pQVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pQVar4 != pQVar14)" ( (binary_expression "pQVar4 != pQVar14" identifier != identifier) )) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)\n\n{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}\n\n" (function_definition "void FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)\n\n{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}" primitive_type (function_declarator "FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)" identifier (parameter_list "(undefined4 param_1,float *param_2,float *param_3,int param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "float *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "float *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}" { (declaration "float *pfVar1;" primitive_type (pointer_declarator "*pfVar1" * identifier) ;) (declaration "float *pfVar2;" primitive_type (pointer_declarator "*pfVar2" * identifier) ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "float *pfVar4;" primitive_type (pointer_declarator "*pfVar4" * identifier) ;) (declaration "float *pfVar5;" primitive_type (pointer_declarator "*pfVar5" * identifier) ;) (declaration "float *pfVar6;" primitive_type (pointer_declarator "*pfVar6" * identifier) ;) (declaration "float *pfVar7;" primitive_type (pointer_declarator "*pfVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "float *pfVar9;" primitive_type (pointer_declarator "*pfVar9" * identifier) ;) (declaration "float *pfVar10;" primitive_type (pointer_declarator "*pfVar10" * identifier) ;) (declaration "float *pfVar11;" primitive_type (pointer_declarator "*pfVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "float *pfVar14;" primitive_type (pointer_declarator "*pfVar14" * identifier) ;) (declaration "float fVar15;" primitive_type identifier ;) (declaration "float fVar16;" primitive_type identifier ;) (declaration "float fVar17;" primitive_type identifier ;) (if_statement "if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }" if (parenthesized_expression "(param_4 < 1)" ( (binary_expression "param_4 < 1" identifier < number_literal) )) (compound_statement "{\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }" { (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" identifier = number_literal) ;) (do_statement "do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);" do (compound_statement "{\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    }" { (expression_statement "pfVar3 = param_2 + param_4 * 4;" (assignment_expression "pfVar3 = param_2 + param_4 * 4" identifier = (binary_expression "param_2 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar6 = param_3;" (assignment_expression "pfVar6 = param_3" identifier = identifier) ;) (if_statement "if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }" if (parenthesized_expression "(0 < param_4)" ( (binary_expression "0 < param_4" number_literal < identifier) )) (compound_statement "{\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }" { (do_statement "do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);" do (compound_statement "{\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        }" { (expression_statement "pfVar2 = pfVar3 + 1;" (assignment_expression "pfVar2 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar6 = *pfVar3;" (assignment_expression "*pfVar6 = *pfVar3" (pointer_expression "*pfVar6" * identifier) = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "pfVar3 = pfVar2;" (assignment_expression "pfVar3 = pfVar2" identifier = identifier) ;) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" identifier = (binary_expression "pfVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar2 != param_2 + param_4 * 5)" ( (binary_expression "pfVar2 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) })) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "param_3 = param_3 + param_4;" (assignment_expression "param_3 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (return_statement "return;" return ;) })) (expression_statement "pfVar3 = param_2 + param_4;" (assignment_expression "pfVar3 = param_2 + param_4" identifier = (binary_expression "param_2 + param_4" identifier + identifier)) ;) (expression_statement "pfVar6 = pfVar3 + param_4 * 6;" (assignment_expression "pfVar6 = pfVar3 + param_4 * 6" identifier = (binary_expression "pfVar3 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal))) ;) (if_statement "if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }" if (parenthesized_expression "(*pfVar3 == *pfVar6)" ( (binary_expression "*pfVar3 == *pfVar6" (pointer_expression "*pfVar3" * identifier) == (pointer_expression "*pfVar6" * identifier)) )) (compound_statement "{\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar2 = pfVar6 + param_4 * -6;" (assignment_expression "pfVar2 = pfVar6 + param_4 * -6" identifier = (binary_expression "pfVar6 + param_4 * -6" identifier + (binary_expression "param_4 * -6" identifier * number_literal))) ;) (expression_statement "pfVar7 = pfVar2 + param_4 * 6;" (assignment_expression "pfVar7 = pfVar2 + param_4 * 6" identifier = (binary_expression "pfVar2 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal))) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == param_4) goto LAB_0018b928;" if (parenthesized_expression "(iVar8 == param_4)" ( (binary_expression "iVar8 == param_4" identifier == identifier) )) (goto_statement "goto LAB_0018b928;" goto statement_identifier ;)) (expression_statement "pfVar9 = pfVar2 + 1;" (assignment_expression "pfVar9 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar7 == *pfVar9)" ( (binary_expression "*pfVar7 == *pfVar9" (pointer_expression "*pfVar7" * identifier) == (pointer_expression "*pfVar9" * identifier)) )) ;) })) (expression_statement "pfVar7 = pfVar6 + param_4 * -4;" (assignment_expression "pfVar7 = pfVar6 + param_4 * -4" identifier = (binary_expression "pfVar6 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar2 = pfVar7 + param_4 * 2;" (assignment_expression "pfVar2 = pfVar7 + param_4 * 2" identifier = (binary_expression "pfVar7 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (if_statement "if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }" if (parenthesized_expression "(fVar16 == *pfVar2)" ( (binary_expression "fVar16 == *pfVar2" identifier == (pointer_expression "*pfVar2" * identifier)) )) (compound_statement "{\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }" { (expression_statement "pfVar9 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar9 = pfVar2 + param_4 * -2" identifier = (binary_expression "pfVar2 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar4 = pfVar9 + param_4 * 2;" (assignment_expression "pfVar4 = pfVar9 + param_4 * 2" identifier = (binary_expression "pfVar9 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }" { (labeled_statement "LAB_0018b928:\n        iVar8 = 9;" statement_identifier : (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" identifier = number_literal) ;)) (do_statement "do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);" do (compound_statement "{\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        }" { (expression_statement "pfVar3 = param_2 + param_4 * 4;" (assignment_expression "pfVar3 = param_2 + param_4 * 4" identifier = (binary_expression "param_2 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar6 = param_3;" (assignment_expression "pfVar6 = param_3" identifier = identifier) ;) (if_statement "if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }" if (parenthesized_expression "(0 < param_4)" ( (binary_expression "0 < param_4" number_literal < identifier) )) (compound_statement "{\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }" { (do_statement "do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);" do (compound_statement "{\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            }" { (expression_statement "pfVar2 = pfVar3 + 1;" (assignment_expression "pfVar2 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar6 = *pfVar3;" (assignment_expression "*pfVar6 = *pfVar3" (pointer_expression "*pfVar6" * identifier) = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "pfVar3 = pfVar2;" (assignment_expression "pfVar3 = pfVar2" identifier = identifier) ;) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" identifier = (binary_expression "pfVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar2 != param_2 + param_4 * 5)" ( (binary_expression "pfVar2 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) })) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "param_3 = param_3 + param_4;" (assignment_expression "param_3 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (return_statement "return;" return ;) })) (expression_statement "pfVar5 = pfVar9 + 1;" (assignment_expression "pfVar5 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar5 == *pfVar4)" ( (binary_expression "*pfVar5 == *pfVar4" (pointer_expression "*pfVar5" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) })) (if_statement "if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }" if (parenthesized_expression "(fVar16 == *pfVar3)" ( (binary_expression "fVar16 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }" { (expression_statement "pfVar4 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar4 = pfVar2 + param_4 * -2" identifier = (binary_expression "pfVar2 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar5 = pfVar4 + param_4 * -2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * -2" identifier = (binary_expression "pfVar4 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar9 = pfVar5;" (assignment_expression "pfVar9 = pfVar5" identifier = identifier) ;) (labeled_statement "LAB_0018ba38:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 != iVar8) goto LAB_0018ba24;" if (parenthesized_expression "(param_4 != iVar8)" ( (binary_expression "param_4 != iVar8" identifier != identifier) )) (goto_statement "goto LAB_0018ba24;" goto statement_identifier ;)) (expression_statement "pfVar5 = pfVar5 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar5 + param_4 * 2" identifier = (binary_expression "pfVar5 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar9 = param_3;" (assignment_expression "pfVar9 = param_3" identifier = identifier) ;) (while_statement "while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "*pfVar9 = fVar16;" (assignment_expression "*pfVar9 = fVar16" (pointer_expression "*pfVar9" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar9 + 1 == param_3 + param_4) break;" if (parenthesized_expression "(pfVar9 + 1 == param_3 + param_4)" ( (binary_expression "pfVar9 + 1 == param_3 + param_4" (binary_expression "pfVar9 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4" identifier + identifier)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar3;" (assignment_expression "fVar16 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (goto_statement "goto LAB_0018ba74;" goto statement_identifier ;) })) (labeled_statement "LAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;" statement_identifier : (expression_statement "pfVar4 = pfVar2 + -param_4;" (assignment_expression "pfVar4 = pfVar2 + -param_4" identifier = (binary_expression "pfVar2 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;)) (expression_statement "pfVar9 = param_3;" (assignment_expression "pfVar9 = param_3" identifier = identifier) ;) (do_statement "do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);" do (compound_statement "{\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  }" { (expression_statement "fVar16 = *pfVar4;" (assignment_expression "fVar16 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) ;) (expression_statement "pfVar5 = pfVar9 + 1;" (assignment_expression "pfVar5 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar9 = fVar16;" (assignment_expression "*pfVar9 = fVar16" (pointer_expression "*pfVar9" * identifier) = identifier) ;) (expression_statement "pfVar9 = pfVar5;" (assignment_expression "pfVar9 = pfVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pfVar5 != param_3 + param_4)" ( (binary_expression "pfVar5 != param_3 + param_4" identifier != (binary_expression "param_3 + param_4" identifier + identifier)) )) ;) (expression_statement "fVar16 = *pfVar3;" (assignment_expression "fVar16 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (labeled_statement "LAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;" statement_identifier : (expression_statement "pfVar9 = pfVar2 + -param_4;" (assignment_expression "pfVar9 = pfVar2 + -param_4" identifier = (binary_expression "pfVar2 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;)) (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (if_statement "if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(*pfVar7 == fVar16)" ( (binary_expression "*pfVar7 == fVar16" (pointer_expression "*pfVar7" * identifier) == identifier) )) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" identifier = (binary_expression "pfVar9 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -2" identifier = (binary_expression "pfVar5 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar10[param_4] != fVar17) goto LAB_0018c298;" if (parenthesized_expression "(pfVar10[param_4] != fVar17)" ( (binary_expression "pfVar10[param_4] != fVar17" (subscript_expression "pfVar10[param_4]" identifier [ identifier ]) != identifier) )) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;)) (expression_statement "pfVar4 = pfVar10 + param_4 + param_4 * 2;" (assignment_expression "pfVar4 = pfVar10 + param_4 + param_4 * 2" identifier = (binary_expression "pfVar10 + param_4 + param_4 * 2" (binary_expression "pfVar10 + param_4" identifier + identifier) + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar4 + param_4 * -2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * -2" identifier = (binary_expression "pfVar4 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bb18;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) })) (labeled_statement "LAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" statement_identifier : (if_statement "if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(*pfVar2 == fVar16)" ( (binary_expression "*pfVar2 == fVar16" (pointer_expression "*pfVar2" * identifier) == identifier) )) (compound_statement "{\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + param_4;" (assignment_expression "pfVar5 = pfVar9 + param_4" identifier = (binary_expression "pfVar9 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -4" identifier = (binary_expression "pfVar5 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (*param_2 != fVar17) goto LAB_0018c298;" if (parenthesized_expression "(*param_2 != fVar17)" ( (binary_expression "*param_2 != fVar17" (pointer_expression "*param_2" * identifier) != identifier) )) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;)) (expression_statement "pfVar10 = pfVar10 + param_4 * 3;" (assignment_expression "pfVar10 = pfVar10 + param_4 * 3" identifier = (binary_expression "pfVar10 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;) (expression_statement "pfVar4 = param_2 + 1;" (assignment_expression "pfVar4 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0018bba4;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bbb4:\n  pfVar4 = param_3 + param_4;" statement_identifier : (expression_statement "pfVar4 = param_3 + param_4;" (assignment_expression "pfVar4 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;)) (expression_statement "pfVar5 = pfVar9;" (assignment_expression "pfVar5 = pfVar9" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "*pfVar4 = fVar17;" (assignment_expression "*pfVar4 = fVar17" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar4 + 1 == param_3 + param_4 * 2) break;" if (parenthesized_expression "(pfVar4 + 1 == param_3 + param_4 * 2)" ( (binary_expression "pfVar4 + 1 == param_3 + param_4 * 2" (binary_expression "pfVar4 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar5;" (assignment_expression "fVar17 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (goto_statement "goto LAB_0018bbdc;" goto statement_identifier ;) (labeled_statement "LAB_0018ba24:\n  pfVar10 = pfVar4 + 1;" statement_identifier : (expression_statement "pfVar10 = pfVar4 + 1;" (assignment_expression "pfVar10 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (*pfVar10 != *pfVar9) goto LAB_0018c214;" if (parenthesized_expression "(*pfVar10 != *pfVar9)" ( (binary_expression "*pfVar10 != *pfVar9" (pointer_expression "*pfVar10" * identifier) != (pointer_expression "*pfVar9" * identifier)) )) (goto_statement "goto LAB_0018c214;" goto statement_identifier ;)) (goto_statement "goto LAB_0018ba38;" goto statement_identifier ;) (while_statement "while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }" while (parenthesized_expression "(pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5)" ( (comma_expression "pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar10 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar10 == *pfVar5" (pointer_expression "*pfVar10" * identifier) == (pointer_expression "*pfVar5" * identifier)))) )) (compound_statement "{\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }" { (labeled_statement "LAB_0018bb18:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018bb28;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bb28;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c298;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }" while (parenthesized_expression "(pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15)" ( (comma_expression "pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar5 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "fVar15 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) , (comma_expression "pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar10 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == fVar15" (pointer_expression "*pfVar5" * identifier) == identifier))))) )) (compound_statement "{\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }" { (labeled_statement "LAB_0018bba4:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar8 == iVar12) goto LAB_0018bbb4;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bbb4;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;" statement_identifier : (expression_statement "pfVar5 = pfVar9 + param_4 * -3;" (assignment_expression "pfVar5 = pfVar9 + param_4 * -3" identifier = (binary_expression "pfVar9 + param_4 * -3" identifier + (binary_expression "param_4 * -3" identifier * number_literal))) ;)) (expression_statement "pfVar4 = param_3 + param_4;" (assignment_expression "pfVar4 = param_3 + param_4" identifier = (binary_expression "param_3 + param_4" identifier + identifier)) ;) (while_statement "while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar4 + 1 == param_3 + param_4 * 2) break;" if (parenthesized_expression "(pfVar4 + 1 == param_3 + param_4 * 2)" ( (binary_expression "pfVar4 + 1 == param_3 + param_4 * 2" (binary_expression "pfVar4 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (labeled_statement "LAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" statement_identifier : (if_statement "if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" if (parenthesized_expression "(fVar16 == *pfVar3)" ( (binary_expression "fVar16 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" { (expression_statement "pfVar5 = pfVar9 + param_4;" (assignment_expression "pfVar5 = pfVar9 + param_4" identifier = (binary_expression "pfVar9 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -4" identifier = (binary_expression "pfVar5 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (labeled_statement "LAB_0018bc14:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 != iVar8) goto LAB_0018bc00;" if (parenthesized_expression "(param_4 != iVar8)" ( (binary_expression "param_4 != iVar8" identifier != identifier) )) (goto_statement "goto LAB_0018bc00;" goto statement_identifier ;)) (expression_statement "pfVar10 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar10 = pfVar10 + param_4 * 4" identifier = (binary_expression "pfVar10 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar4 = param_3 + param_4 * 2;" (assignment_expression "pfVar4 = param_3 + param_4 * 2" identifier = (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (while_statement "while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }" { (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar10 = pfVar10 + 1;" (assignment_expression "pfVar10 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 3 == pfVar4 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 3 == pfVar4 + 1)" ( (binary_expression "param_3 + param_4 * 3 == pfVar4 + 1" (binary_expression "param_3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal)) == (binary_expression "pfVar4 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar10;" (assignment_expression "fVar16 = *pfVar10" identifier = (pointer_expression "*pfVar10" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (goto_statement "goto LAB_0018bc50;" goto statement_identifier ;) }))) (labeled_statement "LAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;" statement_identifier : (expression_statement "pfVar4 = param_3 + param_4 * 2;" (assignment_expression "pfVar4 = param_3 + param_4 * 2" identifier = (binary_expression "param_3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;)) (expression_statement "pfVar5 = pfVar9;" (assignment_expression "pfVar5 = pfVar9" identifier = identifier) ;) (do_statement "do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);" do (compound_statement "{\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar5 != param_2 + param_4 * 5)" ( (binary_expression "pfVar5 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (labeled_statement "LAB_0018bc50:\n  fVar17 = *pfVar9;" statement_identifier : (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;)) (if_statement "if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(fVar16 == *pfVar3)" ( (binary_expression "fVar16 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" identifier = (binary_expression "pfVar9 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -2" identifier = (binary_expression "pfVar5 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;" if (parenthesized_expression "(pfVar10[param_4 * 5] != fVar17)" ( (binary_expression "pfVar10[param_4 * 5] != fVar17" (subscript_expression "pfVar10[param_4 * 5]" identifier [ (binary_expression "param_4 * 5" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;)) (expression_statement "pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;" (assignment_expression "pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2" identifier = (binary_expression "pfVar10 + param_4 * 5 + param_4 * -2" (binary_expression "pfVar10 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal)) + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar4 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * 2" identifier = (binary_expression "pfVar4 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bce4;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) })) (labeled_statement "LAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" statement_identifier : (if_statement "if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" if (parenthesized_expression "(fVar16 == *pfVar6)" ( (binary_expression "fVar16 == *pfVar6" identifier == (pointer_expression "*pfVar6" * identifier)) )) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" { (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" identifier = (binary_expression "pfVar9 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar10 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * 4" identifier = (binary_expression "pfVar5 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }" { (if_statement "if (*param_2 != fVar17) goto LAB_0018c2c8;" if (parenthesized_expression "(*param_2 != fVar17)" ( (binary_expression "*param_2 != fVar17" (pointer_expression "*param_2" * identifier) != identifier) )) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;)) (expression_statement "pfVar10 = pfVar10 + param_4 * -3;" (assignment_expression "pfVar10 = pfVar10 + param_4 * -3" identifier = (binary_expression "pfVar10 + param_4 * -3" identifier + (binary_expression "param_4 * -3" identifier * number_literal))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar4 = param_2 + 1;" (assignment_expression "pfVar4 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0018bd70;" goto statement_identifier ;) })) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar13 == *pfVar4)" ( (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" * identifier) == (pointer_expression "*pfVar4" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bd80:\n  pfVar4 = pfVar9;" statement_identifier : (expression_statement "pfVar4 = pfVar9;" (assignment_expression "pfVar4 = pfVar9" identifier = identifier) ;)) (expression_statement "pfVar5 = param_3 + param_4 * 3;" (assignment_expression "pfVar5 = param_3 + param_4 * 3" identifier = (binary_expression "param_3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;) (while_statement "while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "*pfVar5 = fVar17;" (assignment_expression "*pfVar5 = fVar17" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar5 + 1 == param_3 + param_4 * 4) break;" if (parenthesized_expression "(pfVar5 + 1 == param_3 + param_4 * 4)" ( (binary_expression "pfVar5 + 1 == param_3 + param_4 * 4" (binary_expression "pfVar5 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar4;" (assignment_expression "fVar17 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0018bdb0;" goto statement_identifier ;) (labeled_statement "LAB_0018bc00:\n  pfVar13 = pfVar5 + 1;" statement_identifier : (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;" if (parenthesized_expression "(*pfVar13 != *pfVar4)" ( (binary_expression "*pfVar13 != *pfVar4" (pointer_expression "*pfVar13" * identifier) != (pointer_expression "*pfVar4" * identifier)) )) (goto_statement "goto LAB_0018c1e8;" goto statement_identifier ;)) (goto_statement "goto LAB_0018bc14;" goto statement_identifier ;) (while_statement "while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }" while (parenthesized_expression "(pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5)" ( (comma_expression "pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar10 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar10 == *pfVar5" (pointer_expression "*pfVar10" * identifier) == (pointer_expression "*pfVar5" * identifier)))) )) (compound_statement "{\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }" { (labeled_statement "LAB_0018bce4:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018bcf4;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bcf4;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c2c8;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }" while (parenthesized_expression "(pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15)" ( (comma_expression "pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar5 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "fVar15 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) , (comma_expression "pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar10 = pfVar10 + 1" identifier = (binary_expression "pfVar10 + 1" identifier + number_literal)) , (comma_expression "pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == fVar15" (pointer_expression "*pfVar5" * identifier) == identifier))))) )) (compound_statement "{\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }" { (labeled_statement "LAB_0018bd70:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (if_statement "if (param_4 == iVar8) goto LAB_0018bd80;" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (goto_statement "goto LAB_0018bd80;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;" statement_identifier : (expression_statement "pfVar5 = pfVar3 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar3 + param_4 * 2" identifier = (binary_expression "pfVar3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;)) (expression_statement "pfVar4 = param_3 + param_4 * 3;" (assignment_expression "pfVar4 = param_3 + param_4 * 3" identifier = (binary_expression "param_3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;) (while_statement "while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" { (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 4 == pfVar4 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 4 == pfVar4 + 1)" ( (binary_expression "param_3 + param_4 * 4 == pfVar4 + 1" (binary_expression "param_3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal)) == (binary_expression "pfVar4 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) })) (labeled_statement "LAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;" statement_identifier : (expression_statement "pfVar13 = pfVar3 + param_4 * 3;" (assignment_expression "pfVar13 = pfVar3 + param_4 * 3" identifier = (binary_expression "pfVar3 + param_4 * 3" identifier + (binary_expression "param_4 * 3" identifier * number_literal))) ;)) (expression_statement "pfVar10 = param_3 + param_4 * 4;" (assignment_expression "pfVar10 = param_3 + param_4 * 4" identifier = (binary_expression "param_3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar4 = pfVar13;" (assignment_expression "pfVar4 = pfVar13" identifier = identifier) ;) (expression_statement "pfVar5 = pfVar10;" (assignment_expression "pfVar5 = pfVar10" identifier = identifier) ;) (do_statement "do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);" do (compound_statement "{\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "fVar16 = *pfVar4;" (assignment_expression "fVar16 = *pfVar4" identifier = (pointer_expression "*pfVar4" * identifier)) ;) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" identifier = (binary_expression "pfVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar4 != param_2 + param_4 * 5)" ( (binary_expression "pfVar4 != param_2 + param_4 * 5" identifier != (binary_expression "param_2 + param_4 * 5" identifier + (binary_expression "param_4 * 5" identifier * number_literal))) )) ;) (expression_statement "fVar17 = *pfVar2;" (assignment_expression "fVar17 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "fVar16 = *pfVar9;" (assignment_expression "fVar16 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (if_statement "if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" if (parenthesized_expression "(fVar17 == *pfVar3)" ( (binary_expression "fVar17 == *pfVar3" identifier == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" { (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar14 = pfVar11 + param_4 * -4;" (assignment_expression "pfVar14 = pfVar11 + param_4 * -4" identifier = (binary_expression "pfVar11 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar14;" (assignment_expression "pfVar5 = pfVar14" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;" if (parenthesized_expression "(pfVar14[param_4 * 7] != fVar16)" ( (binary_expression "pfVar14[param_4 * 7] != fVar16" (subscript_expression "pfVar14[param_4 * 7]" identifier [ (binary_expression "param_4 * 7" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;)) (expression_statement "pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;" (assignment_expression "pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4" identifier = (binary_expression "pfVar14 + param_4 * 7 + param_4 * -4" (binary_expression "pfVar14 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal)) + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar11 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar11 = pfVar5 + param_4 * 4" identifier = (binary_expression "pfVar5 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_0018be6c;" goto statement_identifier ;) })) (expression_statement "pfVar1 = pfVar11 + 1;" (assignment_expression "pfVar1 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar1 == *pfVar5)" ( (binary_expression "*pfVar1 == *pfVar5" (pointer_expression "*pfVar1" * identifier) == (pointer_expression "*pfVar5" * identifier)) )) ;) })) (labeled_statement "LAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" statement_identifier : (if_statement "if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" if (parenthesized_expression "(fVar17 == *pfVar6)" ( (binary_expression "fVar17 == *pfVar6" identifier == (pointer_expression "*pfVar6" * identifier)) )) (compound_statement "{\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" { (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar14 = pfVar11 + param_4 * 2;" (assignment_expression "pfVar14 = pfVar11 + param_4 * 2" identifier = (binary_expression "pfVar11 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar14;" (assignment_expression "pfVar5 = pfVar14" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;" if (parenthesized_expression "(pfVar14[param_4 * -5] != fVar16)" ( (binary_expression "pfVar14[param_4 * -5] != fVar16" (subscript_expression "pfVar14[param_4 * -5]" identifier [ (binary_expression "param_4 * -5" identifier * number_literal) ]) != identifier) )) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;)) (expression_statement "pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2" identifier = (binary_expression "pfVar14 + param_4 * -5 + param_4 * 2" (binary_expression "pfVar14 + param_4 * -5" identifier + (binary_expression "param_4 * -5" identifier * number_literal)) + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar11 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar11 = pfVar5 + param_4 * -2" identifier = (binary_expression "pfVar5 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018bf04;" goto statement_identifier ;) })) (expression_statement "pfVar1 = pfVar11 + 1;" (assignment_expression "pfVar1 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar1 == *pfVar5)" ( (binary_expression "*pfVar1 == *pfVar5" (pointer_expression "*pfVar1" * identifier) == (pointer_expression "*pfVar5" * identifier)) )) ;) }))) (labeled_statement "LAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;" statement_identifier : (expression_statement "pfVar5 = pfVar10 + param_4;" (assignment_expression "pfVar5 = pfVar10 + param_4" identifier = (binary_expression "pfVar10 + param_4" identifier + identifier)) ;)) (expression_statement "pfVar11 = pfVar13;" (assignment_expression "pfVar11 = pfVar13" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 6 == pfVar5 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 6 == pfVar5 + 1)" ( (binary_expression "param_3 + param_4 * 6 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal)) == (binary_expression "pfVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar11;" (assignment_expression "fVar16 = *pfVar11" identifier = (pointer_expression "*pfVar11" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (goto_statement "goto LAB_0018bf44;" goto statement_identifier ;) (while_statement "while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }" while (parenthesized_expression "(pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11)" ( (comma_expression "pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar14 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (comma_expression "pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (binary_expression "*pfVar14 == *pfVar11" (pointer_expression "*pfVar14" * identifier) == (pointer_expression "*pfVar11" * identifier)))) )) (compound_statement "{\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }" { (labeled_statement "LAB_0018be6c:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018be7c;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018be7c;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c2fc;" goto statement_identifier ;) (while_statement "while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }" while (parenthesized_expression "(pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11)" ( (comma_expression "pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar14 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (comma_expression "pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) , (binary_expression "*pfVar14 == *pfVar11" (pointer_expression "*pfVar14" * identifier) == (pointer_expression "*pfVar11" * identifier)))) )) (compound_statement "{\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }" { (labeled_statement "LAB_0018bf04:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018bf14;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018bf14;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;" statement_identifier : (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;)) (expression_statement "pfVar5 = pfVar10 + param_4;" (assignment_expression "pfVar5 = pfVar10 + param_4" identifier = (binary_expression "pfVar10 + param_4" identifier + identifier)) ;) (while_statement "while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" { (expression_statement "*pfVar5 = fVar17;" (assignment_expression "*pfVar5 = fVar17" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 6 == pfVar5 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 6 == pfVar5 + 1)" ( (binary_expression "param_3 + param_4 * 6 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 6" identifier + (binary_expression "param_4 * 6" identifier * number_literal)) == (binary_expression "pfVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar11;" (assignment_expression "fVar17 = *pfVar11" identifier = (pointer_expression "*pfVar11" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" identifier = (pointer_expression "*pfVar7" * identifier)) ;) (labeled_statement "LAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;" statement_identifier : (expression_statement "pfVar5 = pfVar13 + -param_4;" (assignment_expression "pfVar5 = pfVar13 + -param_4" identifier = (binary_expression "pfVar13 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;)) (if_statement "if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }" if (parenthesized_expression "(*pfVar6 == fVar16)" ( (binary_expression "*pfVar6 == fVar16" (pointer_expression "*pfVar6" * identifier) == identifier) )) (compound_statement "{\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar14 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar14 = pfVar5 + param_4 * 4" identifier = (binary_expression "pfVar5 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar11 = pfVar14;" (assignment_expression "pfVar11 = pfVar14" identifier = identifier) ;) (labeled_statement "LAB_0018bf78:\n    iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 != iVar8) goto LAB_0018bf64;" if (parenthesized_expression "(param_4 != iVar8)" ( (binary_expression "param_4 != iVar8" identifier != identifier) )) (goto_statement "goto LAB_0018bf64;" goto statement_identifier ;)) (expression_statement "pfVar14 = pfVar14 + param_4 * -4;" (assignment_expression "pfVar14 = pfVar14 + param_4 * -4" identifier = (binary_expression "pfVar14 + param_4 * -4" identifier + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (expression_statement "pfVar5 = pfVar10 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar10 + param_4 * 2" identifier = (binary_expression "pfVar10 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (while_statement "while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }" { (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" * identifier) = identifier) ;) (expression_statement "pfVar14 = pfVar14 + 1;" (assignment_expression "pfVar14 = pfVar14 + 1" identifier = (binary_expression "pfVar14 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 7 == pfVar5 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 7 == pfVar5 + 1)" ( (binary_expression "param_3 + param_4 * 7 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal)) == (binary_expression "pfVar5 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar14;" (assignment_expression "fVar16 = *pfVar14" identifier = (pointer_expression "*pfVar14" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar6;" (assignment_expression "fVar16 = *pfVar6" identifier = (pointer_expression "*pfVar6" * identifier)) ;) (goto_statement "goto LAB_0018bfbc;" goto statement_identifier ;) })) (labeled_statement "LAB_0018c240:\n  pfVar5 = pfVar13;" statement_identifier : (expression_statement "pfVar5 = pfVar13;" (assignment_expression "pfVar5 = pfVar13" identifier = identifier) ;)) (expression_statement "pfVar11 = pfVar10 + param_4 * 2;" (assignment_expression "pfVar11 = pfVar10 + param_4 * 2" identifier = (binary_expression "pfVar10 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (do_statement "do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);" do (compound_statement "{\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  }" { (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar11 = fVar16;" (assignment_expression "*pfVar11 = fVar16" (pointer_expression "*pfVar11" * identifier) = identifier) ;) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" identifier = (binary_expression "pfVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar4 != pfVar5)" ( (binary_expression "pfVar4 != pfVar5" identifier != identifier) )) ;) (expression_statement "fVar16 = *pfVar6;" (assignment_expression "fVar16 = *pfVar6" identifier = (pointer_expression "*pfVar6" * identifier)) ;) (labeled_statement "LAB_0018bfbc:\n  fVar17 = *pfVar9;" statement_identifier : (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;)) (if_statement "if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" if (parenthesized_expression "(*pfVar7 == fVar16)" ( (binary_expression "*pfVar7 == fVar16" (pointer_expression "*pfVar7" * identifier) == identifier) )) (compound_statement "{\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" { (expression_statement "pfVar9 = pfVar13 + -param_4;" (assignment_expression "pfVar9 = pfVar13 + -param_4" identifier = (binary_expression "pfVar13 + -param_4" identifier + (unary_expression "-param_4" - identifier))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar5 = pfVar9 + param_4 * 4;" (assignment_expression "pfVar5 = pfVar9 + param_4 * 4" identifier = (binary_expression "pfVar9 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "pfVar7 = pfVar5;" (assignment_expression "pfVar7 = pfVar5" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }" { (expression_statement "pfVar7 = pfVar5 + param_4 + param_4 * -4;" (assignment_expression "pfVar7 = pfVar5 + param_4 + param_4 * -4" identifier = (binary_expression "pfVar5 + param_4 + param_4 * -4" (binary_expression "pfVar5 + param_4" identifier + identifier) + (binary_expression "param_4 * -4" identifier * number_literal))) ;) (if_statement "if (pfVar5[param_4] != fVar17) goto LAB_0018c264;" if (parenthesized_expression "(pfVar5[param_4] != fVar17)" ( (binary_expression "pfVar5[param_4] != fVar17" (subscript_expression "pfVar5[param_4]" identifier [ identifier ]) != identifier) )) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar7 + param_4 * 4;" (assignment_expression "pfVar9 = pfVar7 + param_4 * 4" identifier = (binary_expression "pfVar7 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (goto_statement "goto LAB_0018c038;" goto statement_identifier ;) })) (expression_statement "pfVar11 = pfVar9 + 1;" (assignment_expression "pfVar11 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar11 == *pfVar7)" ( (binary_expression "*pfVar11 == *pfVar7" (pointer_expression "*pfVar11" * identifier) == (pointer_expression "*pfVar7" * identifier)) )) ;) })) (labeled_statement "LAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" statement_identifier : (if_statement "if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" if (parenthesized_expression "(*pfVar2 == fVar16)" ( (binary_expression "*pfVar2 == fVar16" (pointer_expression "*pfVar2" * identifier) == identifier) )) (compound_statement "{\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" { (expression_statement "pfVar9 = pfVar13 + param_4;" (assignment_expression "pfVar9 = pfVar13 + param_4" identifier = (binary_expression "pfVar13 + param_4" identifier + identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar5 = pfVar9 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar9 + param_4 * 2" identifier = (binary_expression "pfVar9 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar7 = pfVar5;" (assignment_expression "pfVar7 = pfVar5" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }" { (expression_statement "pfVar7 = pfVar5 + -param_4 + param_4 * -2;" (assignment_expression "pfVar7 = pfVar5 + -param_4 + param_4 * -2" identifier = (binary_expression "pfVar5 + -param_4 + param_4 * -2" (binary_expression "pfVar5 + -param_4" identifier + (unary_expression "-param_4" - identifier)) + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (if_statement "if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;" if (parenthesized_expression "(pfVar5[-param_4] != fVar17)" ( (binary_expression "pfVar5[-param_4] != fVar17" (subscript_expression "pfVar5[-param_4]" identifier [ (unary_expression "-param_4" - identifier) ]) != identifier) )) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar7 + param_4 * 2;" (assignment_expression "pfVar9 = pfVar7 + param_4 * 2" identifier = (binary_expression "pfVar7 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (goto_statement "goto LAB_0018c0c4;" goto statement_identifier ;) })) (expression_statement "pfVar11 = pfVar9 + 1;" (assignment_expression "pfVar11 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar11 == *pfVar7)" ( (binary_expression "*pfVar11 == *pfVar7" (pointer_expression "*pfVar11" * identifier) == (pointer_expression "*pfVar7" * identifier)) )) ;) }))) (labeled_statement "LAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;" statement_identifier : (expression_statement "pfVar7 = param_3 + param_4 * 7;" (assignment_expression "pfVar7 = param_3 + param_4 * 7" identifier = (binary_expression "param_3 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal))) ;)) (expression_statement "pfVar9 = pfVar13;" (assignment_expression "pfVar9 = pfVar13" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" { (expression_statement "*pfVar7 = fVar17;" (assignment_expression "*pfVar7 = fVar17" (pointer_expression "*pfVar7" * identifier) = identifier) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 8 == pfVar7 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 8 == pfVar7 + 1)" ( (binary_expression "param_3 + param_4 * 8 == pfVar7 + 1" (binary_expression "param_3 + param_4 * 8" identifier + (binary_expression "param_4 * 8" identifier * number_literal)) == (binary_expression "pfVar7 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (goto_statement "goto LAB_0018c100;" goto statement_identifier ;) (labeled_statement "LAB_0018bf64:\n  pfVar1 = pfVar5 + 1;" statement_identifier : (expression_statement "pfVar1 = pfVar5 + 1;" (assignment_expression "pfVar1 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (if_statement "if (*pfVar1 != *pfVar11) goto LAB_0018c240;" if (parenthesized_expression "(*pfVar1 != *pfVar11)" ( (binary_expression "*pfVar1 != *pfVar11" (pointer_expression "*pfVar1" * identifier) != (pointer_expression "*pfVar11" * identifier)) )) (goto_statement "goto LAB_0018c240;" goto statement_identifier ;)) (goto_statement "goto LAB_0018bf78;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }" while (parenthesized_expression "(pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9)" ( (comma_expression "pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar5 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (comma_expression "pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == *pfVar9" (pointer_expression "*pfVar5" * identifier) == (pointer_expression "*pfVar9" * identifier)))) )) (compound_statement "{\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }" { (labeled_statement "LAB_0018c038:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018c048;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018c048;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0018c264;" goto statement_identifier ;) (while_statement "while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }" while (parenthesized_expression "(pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9)" ( (comma_expression "pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar5 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (comma_expression "pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) , (binary_expression "*pfVar5 == *pfVar9" (pointer_expression "*pfVar5" * identifier) == (pointer_expression "*pfVar9" * identifier)))) )) (compound_statement "{\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }" { (labeled_statement "LAB_0018c0c4:\n    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar12) goto LAB_0018c0d4;" if (parenthesized_expression "(iVar8 == iVar12)" ( (binary_expression "iVar8 == iVar12" identifier == identifier) )) (goto_statement "goto LAB_0018c0d4;" goto statement_identifier ;)) })) (labeled_statement "LAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;" statement_identifier : (expression_statement "pfVar7 = param_3 + param_4 * 7;" (assignment_expression "pfVar7 = param_3 + param_4 * 7" identifier = (binary_expression "param_3 + param_4 * 7" identifier + (binary_expression "param_4 * 7" identifier * number_literal))) ;)) (expression_statement "pfVar9 = pfVar6;" (assignment_expression "pfVar9 = pfVar6" identifier = identifier) ;) (while_statement "while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" { (expression_statement "*pfVar7 = fVar16;" (assignment_expression "*pfVar7 = fVar16" (pointer_expression "*pfVar7" * identifier) = identifier) ;) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" identifier = (binary_expression "pfVar9 + 1" identifier + number_literal)) ;) (if_statement "if (param_3 + param_4 * 8 == pfVar7 + 1) break;" if (parenthesized_expression "(param_3 + param_4 * 8 == pfVar7 + 1)" ( (binary_expression "param_3 + param_4 * 8 == pfVar7 + 1" (binary_expression "param_3 + param_4 * 8" identifier + (binary_expression "param_4 * 8" identifier * number_literal)) == (binary_expression "pfVar7 + 1" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar9;" (assignment_expression "fVar16 = *pfVar9" identifier = (pointer_expression "*pfVar9" * identifier)) ;) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" identifier = (binary_expression "pfVar7 + 1" identifier + number_literal)) ;) })) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (labeled_statement "LAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;" statement_identifier : (expression_statement "pfVar3 = pfVar3 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar3 + param_4 * 4" identifier = (binary_expression "pfVar3 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;)) (if_statement "if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }" if (parenthesized_expression "(*pfVar6 == fVar16)" ( (binary_expression "*pfVar6 == fVar16" (pointer_expression "*pfVar6" * identifier) == identifier) )) (compound_statement "{\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar2 = pfVar3 + param_4 * 2;" (assignment_expression "pfVar2 = pfVar3 + param_4 * 2" identifier = (binary_expression "pfVar3 + param_4 * 2" identifier + (binary_expression "param_4 * 2" identifier * number_literal))) ;) (expression_statement "pfVar6 = pfVar2;" (assignment_expression "pfVar6 = pfVar2" identifier = identifier) ;) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);" do (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" identifier = (binary_expression "pfVar6 + 1" identifier + number_literal)) ;) (if_statement "if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }" if (parenthesized_expression "(param_4 == iVar8)" ( (binary_expression "param_4 == iVar8" identifier == identifier) )) (compound_statement "{\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }" { (expression_statement "pfVar2 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar2 = pfVar2 + param_4 * -2" identifier = (binary_expression "pfVar2 + param_4 * -2" identifier + (binary_expression "param_4 * -2" identifier * number_literal))) ;) (expression_statement "pfVar3 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar10 + param_4 * 4" identifier = (binary_expression "pfVar10 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (while_statement "while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }" { (expression_statement "*pfVar3 = fVar16;" (assignment_expression "*pfVar3 = fVar16" (pointer_expression "*pfVar3" * identifier) = identifier) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (if_statement "if (pfVar3 + 1 == param_3 + param_4 * 9) break;" if (parenthesized_expression "(pfVar3 + 1 == param_3 + param_4 * 9)" ( (binary_expression "pfVar3 + 1 == param_3 + param_4 * 9" (binary_expression "pfVar3 + 1" identifier + number_literal) == (binary_expression "param_3 + param_4 * 9" identifier + (binary_expression "param_4 * 9" identifier * number_literal))) )) (break_statement "break;" break ;)) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) })) (return_statement "return;" return ;) })) (expression_statement "pfVar7 = pfVar3 + 1;" (assignment_expression "pfVar7 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*pfVar7 == *pfVar6)" ( (binary_expression "*pfVar7 == *pfVar6" (pointer_expression "*pfVar7" * identifier) == (pointer_expression "*pfVar6" * identifier)) )) ;) })) (expression_statement "pfVar3 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar10 + param_4 * 4" identifier = (binary_expression "pfVar10 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (do_statement "do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);" do (compound_statement "{\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  }" { (expression_statement "fVar16 = *pfVar13;" (assignment_expression "fVar16 = *pfVar13" identifier = (pointer_expression "*pfVar13" * identifier)) ;) (expression_statement "pfVar13 = pfVar13 + 1;" (assignment_expression "pfVar13 = pfVar13 + 1" identifier = (binary_expression "pfVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar3 = fVar16;" (assignment_expression "*pfVar3 = fVar16" (pointer_expression "*pfVar3" * identifier) = identifier) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar4 != pfVar13)" ( (binary_expression "pfVar4 != pfVar13" identifier != identifier) )) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_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 = (binary_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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (return_statement return ;) })) (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) == (pointer_expression * IDENT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;)) (expression_statement (assignment_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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + (binary_expression IDENT * LIT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == IDENT))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + (binary_expression IDENT * LIT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_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 + (binary_expression IDENT * LIT))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + (binary_expression IDENT * LIT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == IDENT))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_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 + (binary_expression IDENT * LIT))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (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 != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (unary_expression - IDENT)) + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (unary_expression - IDENT) ]) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + (binary_expression IDENT * LIT))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (return_statement return ;) })) (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) == (pointer_expression * IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (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 != IDENT) )) ;) (return_statement return ;) })))
(function_definition "void FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)\n\n{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0018b88c(undefined4 param_1,float *param_2,float *param_3,int param_4)" (identifier "FUN_0018b88c") (parameter_list "(undefined4 param_1,float *param_2,float *param_3,int param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "float *param_2" (primitive_type "float") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "float *param_3" (primitive_type "float") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  float *pfVar1;\n  float *pfVar2;\n  float *pfVar3;\n  float *pfVar4;\n  float *pfVar5;\n  float *pfVar6;\n  float *pfVar7;\n  int iVar8;\n  float *pfVar9;\n  float *pfVar10;\n  float *pfVar11;\n  int iVar12;\n  float *pfVar13;\n  float *pfVar14;\n  float fVar15;\n  float fVar16;\n  float fVar17;\n  \n  if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }\n  pfVar3 = param_2 + param_4;\n  pfVar6 = pfVar3 + param_4 * 6;\n  if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }\n  pfVar7 = pfVar6 + param_4 * -4;\n  pfVar2 = pfVar7 + param_4 * 2;\n  fVar16 = *pfVar7;\n  if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }\n  if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }\nLAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;\n  pfVar9 = param_3;\n  do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);\n  fVar16 = *pfVar3;\nLAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bbb4:\n  pfVar4 = param_3 + param_4;\n  pfVar5 = pfVar9;\n  while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018bbdc;\nLAB_0018ba24:\n  pfVar10 = pfVar4 + 1;\n  pfVar4 = pfVar4 + 1;\n  if (*pfVar10 != *pfVar9) goto LAB_0018c214;\n  goto LAB_0018ba38;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }\n  goto LAB_0018c298;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }\nLAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;\n  pfVar4 = param_3 + param_4;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }\nLAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;\n  pfVar5 = pfVar9;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);\n  fVar16 = *pfVar7;\nLAB_0018bc50:\n  fVar17 = *pfVar9;\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }\nLAB_0018bd80:\n  pfVar4 = pfVar9;\n  pfVar5 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }\n  goto LAB_0018bdb0;\nLAB_0018bc00:\n  pfVar13 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;\n  goto LAB_0018bc14;\n  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }\n  goto LAB_0018c2c8;\n  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }\nLAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;\n  pfVar4 = param_3 + param_4 * 3;\n  while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }\nLAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;\n  pfVar10 = param_3 + param_4 * 4;\n  pfVar4 = pfVar13;\n  pfVar5 = pfVar10;\n  do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);\n  fVar17 = *pfVar2;\n  fVar16 = *pfVar9;\n  if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }\nLAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;\n  pfVar11 = pfVar13;\n  while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\n  goto LAB_0018bf44;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }\n  goto LAB_0018c2fc;\n  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }\nLAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;\n  pfVar5 = pfVar10 + param_4;\n  while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }\n  fVar16 = *pfVar7;\nLAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }\nLAB_0018c240:\n  pfVar5 = pfVar13;\n  pfVar11 = pfVar10 + param_4 * 2;\n  do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);\n  fVar16 = *pfVar6;\nLAB_0018bfbc:\n  fVar17 = *pfVar9;\n  if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }\nLAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar13;\n  while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\n  goto LAB_0018c100;\nLAB_0018bf64:\n  pfVar1 = pfVar5 + 1;\n  pfVar5 = pfVar5 + 1;\n  if (*pfVar1 != *pfVar11) goto LAB_0018c240;\n  goto LAB_0018bf78;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }\n  goto LAB_0018c264;\n  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }\nLAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;\n  pfVar9 = pfVar6;\n  while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }\n  fVar16 = *pfVar2;\nLAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;\n  if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }\n  pfVar3 = pfVar10 + param_4 * 4;\n  do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);\n  return;\n}" ({ "{") (declaration "float *pfVar1;" (primitive_type "float") (pointer_declarator "*pfVar1" (* "*") (identifier "pfVar1")) (; ";")) (declaration "float *pfVar2;" (primitive_type "float") (pointer_declarator "*pfVar2" (* "*") (identifier "pfVar2")) (; ";")) (declaration "float *pfVar3;" (primitive_type "float") (pointer_declarator "*pfVar3" (* "*") (identifier "pfVar3")) (; ";")) (declaration "float *pfVar4;" (primitive_type "float") (pointer_declarator "*pfVar4" (* "*") (identifier "pfVar4")) (; ";")) (declaration "float *pfVar5;" (primitive_type "float") (pointer_declarator "*pfVar5" (* "*") (identifier "pfVar5")) (; ";")) (declaration "float *pfVar6;" (primitive_type "float") (pointer_declarator "*pfVar6" (* "*") (identifier "pfVar6")) (; ";")) (declaration "float *pfVar7;" (primitive_type "float") (pointer_declarator "*pfVar7" (* "*") (identifier "pfVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "float *pfVar9;" (primitive_type "float") (pointer_declarator "*pfVar9" (* "*") (identifier "pfVar9")) (; ";")) (declaration "float *pfVar10;" (primitive_type "float") (pointer_declarator "*pfVar10" (* "*") (identifier "pfVar10")) (; ";")) (declaration "float *pfVar11;" (primitive_type "float") (pointer_declarator "*pfVar11" (* "*") (identifier "pfVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "float *pfVar13;" (primitive_type "float") (pointer_declarator "*pfVar13" (* "*") (identifier "pfVar13")) (; ";")) (declaration "float *pfVar14;" (primitive_type "float") (pointer_declarator "*pfVar14" (* "*") (identifier "pfVar14")) (; ";")) (declaration "float fVar15;" (primitive_type "float") (identifier "fVar15") (; ";")) (declaration "float fVar16;" (primitive_type "float") (identifier "fVar16") (; ";")) (declaration "float fVar17;" (primitive_type "float") (identifier "fVar17") (; ";")) (if_statement "if (param_4 < 1) {\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }" (if "if") (parenthesized_expression "(param_4 < 1)" (( "(") (binary_expression "param_4 < 1" (identifier "param_4") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    iVar8 = 9;\n    do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);\n    return;\n  }" ({ "{") (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" (identifier "iVar8") (= "=") (number_literal "9")) (; ";")) (do_statement "do {\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    } while (iVar8 != 0);" (do "do") (compound_statement "{\n      pfVar3 = param_2 + param_4 * 4;\n      pfVar6 = param_3;\n      if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }\n      iVar8 = iVar8 + -1;\n      param_3 = param_3 + param_4;\n    }" ({ "{") (expression_statement "pfVar3 = param_2 + param_4 * 4;" (assignment_expression "pfVar3 = param_2 + param_4 * 4" (identifier "pfVar3") (= "=") (binary_expression "param_2 + param_4 * 4" (identifier "param_2") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar6 = param_3;" (assignment_expression "pfVar6 = param_3" (identifier "pfVar6") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (0 < param_4) {\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }" (if "if") (parenthesized_expression "(0 < param_4)" (( "(") (binary_expression "0 < param_4" (number_literal "0") (< "<") (identifier "param_4")) () ")")) (compound_statement "{\n        do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);\n      }" ({ "{") (do_statement "do {\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        } while (pfVar2 != param_2 + param_4 * 5);" (do "do") (compound_statement "{\n          pfVar2 = pfVar3 + 1;\n          *pfVar6 = *pfVar3;\n          pfVar3 = pfVar2;\n          pfVar6 = pfVar6 + 1;\n        }" ({ "{") (expression_statement "pfVar2 = pfVar3 + 1;" (assignment_expression "pfVar2 = pfVar3 + 1" (identifier "pfVar2") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar6 = *pfVar3;" (assignment_expression "*pfVar6 = *pfVar3" (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6")) (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (expression_statement "pfVar3 = pfVar2;" (assignment_expression "pfVar3 = pfVar2" (identifier "pfVar3") (= "=") (identifier "pfVar2")) (; ";")) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" (identifier "pfVar6") (= "=") (binary_expression "pfVar6 + 1" (identifier "pfVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar2 != param_2 + param_4 * 5)" (( "(") (binary_expression "pfVar2 != param_2 + param_4 * 5" (identifier "pfVar2") (!= "!=") (binary_expression "param_2 + param_4 * 5" (identifier "param_2") (+ "+") (binary_expression "param_4 * 5" (identifier "param_4") (* "*") (number_literal "5")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "param_3 = param_3 + param_4;" (assignment_expression "param_3 = param_3 + param_4" (identifier "param_3") (= "=") (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pfVar3 = param_2 + param_4;" (assignment_expression "pfVar3 = param_2 + param_4" (identifier "pfVar3") (= "=") (binary_expression "param_2 + param_4" (identifier "param_2") (+ "+") (identifier "param_4"))) (; ";")) (expression_statement "pfVar6 = pfVar3 + param_4 * 6;" (assignment_expression "pfVar6 = pfVar3 + param_4 * 6" (identifier "pfVar6") (= "=") (binary_expression "pfVar3 + param_4 * 6" (identifier "pfVar3") (+ "+") (binary_expression "param_4 * 6" (identifier "param_4") (* "*") (number_literal "6")))) (; ";")) (if_statement "if (*pfVar3 == *pfVar6) {\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }" (if "if") (parenthesized_expression "(*pfVar3 == *pfVar6)" (( "(") (binary_expression "*pfVar3 == *pfVar6" (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3")) (== "==") (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6"))) () ")")) (compound_statement "{\n    iVar8 = 0;\n    pfVar2 = pfVar6 + param_4 * -6;\n    pfVar7 = pfVar2 + param_4 * 6;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar2 = pfVar6 + param_4 * -6;" (assignment_expression "pfVar2 = pfVar6 + param_4 * -6" (identifier "pfVar2") (= "=") (binary_expression "pfVar6 + param_4 * -6" (identifier "pfVar6") (+ "+") (binary_expression "param_4 * -6" (identifier "param_4") (* "*") (number_literal "-6")))) (; ";")) (expression_statement "pfVar7 = pfVar2 + param_4 * 6;" (assignment_expression "pfVar7 = pfVar2 + param_4 * 6" (identifier "pfVar7") (= "=") (binary_expression "pfVar2 + param_4 * 6" (identifier "pfVar2") (+ "+") (binary_expression "param_4 * 6" (identifier "param_4") (* "*") (number_literal "6")))) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    } while (*pfVar7 == *pfVar9);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (iVar8 == param_4) goto LAB_0018b928;\n      pfVar9 = pfVar2 + 1;\n      pfVar2 = pfVar2 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == param_4) goto LAB_0018b928;" (if "if") (parenthesized_expression "(iVar8 == param_4)" (( "(") (binary_expression "iVar8 == param_4" (identifier "iVar8") (== "==") (identifier "param_4")) () ")")) (goto_statement "goto LAB_0018b928;" (goto "goto") (statement_identifier "LAB_0018b928") (; ";"))) (expression_statement "pfVar9 = pfVar2 + 1;" (assignment_expression "pfVar9 = pfVar2 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar2 + 1" (identifier "pfVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" (identifier "pfVar2") (= "=") (binary_expression "pfVar2 + 1" (identifier "pfVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar7 == *pfVar9)" (( "(") (binary_expression "*pfVar7 == *pfVar9" (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7")) (== "==") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) () ")")) (; ";")) (} "}"))) (expression_statement "pfVar7 = pfVar6 + param_4 * -4;" (assignment_expression "pfVar7 = pfVar6 + param_4 * -4" (identifier "pfVar7") (= "=") (binary_expression "pfVar6 + param_4 * -4" (identifier "pfVar6") (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pfVar2 = pfVar7 + param_4 * 2;" (assignment_expression "pfVar2 = pfVar7 + param_4 * 2" (identifier "pfVar2") (= "=") (binary_expression "pfVar7 + param_4 * 2" (identifier "pfVar7") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" (identifier "fVar16") (= "=") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) (; ";")) (if_statement "if (fVar16 == *pfVar2) {\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }" (if "if") (parenthesized_expression "(fVar16 == *pfVar2)" (( "(") (binary_expression "fVar16 == *pfVar2" (identifier "fVar16") (== "==") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) () ")")) (compound_statement "{\n    pfVar9 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar4 = pfVar9 + param_4 * 2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);\n  }" ({ "{") (expression_statement "pfVar9 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar9 = pfVar2 + param_4 * -2" (identifier "pfVar9") (= "=") (binary_expression "pfVar2 + param_4 * -2" (identifier "pfVar2") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar4 = pfVar9 + param_4 * 2;" (assignment_expression "pfVar4 = pfVar9 + param_4 * 2" (identifier "pfVar4") (= "=") (binary_expression "pfVar9 + param_4 * 2" (identifier "pfVar9") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar5 == *pfVar4);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }\n      pfVar5 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\nLAB_0018b928:\n        iVar8 = 9;\n        do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);\n        return;\n      }" ({ "{") (labeled_statement "LAB_0018b928:\n        iVar8 = 9;" (statement_identifier "LAB_0018b928") (: ":") (expression_statement "iVar8 = 9;" (assignment_expression "iVar8 = 9" (identifier "iVar8") (= "=") (number_literal "9")) (; ";"))) (do_statement "do {\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        } while (iVar8 != 0);" (do "do") (compound_statement "{\n          pfVar3 = param_2 + param_4 * 4;\n          pfVar6 = param_3;\n          if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }\n          iVar8 = iVar8 + -1;\n          param_3 = param_3 + param_4;\n        }" ({ "{") (expression_statement "pfVar3 = param_2 + param_4 * 4;" (assignment_expression "pfVar3 = param_2 + param_4 * 4" (identifier "pfVar3") (= "=") (binary_expression "param_2 + param_4 * 4" (identifier "param_2") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar6 = param_3;" (assignment_expression "pfVar6 = param_3" (identifier "pfVar6") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (0 < param_4) {\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }" (if "if") (parenthesized_expression "(0 < param_4)" (( "(") (binary_expression "0 < param_4" (number_literal "0") (< "<") (identifier "param_4")) () ")")) (compound_statement "{\n            do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);\n          }" ({ "{") (do_statement "do {\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            } while (pfVar2 != param_2 + param_4 * 5);" (do "do") (compound_statement "{\n              pfVar2 = pfVar3 + 1;\n              *pfVar6 = *pfVar3;\n              pfVar3 = pfVar2;\n              pfVar6 = pfVar6 + 1;\n            }" ({ "{") (expression_statement "pfVar2 = pfVar3 + 1;" (assignment_expression "pfVar2 = pfVar3 + 1" (identifier "pfVar2") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar6 = *pfVar3;" (assignment_expression "*pfVar6 = *pfVar3" (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6")) (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (expression_statement "pfVar3 = pfVar2;" (assignment_expression "pfVar3 = pfVar2" (identifier "pfVar3") (= "=") (identifier "pfVar2")) (; ";")) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" (identifier "pfVar6") (= "=") (binary_expression "pfVar6 + 1" (identifier "pfVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar2 != param_2 + param_4 * 5)" (( "(") (binary_expression "pfVar2 != param_2 + param_4 * 5" (identifier "pfVar2") (!= "!=") (binary_expression "param_2 + param_4 * 5" (identifier "param_2") (+ "+") (binary_expression "param_4 * 5" (identifier "param_4") (* "*") (number_literal "5")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "param_3 = param_3 + param_4;" (assignment_expression "param_3 = param_3 + param_4" (identifier "param_3") (= "=") (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pfVar5 = pfVar9 + 1;" (assignment_expression "pfVar5 = pfVar9 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar5 == *pfVar4)" (( "(") (binary_expression "*pfVar5 == *pfVar4" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) () ")")) (; ";")) (} "}"))) (if_statement "if (fVar16 == *pfVar3) {\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }" (if "if") (parenthesized_expression "(fVar16 == *pfVar3)" (( "(") (binary_expression "fVar16 == *pfVar3" (identifier "fVar16") (== "==") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) () ")")) (compound_statement "{\n    pfVar4 = pfVar2 + param_4 * -2;\n    iVar8 = 0;\n    pfVar5 = pfVar4 + param_4 * -2;\n    pfVar9 = pfVar5;\nLAB_0018ba38:\n    iVar8 = iVar8 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (param_4 != iVar8) goto LAB_0018ba24;\n    pfVar5 = pfVar5 + param_4 * 2;\n    pfVar9 = param_3;\n    while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }\n    fVar16 = *pfVar3;\n    goto LAB_0018ba74;\n  }" ({ "{") (expression_statement "pfVar4 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar4 = pfVar2 + param_4 * -2" (identifier "pfVar4") (= "=") (binary_expression "pfVar2 + param_4 * -2" (identifier "pfVar2") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar5 = pfVar4 + param_4 * -2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * -2" (identifier "pfVar5") (= "=") (binary_expression "pfVar4 + param_4 * -2" (identifier "pfVar4") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "pfVar9 = pfVar5;" (assignment_expression "pfVar9 = pfVar5" (identifier "pfVar9") (= "=") (identifier "pfVar5")) (; ";")) (labeled_statement "LAB_0018ba38:\n    iVar8 = iVar8 + 1;" (statement_identifier "LAB_0018ba38") (: ":") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 != iVar8) goto LAB_0018ba24;" (if "if") (parenthesized_expression "(param_4 != iVar8)" (( "(") (binary_expression "param_4 != iVar8" (identifier "param_4") (!= "!=") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_0018ba24;" (goto "goto") (statement_identifier "LAB_0018ba24") (; ";"))) (expression_statement "pfVar5 = pfVar5 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar5 + param_4 * 2" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + param_4 * 2" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "pfVar9 = param_3;" (assignment_expression "pfVar9 = param_3" (identifier "pfVar9") (= "=") (identifier "param_3")) (; ";")) (while_statement "while( true ) {\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      *pfVar9 = fVar16;\n      pfVar5 = pfVar5 + 1;\n      if (pfVar9 + 1 == param_3 + param_4) break;\n      fVar16 = *pfVar5;\n      pfVar9 = pfVar9 + 1;\n    }" ({ "{") (expression_statement "*pfVar9 = fVar16;" (assignment_expression "*pfVar9 = fVar16" (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pfVar9 + 1 == param_3 + param_4) break;" (if "if") (parenthesized_expression "(pfVar9 + 1 == param_3 + param_4)" (( "(") (binary_expression "pfVar9 + 1 == param_3 + param_4" (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1")) (== "==") (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" (identifier "fVar16") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar3;" (assignment_expression "fVar16 = *pfVar3" (identifier "fVar16") (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (goto_statement "goto LAB_0018ba74;" (goto "goto") (statement_identifier "LAB_0018ba74") (; ";")) (} "}"))) (labeled_statement "LAB_0018c214:\n  pfVar4 = pfVar2 + -param_4;" (statement_identifier "LAB_0018c214") (: ":") (expression_statement "pfVar4 = pfVar2 + -param_4;" (assignment_expression "pfVar4 = pfVar2 + -param_4" (identifier "pfVar4") (= "=") (binary_expression "pfVar2 + -param_4" (identifier "pfVar2") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";"))) (expression_statement "pfVar9 = param_3;" (assignment_expression "pfVar9 = param_3" (identifier "pfVar9") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  } while (pfVar5 != param_3 + param_4);" (do "do") (compound_statement "{\n    fVar16 = *pfVar4;\n    pfVar5 = pfVar9 + 1;\n    pfVar4 = pfVar4 + 1;\n    *pfVar9 = fVar16;\n    pfVar9 = pfVar5;\n  }" ({ "{") (expression_statement "fVar16 = *pfVar4;" (assignment_expression "fVar16 = *pfVar4" (identifier "fVar16") (= "=") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) (; ";")) (expression_statement "pfVar5 = pfVar9 + 1;" (assignment_expression "pfVar5 = pfVar9 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar9 = fVar16;" (assignment_expression "*pfVar9 = fVar16" (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar9 = pfVar5;" (assignment_expression "pfVar9 = pfVar5" (identifier "pfVar9") (= "=") (identifier "pfVar5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar5 != param_3 + param_4)" (( "(") (binary_expression "pfVar5 != param_3 + param_4" (identifier "pfVar5") (!= "!=") (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4"))) () ")")) (; ";")) (expression_statement "fVar16 = *pfVar3;" (assignment_expression "fVar16 = *pfVar3" (identifier "fVar16") (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (labeled_statement "LAB_0018ba74:\n  pfVar9 = pfVar2 + -param_4;" (statement_identifier "LAB_0018ba74") (: ":") (expression_statement "pfVar9 = pfVar2 + -param_4;" (assignment_expression "pfVar9 = pfVar2 + -param_4" (identifier "pfVar9") (= "=") (binary_expression "pfVar2 + -param_4" (identifier "pfVar2") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";"))) (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" (identifier "fVar17") (= "=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) (; ";")) (if_statement "if (*pfVar7 == fVar16) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" (if "if") (parenthesized_expression "(*pfVar7 == fVar16)" (( "(") (binary_expression "*pfVar7 == fVar16" (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7")) (== "==") (identifier "fVar16")) () ")")) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" ({ "{") (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + -param_4" (identifier "pfVar9") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar10 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -2" (identifier "pfVar10") (= "=") (binary_expression "pfVar5 + param_4 * -2" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" (identifier "pfVar4") (= "=") (identifier "pfVar10")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;\n        pfVar4 = pfVar10 + param_4 + param_4 * 2;\n        pfVar5 = pfVar4 + param_4 * -2;\n        goto LAB_0018bb18;\n      }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pfVar10[param_4] != fVar17) goto LAB_0018c298;" (if "if") (parenthesized_expression "(pfVar10[param_4] != fVar17)" (( "(") (binary_expression "pfVar10[param_4] != fVar17" (subscript_expression "pfVar10[param_4]" (identifier "pfVar10") ([ "[") (identifier "param_4") (] "]")) (!= "!=") (identifier "fVar17")) () ")")) (goto_statement "goto LAB_0018c298;" (goto "goto") (statement_identifier "LAB_0018c298") (; ";"))) (expression_statement "pfVar4 = pfVar10 + param_4 + param_4 * 2;" (assignment_expression "pfVar4 = pfVar10 + param_4 + param_4 * 2" (identifier "pfVar4") (= "=") (binary_expression "pfVar10 + param_4 + param_4 * 2" (binary_expression "pfVar10 + param_4" (identifier "pfVar10") (+ "+") (identifier "param_4")) (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "pfVar5 = pfVar4 + param_4 * -2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * -2" (identifier "pfVar5") (= "=") (binary_expression "pfVar4 + param_4 * -2" (identifier "pfVar4") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (goto_statement "goto LAB_0018bb18;" (goto "goto") (statement_identifier "LAB_0018bb18") (; ";")) (} "}"))) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar13 == *pfVar4)" (( "(") (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")) (== "==") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0018bb28:\n  if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" (statement_identifier "LAB_0018bb28") (: ":") (if_statement "if (*pfVar2 == fVar16) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" (if "if") (parenthesized_expression "(*pfVar2 == fVar16)" (( "(") (binary_expression "*pfVar2 == fVar16" (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2")) (== "==") (identifier "fVar16")) () ")")) (compound_statement "{\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" ({ "{") (expression_statement "pfVar5 = pfVar9 + param_4;" (assignment_expression "pfVar5 = pfVar9 + param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + param_4" (identifier "pfVar9") (+ "+") (identifier "param_4"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar10 = pfVar5 + param_4 * -4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -4" (identifier "pfVar10") (= "=") (binary_expression "pfVar5 + param_4 * -4" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" (identifier "pfVar4") (= "=") (identifier "pfVar10")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        iVar12 = 0;\n        if (*param_2 != fVar17) goto LAB_0018c298;\n        pfVar10 = pfVar10 + param_4 * 3;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bba4;\n      }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*param_2 != fVar17) goto LAB_0018c298;" (if "if") (parenthesized_expression "(*param_2 != fVar17)" (( "(") (binary_expression "*param_2 != fVar17" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (identifier "fVar17")) () ")")) (goto_statement "goto LAB_0018c298;" (goto "goto") (statement_identifier "LAB_0018c298") (; ";"))) (expression_statement "pfVar10 = pfVar10 + param_4 * 3;" (assignment_expression "pfVar10 = pfVar10 + param_4 * 3" (identifier "pfVar10") (= "=") (binary_expression "pfVar10 + param_4 * 3" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3")))) (; ";")) (expression_statement "pfVar4 = param_2 + 1;" (assignment_expression "pfVar4 = param_2 + 1" (identifier "pfVar4") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0018bba4;" (goto "goto") (statement_identifier "LAB_0018bba4") (; ";")) (} "}"))) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar13 == *pfVar4)" (( "(") (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")) (== "==") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0018bbb4:\n  pfVar4 = param_3 + param_4;" (statement_identifier "LAB_0018bbb4") (: ":") (expression_statement "pfVar4 = param_3 + param_4;" (assignment_expression "pfVar4 = param_3 + param_4" (identifier "pfVar4") (= "=") (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4"))) (; ";"))) (expression_statement "pfVar5 = pfVar9;" (assignment_expression "pfVar5 = pfVar9" (identifier "pfVar5") (= "=") (identifier "pfVar9")) (; ";")) (while_statement "while( true ) {\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar4 = fVar17;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar17 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" ({ "{") (expression_statement "*pfVar4 = fVar17;" (assignment_expression "*pfVar4 = fVar17" (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4")) (= "=") (identifier "fVar17")) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pfVar4 + 1 == param_3 + param_4 * 2) break;" (if "if") (parenthesized_expression "(pfVar4 + 1 == param_3 + param_4 * 2)" (( "(") (binary_expression "pfVar4 + 1 == param_3 + param_4 * 2" (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1")) (== "==") (binary_expression "param_3 + param_4 * 2" (identifier "param_3") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar17 = *pfVar5;" (assignment_expression "fVar17 = *pfVar5" (identifier "fVar17") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" (identifier "fVar16") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (goto_statement "goto LAB_0018bbdc;" (goto "goto") (statement_identifier "LAB_0018bbdc") (; ";")) (labeled_statement "LAB_0018ba24:\n  pfVar10 = pfVar4 + 1;" (statement_identifier "LAB_0018ba24") (: ":") (expression_statement "pfVar10 = pfVar4 + 1;" (assignment_expression "pfVar10 = pfVar4 + 1" (identifier "pfVar10") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pfVar10 != *pfVar9) goto LAB_0018c214;" (if "if") (parenthesized_expression "(*pfVar10 != *pfVar9)" (( "(") (binary_expression "*pfVar10 != *pfVar9" (pointer_expression "*pfVar10" (* "*") (identifier "pfVar10")) (!= "!=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) () ")")) (goto_statement "goto LAB_0018c214;" (goto "goto") (statement_identifier "LAB_0018c214") (; ";"))) (goto_statement "goto LAB_0018ba38;" (goto "goto") (statement_identifier "LAB_0018ba38") (; ";")) (while_statement "while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }" (while "while") (parenthesized_expression "(pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5)" (( "(") (comma_expression "pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar10 = pfVar4 + 1" (identifier "pfVar10") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar10 == *pfVar5" (pointer_expression "*pfVar10" (* "*") (identifier "pfVar10")) (== "==") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))))) () ")")) (compound_statement "{\nLAB_0018bb18:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bb28;\n  }" ({ "{") (labeled_statement "LAB_0018bb18:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018bb18") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == iVar12) goto LAB_0018bb28;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018bb28;" (goto "goto") (statement_identifier "LAB_0018bb28") (; ";"))) (} "}"))) (goto_statement "goto LAB_0018c298;" (goto "goto") (statement_identifier "LAB_0018c298") (; ";")) (while_statement "while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }" (while "while") (parenthesized_expression "(pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15)" (( "(") (comma_expression "pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar5 = pfVar10 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar10 + 1" (identifier "pfVar10") (+ "+") (number_literal "1"))) (, ",") (comma_expression "fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "fVar15 = *pfVar4" (identifier "fVar15") (= "=") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) (, ",") (comma_expression "pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar10 = pfVar10 + 1" (identifier "pfVar10") (= "=") (binary_expression "pfVar10 + 1" (identifier "pfVar10") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar5 == fVar15" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (identifier "fVar15")))))) () ")")) (compound_statement "{\nLAB_0018bba4:\n    iVar12 = iVar12 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bbb4;\n  }" ({ "{") (labeled_statement "LAB_0018bba4:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018bba4") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (iVar8 == iVar12) goto LAB_0018bbb4;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018bbb4;" (goto "goto") (statement_identifier "LAB_0018bbb4") (; ";"))) (} "}"))) (labeled_statement "LAB_0018c298:\n  pfVar5 = pfVar9 + param_4 * -3;" (statement_identifier "LAB_0018c298") (: ":") (expression_statement "pfVar5 = pfVar9 + param_4 * -3;" (assignment_expression "pfVar5 = pfVar9 + param_4 * -3" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + param_4 * -3" (identifier "pfVar9") (+ "+") (binary_expression "param_4 * -3" (identifier "param_4") (* "*") (number_literal "-3")))) (; ";"))) (expression_statement "pfVar4 = param_3 + param_4;" (assignment_expression "pfVar4 = param_3 + param_4" (identifier "pfVar4") (= "=") (binary_expression "param_3 + param_4" (identifier "param_3") (+ "+") (identifier "param_4"))) (; ";")) (while_statement "while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (pfVar4 + 1 == param_3 + param_4 * 2) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" ({ "{") (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pfVar4 + 1 == param_3 + param_4 * 2) break;" (if "if") (parenthesized_expression "(pfVar4 + 1 == param_3 + param_4 * 2)" (( "(") (binary_expression "pfVar4 + 1 == param_3 + param_4 * 2" (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1")) (== "==") (binary_expression "param_3 + param_4 * 2" (identifier "param_3") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" (identifier "fVar16") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" (identifier "fVar16") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (labeled_statement "LAB_0018bbdc:\n  if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" (statement_identifier "LAB_0018bbdc") (: ":") (if_statement "if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" (if "if") (parenthesized_expression "(fVar16 == *pfVar3)" (( "(") (binary_expression "fVar16 == *pfVar3" (identifier "fVar16") (== "==") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) () ")")) (compound_statement "{\n    pfVar5 = pfVar9 + param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -4;\n    pfVar4 = pfVar10;\nLAB_0018bc14:\n    iVar8 = iVar8 + 1;\n    pfVar4 = pfVar4 + 1;\n    if (param_4 != iVar8) goto LAB_0018bc00;\n    pfVar10 = pfVar10 + param_4 * 4;\n    pfVar4 = param_3 + param_4 * 2;\n    while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }\n    fVar16 = *pfVar7;\n    goto LAB_0018bc50;\n  }" ({ "{") (expression_statement "pfVar5 = pfVar9 + param_4;" (assignment_expression "pfVar5 = pfVar9 + param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + param_4" (identifier "pfVar9") (+ "+") (identifier "param_4"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar10 = pfVar5 + param_4 * -4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -4" (identifier "pfVar10") (= "=") (binary_expression "pfVar5 + param_4 * -4" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" (identifier "pfVar4") (= "=") (identifier "pfVar10")) (; ";")) (labeled_statement "LAB_0018bc14:\n    iVar8 = iVar8 + 1;" (statement_identifier "LAB_0018bc14") (: ":") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 != iVar8) goto LAB_0018bc00;" (if "if") (parenthesized_expression "(param_4 != iVar8)" (( "(") (binary_expression "param_4 != iVar8" (identifier "param_4") (!= "!=") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_0018bc00;" (goto "goto") (statement_identifier "LAB_0018bc00") (; ";"))) (expression_statement "pfVar10 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar10 = pfVar10 + param_4 * 4" (identifier "pfVar10") (= "=") (binary_expression "pfVar10 + param_4 * 4" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar4 = param_3 + param_4 * 2;" (assignment_expression "pfVar4 = param_3 + param_4 * 2" (identifier "pfVar4") (= "=") (binary_expression "param_3 + param_4 * 2" (identifier "param_3") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (while_statement "while( true ) {\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      *pfVar4 = fVar16;\n      pfVar10 = pfVar10 + 1;\n      if (param_3 + param_4 * 3 == pfVar4 + 1) break;\n      fVar16 = *pfVar10;\n      pfVar4 = pfVar4 + 1;\n    }" ({ "{") (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar10 = pfVar10 + 1;" (assignment_expression "pfVar10 = pfVar10 + 1" (identifier "pfVar10") (= "=") (binary_expression "pfVar10 + 1" (identifier "pfVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 3 == pfVar4 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 3 == pfVar4 + 1)" (( "(") (binary_expression "param_3 + param_4 * 3 == pfVar4 + 1" (binary_expression "param_3 + param_4 * 3" (identifier "param_3") (+ "+") (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3"))) (== "==") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar10;" (assignment_expression "fVar16 = *pfVar10" (identifier "fVar16") (= "=") (pointer_expression "*pfVar10" (* "*") (identifier "pfVar10"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" (identifier "fVar16") (= "=") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) (; ";")) (goto_statement "goto LAB_0018bc50;" (goto "goto") (statement_identifier "LAB_0018bc50") (; ";")) (} "}")))) (labeled_statement "LAB_0018c1e8:\n  pfVar4 = param_3 + param_4 * 2;" (statement_identifier "LAB_0018c1e8") (: ":") (expression_statement "pfVar4 = param_3 + param_4 * 2;" (assignment_expression "pfVar4 = param_3 + param_4 * 2" (identifier "pfVar4") (= "=") (binary_expression "param_3 + param_4 * 2" (identifier "param_3") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";"))) (expression_statement "pfVar5 = pfVar9;" (assignment_expression "pfVar5 = pfVar9" (identifier "pfVar5") (= "=") (identifier "pfVar9")) (; ";")) (do_statement "do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  } while (pfVar5 != param_2 + param_4 * 5);" (do "do") (compound_statement "{\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar4 = fVar16;\n    pfVar4 = pfVar4 + 1;\n  }" ({ "{") (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" (identifier "fVar16") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar5 != param_2 + param_4 * 5)" (( "(") (binary_expression "pfVar5 != param_2 + param_4 * 5" (identifier "pfVar5") (!= "!=") (binary_expression "param_2 + param_4 * 5" (identifier "param_2") (+ "+") (binary_expression "param_4 * 5" (identifier "param_4") (* "*") (number_literal "5")))) () ")")) (; ";")) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" (identifier "fVar16") (= "=") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) (; ";")) (labeled_statement "LAB_0018bc50:\n  fVar17 = *pfVar9;" (statement_identifier "LAB_0018bc50") (: ":") (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" (identifier "fVar17") (= "=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) (; ";"))) (if_statement "if (fVar16 == *pfVar3) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" (if "if") (parenthesized_expression "(fVar16 == *pfVar3)" (( "(") (binary_expression "fVar16 == *pfVar3" (identifier "fVar16") (== "==") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) () ")")) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * -2;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" ({ "{") (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + -param_4" (identifier "pfVar9") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar10 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar10 = pfVar5 + param_4 * -2" (identifier "pfVar10") (= "=") (binary_expression "pfVar5 + param_4 * -2" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" (identifier "pfVar4") (= "=") (identifier "pfVar10")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;\n        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;\n        pfVar5 = pfVar4 + param_4 * 2;\n        goto LAB_0018bce4;\n      }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;" (if "if") (parenthesized_expression "(pfVar10[param_4 * 5] != fVar17)" (( "(") (binary_expression "pfVar10[param_4 * 5] != fVar17" (subscript_expression "pfVar10[param_4 * 5]" (identifier "pfVar10") ([ "[") (binary_expression "param_4 * 5" (identifier "param_4") (* "*") (number_literal "5")) (] "]")) (!= "!=") (identifier "fVar17")) () ")")) (goto_statement "goto LAB_0018c2c8;" (goto "goto") (statement_identifier "LAB_0018c2c8") (; ";"))) (expression_statement "pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;" (assignment_expression "pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2" (identifier "pfVar4") (= "=") (binary_expression "pfVar10 + param_4 * 5 + param_4 * -2" (binary_expression "pfVar10 + param_4 * 5" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 5" (identifier "param_4") (* "*") (number_literal "5"))) (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "pfVar5 = pfVar4 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar4 + param_4 * 2" (identifier "pfVar5") (= "=") (binary_expression "pfVar4 + param_4 * 2" (identifier "pfVar4") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (goto_statement "goto LAB_0018bce4;" (goto "goto") (statement_identifier "LAB_0018bce4") (; ";")) (} "}"))) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar13 == *pfVar4)" (( "(") (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")) (== "==") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0018bcf4:\n  if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" (statement_identifier "LAB_0018bcf4") (: ":") (if_statement "if (fVar16 == *pfVar6) {\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" (if "if") (parenthesized_expression "(fVar16 == *pfVar6)" (( "(") (binary_expression "fVar16 == *pfVar6" (identifier "fVar16") (== "==") (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6"))) () ")")) (compound_statement "{\n    pfVar5 = pfVar9 + -param_4;\n    iVar8 = 0;\n    pfVar10 = pfVar5 + param_4 * 4;\n    pfVar4 = pfVar10;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);\n  }" ({ "{") (expression_statement "pfVar5 = pfVar9 + -param_4;" (assignment_expression "pfVar5 = pfVar9 + -param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + -param_4" (identifier "pfVar9") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar10 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar10 = pfVar5 + param_4 * 4" (identifier "pfVar10") (= "=") (binary_expression "pfVar5 + param_4 * 4" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar4 = pfVar10;" (assignment_expression "pfVar4 = pfVar10" (identifier "pfVar4") (= "=") (identifier "pfVar10")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    } while (*pfVar13 == *pfVar4);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar4 = pfVar4 + 1;\n      if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }\n      pfVar13 = pfVar5 + 1;\n      pfVar5 = pfVar5 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        if (*param_2 != fVar17) goto LAB_0018c2c8;\n        pfVar10 = pfVar10 + param_4 * -3;\n        iVar8 = 0;\n        pfVar4 = param_2 + 1;\n        goto LAB_0018bd70;\n      }" ({ "{") (if_statement "if (*param_2 != fVar17) goto LAB_0018c2c8;" (if "if") (parenthesized_expression "(*param_2 != fVar17)" (( "(") (binary_expression "*param_2 != fVar17" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (identifier "fVar17")) () ")")) (goto_statement "goto LAB_0018c2c8;" (goto "goto") (statement_identifier "LAB_0018c2c8") (; ";"))) (expression_statement "pfVar10 = pfVar10 + param_4 * -3;" (assignment_expression "pfVar10 = pfVar10 + param_4 * -3" (identifier "pfVar10") (= "=") (binary_expression "pfVar10 + param_4 * -3" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * -3" (identifier "param_4") (* "*") (number_literal "-3")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar4 = param_2 + 1;" (assignment_expression "pfVar4 = param_2 + 1" (identifier "pfVar4") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0018bd70;" (goto "goto") (statement_identifier "LAB_0018bd70") (; ";")) (} "}"))) (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar13 == *pfVar4)" (( "(") (binary_expression "*pfVar13 == *pfVar4" (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")) (== "==") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0018bd80:\n  pfVar4 = pfVar9;" (statement_identifier "LAB_0018bd80") (: ":") (expression_statement "pfVar4 = pfVar9;" (assignment_expression "pfVar4 = pfVar9" (identifier "pfVar4") (= "=") (identifier "pfVar9")) (; ";"))) (expression_statement "pfVar5 = param_3 + param_4 * 3;" (assignment_expression "pfVar5 = param_3 + param_4 * 3" (identifier "pfVar5") (= "=") (binary_expression "param_3 + param_4 * 3" (identifier "param_3") (+ "+") (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3")))) (; ";")) (while_statement "while( true ) {\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar5 = fVar17;\n    pfVar4 = pfVar4 + 1;\n    if (pfVar5 + 1 == param_3 + param_4 * 4) break;\n    fVar17 = *pfVar4;\n    pfVar5 = pfVar5 + 1;\n  }" ({ "{") (expression_statement "*pfVar5 = fVar17;" (assignment_expression "*pfVar5 = fVar17" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (identifier "fVar17")) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pfVar5 + 1 == param_3 + param_4 * 4) break;" (if "if") (parenthesized_expression "(pfVar5 + 1 == param_3 + param_4 * 4)" (( "(") (binary_expression "pfVar5 + 1 == param_3 + param_4 * 4" (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1")) (== "==") (binary_expression "param_3 + param_4 * 4" (identifier "param_3") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar17 = *pfVar4;" (assignment_expression "fVar17 = *pfVar4" (identifier "fVar17") (= "=") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0018bdb0;" (goto "goto") (statement_identifier "LAB_0018bdb0") (; ";")) (labeled_statement "LAB_0018bc00:\n  pfVar13 = pfVar5 + 1;" (statement_identifier "LAB_0018bc00") (: ":") (expression_statement "pfVar13 = pfVar5 + 1;" (assignment_expression "pfVar13 = pfVar5 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;" (if "if") (parenthesized_expression "(*pfVar13 != *pfVar4)" (( "(") (binary_expression "*pfVar13 != *pfVar4" (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13")) (!= "!=") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) () ")")) (goto_statement "goto LAB_0018c1e8;" (goto "goto") (statement_identifier "LAB_0018c1e8") (; ";"))) (goto_statement "goto LAB_0018bc14;" (goto "goto") (statement_identifier "LAB_0018bc14") (; ";")) (while_statement "while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }" (while "while") (parenthesized_expression "(pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5)" (( "(") (comma_expression "pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar10 = pfVar4 + 1" (identifier "pfVar10") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar10 == *pfVar5" (pointer_expression "*pfVar10" (* "*") (identifier "pfVar10")) (== "==") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))))) () ")")) (compound_statement "{\nLAB_0018bce4:\n    iVar12 = iVar12 + 1;\n    pfVar5 = pfVar5 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bcf4;\n  }" ({ "{") (labeled_statement "LAB_0018bce4:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018bce4") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == iVar12) goto LAB_0018bcf4;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018bcf4;" (goto "goto") (statement_identifier "LAB_0018bcf4") (; ";"))) (} "}"))) (goto_statement "goto LAB_0018c2c8;" (goto "goto") (statement_identifier "LAB_0018c2c8") (; ";")) (while_statement "while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15) {\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }" (while "while") (parenthesized_expression "(pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15)" (( "(") (comma_expression "pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar5 = pfVar10 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar10 + 1" (identifier "pfVar10") (+ "+") (number_literal "1"))) (, ",") (comma_expression "fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "fVar15 = *pfVar4" (identifier "fVar15") (= "=") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) (, ",") (comma_expression "pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar10 = pfVar10 + 1" (identifier "pfVar10") (= "=") (binary_expression "pfVar10 + 1" (identifier "pfVar10") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar4 = pfVar4 + 1,\n        *pfVar5 == fVar15" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar5 == fVar15" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (identifier "fVar15")))))) () ")")) (compound_statement "{\nLAB_0018bd70:\n    iVar8 = iVar8 + 1;\n    if (param_4 == iVar8) goto LAB_0018bd80;\n  }" ({ "{") (labeled_statement "LAB_0018bd70:\n    iVar8 = iVar8 + 1;" (statement_identifier "LAB_0018bd70") (: ":") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (param_4 == iVar8) goto LAB_0018bd80;" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_0018bd80;" (goto "goto") (statement_identifier "LAB_0018bd80") (; ";"))) (} "}"))) (labeled_statement "LAB_0018c2c8:\n  pfVar5 = pfVar3 + param_4 * 2;" (statement_identifier "LAB_0018c2c8") (: ":") (expression_statement "pfVar5 = pfVar3 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar3 + param_4 * 2" (identifier "pfVar5") (= "=") (binary_expression "pfVar3 + param_4 * 2" (identifier "pfVar3") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";"))) (expression_statement "pfVar4 = param_3 + param_4 * 3;" (assignment_expression "pfVar4 = param_3 + param_4 * 3" (identifier "pfVar4") (= "=") (binary_expression "param_3 + param_4 * 3" (identifier "param_3") (+ "+") (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3")))) (; ";")) (while_statement "while( true ) {\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar4 = fVar16;\n    pfVar5 = pfVar5 + 1;\n    if (param_3 + param_4 * 4 == pfVar4 + 1) break;\n    fVar16 = *pfVar5;\n    pfVar4 = pfVar4 + 1;\n  }" ({ "{") (expression_statement "*pfVar4 = fVar16;" (assignment_expression "*pfVar4 = fVar16" (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 4 == pfVar4 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 4 == pfVar4 + 1)" (( "(") (binary_expression "param_3 + param_4 * 4 == pfVar4 + 1" (binary_expression "param_3 + param_4 * 4" (identifier "param_3") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4"))) (== "==") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" (identifier "fVar16") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_0018bdb0:\n  pfVar13 = pfVar3 + param_4 * 3;" (statement_identifier "LAB_0018bdb0") (: ":") (expression_statement "pfVar13 = pfVar3 + param_4 * 3;" (assignment_expression "pfVar13 = pfVar3 + param_4 * 3" (identifier "pfVar13") (= "=") (binary_expression "pfVar3 + param_4 * 3" (identifier "pfVar3") (+ "+") (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3")))) (; ";"))) (expression_statement "pfVar10 = param_3 + param_4 * 4;" (assignment_expression "pfVar10 = param_3 + param_4 * 4" (identifier "pfVar10") (= "=") (binary_expression "param_3 + param_4 * 4" (identifier "param_3") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar4 = pfVar13;" (assignment_expression "pfVar4 = pfVar13" (identifier "pfVar4") (= "=") (identifier "pfVar13")) (; ";")) (expression_statement "pfVar5 = pfVar10;" (assignment_expression "pfVar5 = pfVar10" (identifier "pfVar5") (= "=") (identifier "pfVar10")) (; ";")) (do_statement "do {\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  } while (pfVar4 != param_2 + param_4 * 5);" (do "do") (compound_statement "{\n    fVar16 = *pfVar4;\n    pfVar4 = pfVar4 + 1;\n    *pfVar5 = fVar16;\n    pfVar5 = pfVar5 + 1;\n  }" ({ "{") (expression_statement "fVar16 = *pfVar4;" (assignment_expression "fVar16 = *pfVar4" (identifier "fVar16") (= "=") (pointer_expression "*pfVar4" (* "*") (identifier "pfVar4"))) (; ";")) (expression_statement "pfVar4 = pfVar4 + 1;" (assignment_expression "pfVar4 = pfVar4 + 1" (identifier "pfVar4") (= "=") (binary_expression "pfVar4 + 1" (identifier "pfVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar4 != param_2 + param_4 * 5)" (( "(") (binary_expression "pfVar4 != param_2 + param_4 * 5" (identifier "pfVar4") (!= "!=") (binary_expression "param_2 + param_4 * 5" (identifier "param_2") (+ "+") (binary_expression "param_4 * 5" (identifier "param_4") (* "*") (number_literal "5")))) () ")")) (; ";")) (expression_statement "fVar17 = *pfVar2;" (assignment_expression "fVar17 = *pfVar2" (identifier "fVar17") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (expression_statement "fVar16 = *pfVar9;" (assignment_expression "fVar16 = *pfVar9" (identifier "fVar16") (= "=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) (; ";")) (if_statement "if (fVar17 == *pfVar3) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" (if "if") (parenthesized_expression "(fVar17 == *pfVar3)" (( "(") (binary_expression "fVar17 == *pfVar3" (identifier "fVar17") (== "==") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) () ")")) (compound_statement "{\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * -4;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" ({ "{") (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" (identifier "pfVar11") (= "=") (binary_expression "pfVar13 + param_4" (identifier "pfVar13") (+ "+") (identifier "param_4"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar14 = pfVar11 + param_4 * -4;" (assignment_expression "pfVar14 = pfVar11 + param_4 * -4" (identifier "pfVar14") (= "=") (binary_expression "pfVar11 + param_4 * -4" (identifier "pfVar11") (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pfVar5 = pfVar14;" (assignment_expression "pfVar5 = pfVar14" (identifier "pfVar5") (= "=") (identifier "pfVar14")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;\n        pfVar11 = pfVar5 + param_4 * 4;\n        goto LAB_0018be6c;\n      }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;" (if "if") (parenthesized_expression "(pfVar14[param_4 * 7] != fVar16)" (( "(") (binary_expression "pfVar14[param_4 * 7] != fVar16" (subscript_expression "pfVar14[param_4 * 7]" (identifier "pfVar14") ([ "[") (binary_expression "param_4 * 7" (identifier "param_4") (* "*") (number_literal "7")) (] "]")) (!= "!=") (identifier "fVar16")) () ")")) (goto_statement "goto LAB_0018c2fc;" (goto "goto") (statement_identifier "LAB_0018c2fc") (; ";"))) (expression_statement "pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;" (assignment_expression "pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4" (identifier "pfVar5") (= "=") (binary_expression "pfVar14 + param_4 * 7 + param_4 * -4" (binary_expression "pfVar14 + param_4 * 7" (identifier "pfVar14") (+ "+") (binary_expression "param_4 * 7" (identifier "param_4") (* "*") (number_literal "7"))) (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pfVar11 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar11 = pfVar5 + param_4 * 4" (identifier "pfVar11") (= "=") (binary_expression "pfVar5 + param_4 * 4" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (goto_statement "goto LAB_0018be6c;" (goto "goto") (statement_identifier "LAB_0018be6c") (; ";")) (} "}"))) (expression_statement "pfVar1 = pfVar11 + 1;" (assignment_expression "pfVar1 = pfVar11 + 1" (identifier "pfVar1") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar1 == *pfVar5)" (( "(") (binary_expression "*pfVar1 == *pfVar5" (pointer_expression "*pfVar1" (* "*") (identifier "pfVar1")) (== "==") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0018be7c:\n  if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" (statement_identifier "LAB_0018be7c") (: ":") (if_statement "if (fVar17 == *pfVar6) {\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" (if "if") (parenthesized_expression "(fVar17 == *pfVar6)" (( "(") (binary_expression "fVar17 == *pfVar6" (identifier "fVar17") (== "==") (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6"))) () ")")) (compound_statement "{\n    pfVar11 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar14 = pfVar11 + param_4 * 2;\n    pfVar5 = pfVar14;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);\n  }" ({ "{") (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" (identifier "pfVar11") (= "=") (binary_expression "pfVar13 + param_4" (identifier "pfVar13") (+ "+") (identifier "param_4"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar14 = pfVar11 + param_4 * 2;" (assignment_expression "pfVar14 = pfVar11 + param_4 * 2" (identifier "pfVar14") (= "=") (binary_expression "pfVar11 + param_4 * 2" (identifier "pfVar11") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "pfVar5 = pfVar14;" (assignment_expression "pfVar5 = pfVar14" (identifier "pfVar5") (= "=") (identifier "pfVar14")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    } while (*pfVar1 == *pfVar5);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar5 = pfVar5 + 1;\n      if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }\n      pfVar1 = pfVar11 + 1;\n      pfVar11 = pfVar11 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        iVar12 = 0;\n        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;\n        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;\n        pfVar11 = pfVar5 + param_4 * -2;\n        goto LAB_0018bf04;\n      }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;" (if "if") (parenthesized_expression "(pfVar14[param_4 * -5] != fVar16)" (( "(") (binary_expression "pfVar14[param_4 * -5] != fVar16" (subscript_expression "pfVar14[param_4 * -5]" (identifier "pfVar14") ([ "[") (binary_expression "param_4 * -5" (identifier "param_4") (* "*") (number_literal "-5")) (] "]")) (!= "!=") (identifier "fVar16")) () ")")) (goto_statement "goto LAB_0018c2fc;" (goto "goto") (statement_identifier "LAB_0018c2fc") (; ";"))) (expression_statement "pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2" (identifier "pfVar5") (= "=") (binary_expression "pfVar14 + param_4 * -5 + param_4 * 2" (binary_expression "pfVar14 + param_4 * -5" (identifier "pfVar14") (+ "+") (binary_expression "param_4 * -5" (identifier "param_4") (* "*") (number_literal "-5"))) (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "pfVar11 = pfVar5 + param_4 * -2;" (assignment_expression "pfVar11 = pfVar5 + param_4 * -2" (identifier "pfVar11") (= "=") (binary_expression "pfVar5 + param_4 * -2" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (goto_statement "goto LAB_0018bf04;" (goto "goto") (statement_identifier "LAB_0018bf04") (; ";")) (} "}"))) (expression_statement "pfVar1 = pfVar11 + 1;" (assignment_expression "pfVar1 = pfVar11 + 1" (identifier "pfVar1") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar1 == *pfVar5)" (( "(") (binary_expression "*pfVar1 == *pfVar5" (pointer_expression "*pfVar1" (* "*") (identifier "pfVar1")) (== "==") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0018bf14:\n  pfVar5 = pfVar10 + param_4;" (statement_identifier "LAB_0018bf14") (: ":") (expression_statement "pfVar5 = pfVar10 + param_4;" (assignment_expression "pfVar5 = pfVar10 + param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar10 + param_4" (identifier "pfVar10") (+ "+") (identifier "param_4"))) (; ";"))) (expression_statement "pfVar11 = pfVar13;" (assignment_expression "pfVar11 = pfVar13" (identifier "pfVar11") (= "=") (identifier "pfVar13")) (; ";")) (while_statement "while( true ) {\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar5 = fVar16;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar16 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" ({ "{") (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 6 == pfVar5 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 6 == pfVar5 + 1)" (( "(") (binary_expression "param_3 + param_4 * 6 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 6" (identifier "param_3") (+ "+") (binary_expression "param_4 * 6" (identifier "param_4") (* "*") (number_literal "6"))) (== "==") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar11;" (assignment_expression "fVar16 = *pfVar11" (identifier "fVar16") (= "=") (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" (identifier "fVar16") (= "=") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) (; ";")) (goto_statement "goto LAB_0018bf44;" (goto "goto") (statement_identifier "LAB_0018bf44") (; ";")) (while_statement "while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }" (while "while") (parenthesized_expression "(pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11)" (( "(") (comma_expression "pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar14 = pfVar5 + 1" (identifier "pfVar14") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar14 == *pfVar11" (pointer_expression "*pfVar14" (* "*") (identifier "pfVar14")) (== "==") (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11"))))) () ")")) (compound_statement "{\nLAB_0018be6c:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018be7c;\n  }" ({ "{") (labeled_statement "LAB_0018be6c:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018be6c") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == iVar12) goto LAB_0018be7c;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018be7c;" (goto "goto") (statement_identifier "LAB_0018be7c") (; ";"))) (} "}"))) (goto_statement "goto LAB_0018c2fc;" (goto "goto") (statement_identifier "LAB_0018c2fc") (; ";")) (while_statement "while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }" (while "while") (parenthesized_expression "(pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11)" (( "(") (comma_expression "pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar14 = pfVar5 + 1" (identifier "pfVar14") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar14 == *pfVar11" (pointer_expression "*pfVar14" (* "*") (identifier "pfVar14")) (== "==") (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11"))))) () ")")) (compound_statement "{\nLAB_0018bf04:\n    iVar12 = iVar12 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (iVar8 == iVar12) goto LAB_0018bf14;\n  }" ({ "{") (labeled_statement "LAB_0018bf04:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018bf04") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == iVar12) goto LAB_0018bf14;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018bf14;" (goto "goto") (statement_identifier "LAB_0018bf14") (; ";"))) (} "}"))) (labeled_statement "LAB_0018c2fc:\n  pfVar11 = pfVar13 + param_4;" (statement_identifier "LAB_0018c2fc") (: ":") (expression_statement "pfVar11 = pfVar13 + param_4;" (assignment_expression "pfVar11 = pfVar13 + param_4" (identifier "pfVar11") (= "=") (binary_expression "pfVar13 + param_4" (identifier "pfVar13") (+ "+") (identifier "param_4"))) (; ";"))) (expression_statement "pfVar5 = pfVar10 + param_4;" (assignment_expression "pfVar5 = pfVar10 + param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar10 + param_4" (identifier "pfVar10") (+ "+") (identifier "param_4"))) (; ";")) (while_statement "while( true ) {\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar5 = fVar17;\n    pfVar11 = pfVar11 + 1;\n    if (param_3 + param_4 * 6 == pfVar5 + 1) break;\n    fVar17 = *pfVar11;\n    pfVar5 = pfVar5 + 1;\n  }" ({ "{") (expression_statement "*pfVar5 = fVar17;" (assignment_expression "*pfVar5 = fVar17" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (identifier "fVar17")) (; ";")) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 6 == pfVar5 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 6 == pfVar5 + 1)" (( "(") (binary_expression "param_3 + param_4 * 6 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 6" (identifier "param_3") (+ "+") (binary_expression "param_4 * 6" (identifier "param_4") (* "*") (number_literal "6"))) (== "==") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar17 = *pfVar11;" (assignment_expression "fVar17 = *pfVar11" (identifier "fVar17") (= "=") (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar7;" (assignment_expression "fVar16 = *pfVar7" (identifier "fVar16") (= "=") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) (; ";")) (labeled_statement "LAB_0018bf44:\n  pfVar5 = pfVar13 + -param_4;" (statement_identifier "LAB_0018bf44") (: ":") (expression_statement "pfVar5 = pfVar13 + -param_4;" (assignment_expression "pfVar5 = pfVar13 + -param_4" (identifier "pfVar5") (= "=") (binary_expression "pfVar13 + -param_4" (identifier "pfVar13") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";"))) (if_statement "if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }" (if "if") (parenthesized_expression "(*pfVar6 == fVar16)" (( "(") (binary_expression "*pfVar6 == fVar16" (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6")) (== "==") (identifier "fVar16")) () ")")) (compound_statement "{\n    iVar8 = 0;\n    pfVar14 = pfVar5 + param_4 * 4;\n    pfVar11 = pfVar14;\nLAB_0018bf78:\n    iVar8 = iVar8 + 1;\n    pfVar11 = pfVar11 + 1;\n    if (param_4 != iVar8) goto LAB_0018bf64;\n    pfVar14 = pfVar14 + param_4 * -4;\n    pfVar5 = pfVar10 + param_4 * 2;\n    while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }\n    fVar16 = *pfVar6;\n    goto LAB_0018bfbc;\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar14 = pfVar5 + param_4 * 4;" (assignment_expression "pfVar14 = pfVar5 + param_4 * 4" (identifier "pfVar14") (= "=") (binary_expression "pfVar5 + param_4 * 4" (identifier "pfVar5") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar11 = pfVar14;" (assignment_expression "pfVar11 = pfVar14" (identifier "pfVar11") (= "=") (identifier "pfVar14")) (; ";")) (labeled_statement "LAB_0018bf78:\n    iVar8 = iVar8 + 1;" (statement_identifier "LAB_0018bf78") (: ":") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 != iVar8) goto LAB_0018bf64;" (if "if") (parenthesized_expression "(param_4 != iVar8)" (( "(") (binary_expression "param_4 != iVar8" (identifier "param_4") (!= "!=") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_0018bf64;" (goto "goto") (statement_identifier "LAB_0018bf64") (; ";"))) (expression_statement "pfVar14 = pfVar14 + param_4 * -4;" (assignment_expression "pfVar14 = pfVar14 + param_4 * -4" (identifier "pfVar14") (= "=") (binary_expression "pfVar14 + param_4 * -4" (identifier "pfVar14") (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pfVar5 = pfVar10 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar10 + param_4 * 2" (identifier "pfVar5") (= "=") (binary_expression "pfVar10 + param_4 * 2" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (while_statement "while( true ) {\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      *pfVar5 = fVar16;\n      pfVar14 = pfVar14 + 1;\n      if (param_3 + param_4 * 7 == pfVar5 + 1) break;\n      fVar16 = *pfVar14;\n      pfVar5 = pfVar5 + 1;\n    }" ({ "{") (expression_statement "*pfVar5 = fVar16;" (assignment_expression "*pfVar5 = fVar16" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar14 = pfVar14 + 1;" (assignment_expression "pfVar14 = pfVar14 + 1" (identifier "pfVar14") (= "=") (binary_expression "pfVar14 + 1" (identifier "pfVar14") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 7 == pfVar5 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 7 == pfVar5 + 1)" (( "(") (binary_expression "param_3 + param_4 * 7 == pfVar5 + 1" (binary_expression "param_3 + param_4 * 7" (identifier "param_3") (+ "+") (binary_expression "param_4 * 7" (identifier "param_4") (* "*") (number_literal "7"))) (== "==") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar14;" (assignment_expression "fVar16 = *pfVar14" (identifier "fVar16") (= "=") (pointer_expression "*pfVar14" (* "*") (identifier "pfVar14"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar6;" (assignment_expression "fVar16 = *pfVar6" (identifier "fVar16") (= "=") (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6"))) (; ";")) (goto_statement "goto LAB_0018bfbc;" (goto "goto") (statement_identifier "LAB_0018bfbc") (; ";")) (} "}"))) (labeled_statement "LAB_0018c240:\n  pfVar5 = pfVar13;" (statement_identifier "LAB_0018c240") (: ":") (expression_statement "pfVar5 = pfVar13;" (assignment_expression "pfVar5 = pfVar13" (identifier "pfVar5") (= "=") (identifier "pfVar13")) (; ";"))) (expression_statement "pfVar11 = pfVar10 + param_4 * 2;" (assignment_expression "pfVar11 = pfVar10 + param_4 * 2" (identifier "pfVar11") (= "=") (binary_expression "pfVar10 + param_4 * 2" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (do_statement "do {\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  } while (pfVar4 != pfVar5);" (do "do") (compound_statement "{\n    fVar16 = *pfVar5;\n    pfVar5 = pfVar5 + 1;\n    *pfVar11 = fVar16;\n    pfVar11 = pfVar11 + 1;\n  }" ({ "{") (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" (identifier "fVar16") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar11 = fVar16;" (assignment_expression "*pfVar11 = fVar16" (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar11 = pfVar11 + 1;" (assignment_expression "pfVar11 = pfVar11 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar11 + 1" (identifier "pfVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar4 != pfVar5)" (( "(") (binary_expression "pfVar4 != pfVar5" (identifier "pfVar4") (!= "!=") (identifier "pfVar5")) () ")")) (; ";")) (expression_statement "fVar16 = *pfVar6;" (assignment_expression "fVar16 = *pfVar6" (identifier "fVar16") (= "=") (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6"))) (; ";")) (labeled_statement "LAB_0018bfbc:\n  fVar17 = *pfVar9;" (statement_identifier "LAB_0018bfbc") (: ":") (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" (identifier "fVar17") (= "=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) (; ";"))) (if_statement "if (*pfVar7 == fVar16) {\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" (if "if") (parenthesized_expression "(*pfVar7 == fVar16)" (( "(") (binary_expression "*pfVar7 == fVar16" (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7")) (== "==") (identifier "fVar16")) () ")")) (compound_statement "{\n    pfVar9 = pfVar13 + -param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 4;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" ({ "{") (expression_statement "pfVar9 = pfVar13 + -param_4;" (assignment_expression "pfVar9 = pfVar13 + -param_4" (identifier "pfVar9") (= "=") (binary_expression "pfVar13 + -param_4" (identifier "pfVar13") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4")))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar5 = pfVar9 + param_4 * 4;" (assignment_expression "pfVar5 = pfVar9 + param_4 * 4" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + param_4 * 4" (identifier "pfVar9") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "pfVar7 = pfVar5;" (assignment_expression "pfVar7 = pfVar5" (identifier "pfVar7") (= "=") (identifier "pfVar5")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        pfVar7 = pfVar5 + param_4 + param_4 * -4;\n        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 4;\n        goto LAB_0018c038;\n      }" ({ "{") (expression_statement "pfVar7 = pfVar5 + param_4 + param_4 * -4;" (assignment_expression "pfVar7 = pfVar5 + param_4 + param_4 * -4" (identifier "pfVar7") (= "=") (binary_expression "pfVar5 + param_4 + param_4 * -4" (binary_expression "pfVar5 + param_4" (identifier "pfVar5") (+ "+") (identifier "param_4")) (+ "+") (binary_expression "param_4 * -4" (identifier "param_4") (* "*") (number_literal "-4")))) (; ";")) (if_statement "if (pfVar5[param_4] != fVar17) goto LAB_0018c264;" (if "if") (parenthesized_expression "(pfVar5[param_4] != fVar17)" (( "(") (binary_expression "pfVar5[param_4] != fVar17" (subscript_expression "pfVar5[param_4]" (identifier "pfVar5") ([ "[") (identifier "param_4") (] "]")) (!= "!=") (identifier "fVar17")) () ")")) (goto_statement "goto LAB_0018c264;" (goto "goto") (statement_identifier "LAB_0018c264") (; ";"))) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar9 = pfVar7 + param_4 * 4;" (assignment_expression "pfVar9 = pfVar7 + param_4 * 4" (identifier "pfVar9") (= "=") (binary_expression "pfVar7 + param_4 * 4" (identifier "pfVar7") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (goto_statement "goto LAB_0018c038;" (goto "goto") (statement_identifier "LAB_0018c038") (; ";")) (} "}"))) (expression_statement "pfVar11 = pfVar9 + 1;" (assignment_expression "pfVar11 = pfVar9 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar11 == *pfVar7)" (( "(") (binary_expression "*pfVar11 == *pfVar7" (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11")) (== "==") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0018c048:\n  if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" (statement_identifier "LAB_0018c048") (: ":") (if_statement "if (*pfVar2 == fVar16) {\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" (if "if") (parenthesized_expression "(*pfVar2 == fVar16)" (( "(") (binary_expression "*pfVar2 == fVar16" (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2")) (== "==") (identifier "fVar16")) () ")")) (compound_statement "{\n    pfVar9 = pfVar13 + param_4;\n    iVar8 = 0;\n    pfVar5 = pfVar9 + param_4 * 2;\n    pfVar7 = pfVar5;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);\n  }" ({ "{") (expression_statement "pfVar9 = pfVar13 + param_4;" (assignment_expression "pfVar9 = pfVar13 + param_4" (identifier "pfVar9") (= "=") (binary_expression "pfVar13 + param_4" (identifier "pfVar13") (+ "+") (identifier "param_4"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar5 = pfVar9 + param_4 * 2;" (assignment_expression "pfVar5 = pfVar9 + param_4 * 2" (identifier "pfVar5") (= "=") (binary_expression "pfVar9 + param_4 * 2" (identifier "pfVar9") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "pfVar7 = pfVar5;" (assignment_expression "pfVar7 = pfVar5" (identifier "pfVar7") (= "=") (identifier "pfVar5")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    } while (*pfVar11 == *pfVar7);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar7 = pfVar7 + 1;\n      if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }\n      pfVar11 = pfVar9 + 1;\n      pfVar9 = pfVar9 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        pfVar7 = pfVar5 + -param_4 + param_4 * -2;\n        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;\n        iVar12 = 0;\n        pfVar9 = pfVar7 + param_4 * 2;\n        goto LAB_0018c0c4;\n      }" ({ "{") (expression_statement "pfVar7 = pfVar5 + -param_4 + param_4 * -2;" (assignment_expression "pfVar7 = pfVar5 + -param_4 + param_4 * -2" (identifier "pfVar7") (= "=") (binary_expression "pfVar5 + -param_4 + param_4 * -2" (binary_expression "pfVar5 + -param_4" (identifier "pfVar5") (+ "+") (unary_expression "-param_4" (- "-") (identifier "param_4"))) (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (if_statement "if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;" (if "if") (parenthesized_expression "(pfVar5[-param_4] != fVar17)" (( "(") (binary_expression "pfVar5[-param_4] != fVar17" (subscript_expression "pfVar5[-param_4]" (identifier "pfVar5") ([ "[") (unary_expression "-param_4" (- "-") (identifier "param_4")) (] "]")) (!= "!=") (identifier "fVar17")) () ")")) (goto_statement "goto LAB_0018c264;" (goto "goto") (statement_identifier "LAB_0018c264") (; ";"))) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar9 = pfVar7 + param_4 * 2;" (assignment_expression "pfVar9 = pfVar7 + param_4 * 2" (identifier "pfVar9") (= "=") (binary_expression "pfVar7 + param_4 * 2" (identifier "pfVar7") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (goto_statement "goto LAB_0018c0c4;" (goto "goto") (statement_identifier "LAB_0018c0c4") (; ";")) (} "}"))) (expression_statement "pfVar11 = pfVar9 + 1;" (assignment_expression "pfVar11 = pfVar9 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar11 == *pfVar7)" (( "(") (binary_expression "*pfVar11 == *pfVar7" (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11")) (== "==") (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0018c0d4:\n  pfVar7 = param_3 + param_4 * 7;" (statement_identifier "LAB_0018c0d4") (: ":") (expression_statement "pfVar7 = param_3 + param_4 * 7;" (assignment_expression "pfVar7 = param_3 + param_4 * 7" (identifier "pfVar7") (= "=") (binary_expression "param_3 + param_4 * 7" (identifier "param_3") (+ "+") (binary_expression "param_4 * 7" (identifier "param_4") (* "*") (number_literal "7")))) (; ";"))) (expression_statement "pfVar9 = pfVar13;" (assignment_expression "pfVar9 = pfVar13" (identifier "pfVar9") (= "=") (identifier "pfVar13")) (; ";")) (while_statement "while( true ) {\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar7 = fVar17;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar17 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" ({ "{") (expression_statement "*pfVar7 = fVar17;" (assignment_expression "*pfVar7 = fVar17" (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7")) (= "=") (identifier "fVar17")) (; ";")) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 8 == pfVar7 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 8 == pfVar7 + 1)" (( "(") (binary_expression "param_3 + param_4 * 8 == pfVar7 + 1" (binary_expression "param_3 + param_4 * 8" (identifier "param_3") (+ "+") (binary_expression "param_4 * 8" (identifier "param_4") (* "*") (number_literal "8"))) (== "==") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar17 = *pfVar9;" (assignment_expression "fVar17 = *pfVar9" (identifier "fVar17") (= "=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) (; ";")) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" (identifier "fVar16") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (goto_statement "goto LAB_0018c100;" (goto "goto") (statement_identifier "LAB_0018c100") (; ";")) (labeled_statement "LAB_0018bf64:\n  pfVar1 = pfVar5 + 1;" (statement_identifier "LAB_0018bf64") (: ":") (expression_statement "pfVar1 = pfVar5 + 1;" (assignment_expression "pfVar1 = pfVar5 + 1" (identifier "pfVar1") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar5 + 1" (identifier "pfVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pfVar1 != *pfVar11) goto LAB_0018c240;" (if "if") (parenthesized_expression "(*pfVar1 != *pfVar11)" (( "(") (binary_expression "*pfVar1 != *pfVar11" (pointer_expression "*pfVar1" (* "*") (identifier "pfVar1")) (!= "!=") (pointer_expression "*pfVar11" (* "*") (identifier "pfVar11"))) () ")")) (goto_statement "goto LAB_0018c240;" (goto "goto") (statement_identifier "LAB_0018c240") (; ";"))) (goto_statement "goto LAB_0018bf78;" (goto "goto") (statement_identifier "LAB_0018bf78") (; ";")) (while_statement "while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }" (while "while") (parenthesized_expression "(pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9)" (( "(") (comma_expression "pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar5 = pfVar7 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar5 == *pfVar9" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))))) () ")")) (compound_statement "{\nLAB_0018c038:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c048;\n  }" ({ "{") (labeled_statement "LAB_0018c038:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018c038") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == iVar12) goto LAB_0018c048;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018c048;" (goto "goto") (statement_identifier "LAB_0018c048") (; ";"))) (} "}"))) (goto_statement "goto LAB_0018c264;" (goto "goto") (statement_identifier "LAB_0018c264") (; ";")) (while_statement "while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }" (while "while") (parenthesized_expression "(pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9)" (( "(") (comma_expression "pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar5 = pfVar7 + 1" (identifier "pfVar5") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (, ",") (comma_expression "pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (, ",") (binary_expression "*pfVar5 == *pfVar9" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))))) () ")")) (compound_statement "{\nLAB_0018c0c4:\n    iVar12 = iVar12 + 1;\n    pfVar9 = pfVar9 + 1;\n    if (iVar8 == iVar12) goto LAB_0018c0d4;\n  }" ({ "{") (labeled_statement "LAB_0018c0c4:\n    iVar12 = iVar12 + 1;" (statement_identifier "LAB_0018c0c4") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar8 == iVar12) goto LAB_0018c0d4;" (if "if") (parenthesized_expression "(iVar8 == iVar12)" (( "(") (binary_expression "iVar8 == iVar12" (identifier "iVar8") (== "==") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0018c0d4;" (goto "goto") (statement_identifier "LAB_0018c0d4") (; ";"))) (} "}"))) (labeled_statement "LAB_0018c264:\n  pfVar7 = param_3 + param_4 * 7;" (statement_identifier "LAB_0018c264") (: ":") (expression_statement "pfVar7 = param_3 + param_4 * 7;" (assignment_expression "pfVar7 = param_3 + param_4 * 7" (identifier "pfVar7") (= "=") (binary_expression "param_3 + param_4 * 7" (identifier "param_3") (+ "+") (binary_expression "param_4 * 7" (identifier "param_4") (* "*") (number_literal "7")))) (; ";"))) (expression_statement "pfVar9 = pfVar6;" (assignment_expression "pfVar9 = pfVar6" (identifier "pfVar9") (= "=") (identifier "pfVar6")) (; ";")) (while_statement "while( true ) {\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *pfVar7 = fVar16;\n    pfVar9 = pfVar9 + 1;\n    if (param_3 + param_4 * 8 == pfVar7 + 1) break;\n    fVar16 = *pfVar9;\n    pfVar7 = pfVar7 + 1;\n  }" ({ "{") (expression_statement "*pfVar7 = fVar16;" (assignment_expression "*pfVar7 = fVar16" (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar9 = pfVar9 + 1;" (assignment_expression "pfVar9 = pfVar9 + 1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 1" (identifier "pfVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_3 + param_4 * 8 == pfVar7 + 1) break;" (if "if") (parenthesized_expression "(param_3 + param_4 * 8 == pfVar7 + 1)" (( "(") (binary_expression "param_3 + param_4 * 8 == pfVar7 + 1" (binary_expression "param_3 + param_4 * 8" (identifier "param_3") (+ "+") (binary_expression "param_4 * 8" (identifier "param_4") (* "*") (number_literal "8"))) (== "==") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar9;" (assignment_expression "fVar16 = *pfVar9" (identifier "fVar16") (= "=") (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9"))) (; ";")) (expression_statement "pfVar7 = pfVar7 + 1;" (assignment_expression "pfVar7 = pfVar7 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar7 + 1" (identifier "pfVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" (identifier "fVar16") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (labeled_statement "LAB_0018c100:\n  pfVar3 = pfVar3 + param_4 * 4;" (statement_identifier "LAB_0018c100") (: ":") (expression_statement "pfVar3 = pfVar3 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar3 + param_4 * 4" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + param_4 * 4" (identifier "pfVar3") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";"))) (if_statement "if (*pfVar6 == fVar16) {\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }" (if "if") (parenthesized_expression "(*pfVar6 == fVar16)" (( "(") (binary_expression "*pfVar6 == fVar16" (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6")) (== "==") (identifier "fVar16")) () ")")) (compound_statement "{\n    iVar8 = 0;\n    pfVar2 = pfVar3 + param_4 * 2;\n    pfVar6 = pfVar2;\n    do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar2 = pfVar3 + param_4 * 2;" (assignment_expression "pfVar2 = pfVar3 + param_4 * 2" (identifier "pfVar2") (= "=") (binary_expression "pfVar3 + param_4 * 2" (identifier "pfVar3") (+ "+") (binary_expression "param_4 * 2" (identifier "param_4") (* "*") (number_literal "2")))) (; ";")) (expression_statement "pfVar6 = pfVar2;" (assignment_expression "pfVar6 = pfVar2" (identifier "pfVar6") (= "=") (identifier "pfVar2")) (; ";")) (do_statement "do {\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    } while (*pfVar7 == *pfVar6);" (do "do") (compound_statement "{\n      iVar8 = iVar8 + 1;\n      pfVar6 = pfVar6 + 1;\n      if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }\n      pfVar7 = pfVar3 + 1;\n      pfVar3 = pfVar3 + 1;\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar6 = pfVar6 + 1;" (assignment_expression "pfVar6 = pfVar6 + 1" (identifier "pfVar6") (= "=") (binary_expression "pfVar6 + 1" (identifier "pfVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_4 == iVar8) {\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }" (if "if") (parenthesized_expression "(param_4 == iVar8)" (( "(") (binary_expression "param_4 == iVar8" (identifier "param_4") (== "==") (identifier "iVar8")) () ")")) (compound_statement "{\n        pfVar2 = pfVar2 + param_4 * -2;\n        pfVar3 = pfVar10 + param_4 * 4;\n        while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }\n        return;\n      }" ({ "{") (expression_statement "pfVar2 = pfVar2 + param_4 * -2;" (assignment_expression "pfVar2 = pfVar2 + param_4 * -2" (identifier "pfVar2") (= "=") (binary_expression "pfVar2 + param_4 * -2" (identifier "pfVar2") (+ "+") (binary_expression "param_4 * -2" (identifier "param_4") (* "*") (number_literal "-2")))) (; ";")) (expression_statement "pfVar3 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar10 + param_4 * 4" (identifier "pfVar3") (= "=") (binary_expression "pfVar10 + param_4 * 4" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (while_statement "while( true ) {\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          *pfVar3 = fVar16;\n          pfVar2 = pfVar2 + 1;\n          if (pfVar3 + 1 == param_3 + param_4 * 9) break;\n          fVar16 = *pfVar2;\n          pfVar3 = pfVar3 + 1;\n        }" ({ "{") (expression_statement "*pfVar3 = fVar16;" (assignment_expression "*pfVar3 = fVar16" (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" (identifier "pfVar2") (= "=") (binary_expression "pfVar2 + 1" (identifier "pfVar2") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pfVar3 + 1 == param_3 + param_4 * 9) break;" (if "if") (parenthesized_expression "(pfVar3 + 1 == param_3 + param_4 * 9)" (( "(") (binary_expression "pfVar3 + 1 == param_3 + param_4 * 9" (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1")) (== "==") (binary_expression "param_3 + param_4 * 9" (identifier "param_3") (+ "+") (binary_expression "param_4 * 9" (identifier "param_4") (* "*") (number_literal "9")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar16 = *pfVar2;" (assignment_expression "fVar16 = *pfVar2" (identifier "fVar16") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pfVar7 = pfVar3 + 1;" (assignment_expression "pfVar7 = pfVar3 + 1" (identifier "pfVar7") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*pfVar7 == *pfVar6)" (( "(") (binary_expression "*pfVar7 == *pfVar6" (pointer_expression "*pfVar7" (* "*") (identifier "pfVar7")) (== "==") (pointer_expression "*pfVar6" (* "*") (identifier "pfVar6"))) () ")")) (; ";")) (} "}"))) (expression_statement "pfVar3 = pfVar10 + param_4 * 4;" (assignment_expression "pfVar3 = pfVar10 + param_4 * 4" (identifier "pfVar3") (= "=") (binary_expression "pfVar10 + param_4 * 4" (identifier "pfVar10") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (do_statement "do {\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  } while (pfVar4 != pfVar13);" (do "do") (compound_statement "{\n    fVar16 = *pfVar13;\n    pfVar13 = pfVar13 + 1;\n    *pfVar3 = fVar16;\n    pfVar3 = pfVar3 + 1;\n  }" ({ "{") (expression_statement "fVar16 = *pfVar13;" (assignment_expression "fVar16 = *pfVar13" (identifier "fVar16") (= "=") (pointer_expression "*pfVar13" (* "*") (identifier "pfVar13"))) (; ";")) (expression_statement "pfVar13 = pfVar13 + 1;" (assignment_expression "pfVar13 = pfVar13 + 1" (identifier "pfVar13") (= "=") (binary_expression "pfVar13 + 1" (identifier "pfVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar3 = fVar16;" (assignment_expression "*pfVar3 = fVar16" (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3")) (= "=") (identifier "fVar16")) (; ";")) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar4 != pfVar13)" (( "(") (binary_expression "pfVar4 != pfVar13" (identifier "pfVar4") (!= "!=") (identifier "pfVar13")) () ")")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */

void function_1(type_1 *source,type_2 *var_1,type_2 *var_7,size_t var_2)

{
  type_2 *pQVar1;
  type_2 *var_5;
  type_2 *var_3;
  type_2 *var_12;
  type_2 *var_13;
  type_2 *var_4;
  type_2 *var_9;
  size_t var_8;
  type_2 *var_11;
  int var_6;
  type_2 *var_15;
  type_2 *var_19;
  size_t var_16;
  type_2 *var_18;
  type_2 *var_20;
  float var_17;
  type_2 var_10;
  type_2 var_14;
  
  if ((int)var_2 < 1) {
    var_6 = 9;
    do {
      var_3 = var_1 + var_2 * 4;
      var_4 = var_7;
      if (0 < (int)var_2) {
        do {
          var_5 = var_3 + 1;
          *var_4 = *var_3;
          var_3 = var_5;
          var_4 = var_4 + 1;
        } while (var_5 != var_1 + var_2 * 5);
      }
      var_6 = var_6 + -1;
      var_7 = var_7 + var_2;
    } while (var_6 != 0);
    return;
  }
  var_3 = var_1 + var_2;
  var_4 = var_3 + var_2 * 6;
  if (*var_3 == *var_4) {
    var_8 = 0;
    var_5 = var_4 + var_2 * -6;
    var_9 = var_5 + var_2 * 6;
    do {
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
      if (var_8 == var_2) goto LAB_0018b928;
      var_11 = var_5 + 1;
      var_5 = var_5 + 1;
    } while (*var_9 == *var_11);
  }
  var_9 = var_4 + var_2 * -4;
  var_5 = var_9 + var_2 * 2;
  var_10 = *var_9;
  if (var_10 == *var_5) {
    var_11 = var_5 + var_2 * -2;
    var_8 = 0;
    var_12 = var_11 + var_2 * 2;
    do {
      var_8 = var_8 + 1;
      var_12 = var_12 + 1;
      if (var_2 == var_8) {
LAB_0018b928:
        var_6 = 9;
        do {
          var_3 = var_1 + var_2 * 4;
          var_4 = var_7;
          if (0 < (int)var_2) {
            do {
              var_5 = var_3 + 1;
              *var_4 = *var_3;
              var_3 = var_5;
              var_4 = var_4 + 1;
            } while (var_5 != var_1 + var_2 * 5);
          }
          var_6 = var_6 + -1;
          var_7 = var_7 + var_2;
        } while (var_6 != 0);
        return;
      }
      var_13 = var_11 + 1;
      var_11 = var_11 + 1;
    } while (*var_13 == *var_12);
  }
  if (var_10 == *var_3) {
    var_12 = var_5 + var_2 * -2;
    var_8 = 0;
    var_13 = var_12 + var_2 * -2;
    var_11 = var_13;
LAB_0018ba38:
    var_8 = var_8 + 1;
    var_11 = var_11 + 1;
    if (var_2 != var_8) goto LAB_0018ba24;
    var_13 = var_13 + var_2 * 2;
    var_11 = var_7;
    while( true ) {
      *var_11 = var_10;
      var_13 = var_13 + 1;
      if (var_11 + 1 == var_7 + var_2) break;
      var_10 = *var_13;
      var_11 = var_11 + 1;
    }
    var_10 = *var_3;
    goto LAB_0018ba74;
  }
LAB_0018c214:
  var_12 = var_5 + -var_2;
  var_11 = var_7;
  do {
    var_10 = *var_12;
    var_13 = var_11 + 1;
    var_12 = var_12 + 1;
    *var_11 = var_10;
    var_11 = var_13;
  } while (var_13 != var_7 + var_2);
  var_10 = *var_3;
LAB_0018ba74:
  var_11 = var_5 + -var_2;
  var_14 = *var_11;
  if (*var_9 == var_10) {
    var_13 = var_11 + -var_2;
    var_8 = 0;
    var_15 = var_13 + var_2 * -2;
    var_12 = var_15;
    do {
      var_8 = var_8 + 1;
      var_12 = var_12 + 1;
      if (var_2 == var_8) {
        var_16 = 0;
        if (var_15[var_2] != var_14) goto LAB_0018c298;
        var_12 = var_15 + var_2 + var_2 * 2;
        var_13 = var_12 + var_2 * -2;
        goto LAB_0018bb18;
      }
      var_18 = var_13 + 1;
      var_13 = var_13 + 1;
    } while (*var_18 == *var_12);
  }
LAB_0018bb28:
  if (*var_5 == var_10) {
    var_13 = var_11 + var_2;
    var_8 = 0;
    var_15 = var_13 + var_2 * -4;
    var_12 = var_15;
    do {
      var_8 = var_8 + 1;
      var_12 = var_12 + 1;
      if (var_2 == var_8) {
        var_16 = 0;
        if (*var_1 != var_14) goto LAB_0018c298;
        var_15 = var_15 + var_2 * 3;
        var_12 = var_1 + 1;
        goto LAB_0018bba4;
      }
      var_18 = var_13 + 1;
      var_13 = var_13 + 1;
    } while (*var_18 == *var_12);
  }
LAB_0018bbb4:
  var_12 = var_7 + var_2;
  var_13 = var_11;
  while( true ) {
    *var_12 = var_14;
    var_13 = var_13 + 1;
    if (var_12 + 1 == var_7 + var_2 * 2) break;
    var_14 = *var_13;
    var_12 = var_12 + 1;
  }
  var_10 = *var_5;
  goto LAB_0018bbdc;
LAB_0018ba24:
  var_15 = var_12 + 1;
  var_12 = var_12 + 1;
  if (*var_15 != *var_11) goto LAB_0018c214;
  goto LAB_0018ba38;
  while (var_15 = var_12 + 1, var_12 = var_12 + 1, *var_15 == *var_13) {
LAB_0018bb18:
    var_16 = var_16 + 1;
    var_13 = var_13 + 1;
    if (var_8 == var_16) goto LAB_0018bb28;
  }
  goto LAB_0018c298;
  while (var_13 = var_15 + 1, var_17 = *var_12, var_15 = var_15 + 1, var_12 = var_12 + 1,
        *var_13 == var_17) {
LAB_0018bba4:
    var_16 = var_16 + 1;
    if (var_8 == var_16) goto LAB_0018bbb4;
  }
LAB_0018c298:
  var_13 = var_11 + var_2 * -3;
  var_12 = var_7 + var_2;
  while( true ) {
    *var_12 = var_10;
    var_13 = var_13 + 1;
    if (var_12 + 1 == var_7 + var_2 * 2) break;
    var_10 = *var_13;
    var_12 = var_12 + 1;
  }
  var_10 = *var_5;
LAB_0018bbdc:
  if (var_10 == *var_3) {
    var_13 = var_11 + var_2;
    var_8 = 0;
    var_15 = var_13 + var_2 * -4;
    var_12 = var_15;
LAB_0018bc14:
    var_8 = var_8 + 1;
    var_12 = var_12 + 1;
    if (var_2 != var_8) goto LAB_0018bc00;
    var_15 = var_15 + var_2 * 4;
    var_12 = var_7 + var_2 * 2;
    while( true ) {
      *var_12 = var_10;
      var_15 = var_15 + 1;
      if (var_7 + var_2 * 3 == var_12 + 1) break;
      var_10 = *var_15;
      var_12 = var_12 + 1;
    }
    var_10 = *var_9;
    goto LAB_0018bc50;
  }
LAB_0018c1e8:
  var_12 = var_7 + var_2 * 2;
  var_13 = var_11;
  do {
    var_10 = *var_13;
    var_13 = var_13 + 1;
    *var_12 = var_10;
    var_12 = var_12 + 1;
  } while (var_13 != var_1 + var_2 * 5);
  var_10 = *var_9;
LAB_0018bc50:
  var_14 = *var_11;
  if (var_10 == *var_3) {
    var_13 = var_11 + -var_2;
    var_8 = 0;
    var_15 = var_13 + var_2 * -2;
    var_12 = var_15;
    do {
      var_8 = var_8 + 1;
      var_12 = var_12 + 1;
      if (var_2 == var_8) {
        var_16 = 0;
        if (var_15[var_2 * 5] != var_14) goto LAB_0018c2c8;
        var_12 = var_15 + var_2 * 5 + var_2 * -2;
        var_13 = var_12 + var_2 * 2;
        goto LAB_0018bce4;
      }
      var_18 = var_13 + 1;
      var_13 = var_13 + 1;
    } while (*var_18 == *var_12);
  }
LAB_0018bcf4:
  if (var_10 == *var_4) {
    var_13 = var_11 + -var_2;
    var_8 = 0;
    var_15 = var_13 + var_2 * 4;
    var_12 = var_15;
    do {
      var_8 = var_8 + 1;
      var_12 = var_12 + 1;
      if (var_2 == var_8) {
        if (*var_1 != var_14) goto LAB_0018c2c8;
        var_15 = var_15 + var_2 * -3;
        var_8 = 0;
        var_12 = var_1 + 1;
        goto LAB_0018bd70;
      }
      var_18 = var_13 + 1;
      var_13 = var_13 + 1;
    } while (*var_18 == *var_12);
  }
LAB_0018bd80:
  var_12 = var_11;
  var_13 = var_7 + var_2 * 3;
  while( true ) {
    *var_13 = var_14;
    var_12 = var_12 + 1;
    if (var_13 + 1 == var_7 + var_2 * 4) break;
    var_14 = *var_12;
    var_13 = var_13 + 1;
  }
  goto LAB_0018bdb0;
LAB_0018bc00:
  var_18 = var_13 + 1;
  var_13 = var_13 + 1;
  if (*var_18 != *var_12) goto LAB_0018c1e8;
  goto LAB_0018bc14;
  while (var_15 = var_12 + 1, var_12 = var_12 + 1, *var_15 == *var_13) {
LAB_0018bce4:
    var_16 = var_16 + 1;
    var_13 = var_13 + 1;
    if (var_8 == var_16) goto LAB_0018bcf4;
  }
  goto LAB_0018c2c8;
  while (var_13 = var_15 + 1, var_17 = *var_12, var_15 = var_15 + 1, var_12 = var_12 + 1,
        *var_13 == var_17) {
LAB_0018bd70:
    var_8 = var_8 + 1;
    if (var_2 == var_8) goto LAB_0018bd80;
  }
LAB_0018c2c8:
  var_13 = var_3 + var_2 * 2;
  var_12 = var_7 + var_2 * 3;
  while( true ) {
    *var_12 = var_10;
    var_13 = var_13 + 1;
    if (var_7 + var_2 * 4 == var_12 + 1) break;
    var_10 = *var_13;
    var_12 = var_12 + 1;
  }
LAB_0018bdb0:
  var_18 = var_3 + var_2 * 3;
  var_15 = var_7 + var_2 * 4;
  var_12 = var_18;
  var_13 = var_15;
  do {
    var_10 = *var_12;
    var_12 = var_12 + 1;
    *var_13 = var_10;
    var_13 = var_13 + 1;
  } while (var_12 != var_1 + var_2 * 5);
  var_14 = *var_5;
  var_10 = *var_11;
  if (var_14 == *var_3) {
    var_19 = var_18 + var_2;
    var_8 = 0;
    var_20 = var_19 + var_2 * -4;
    var_13 = var_20;
    do {
      var_8 = var_8 + 1;
      var_13 = var_13 + 1;
      if (var_2 == var_8) {
        var_16 = 0;
        if (var_20[var_2 * 7] != var_10) goto LAB_0018c2fc;
        var_13 = var_20 + var_2 * 7 + var_2 * -4;
        var_19 = var_13 + var_2 * 4;
        goto LAB_0018be6c;
      }
      pQVar1 = var_19 + 1;
      var_19 = var_19 + 1;
    } while (*pQVar1 == *var_13);
  }
LAB_0018be7c:
  if (var_14 == *var_4) {
    var_19 = var_18 + var_2;
    var_8 = 0;
    var_20 = var_19 + var_2 * 2;
    var_13 = var_20;
    do {
      var_8 = var_8 + 1;
      var_13 = var_13 + 1;
      if (var_2 == var_8) {
        var_16 = 0;
        if (var_20[var_2 * -5] != var_10) goto LAB_0018c2fc;
        var_13 = var_20 + var_2 * -5 + var_2 * 2;
        var_19 = var_13 + var_2 * -2;
        goto LAB_0018bf04;
      }
      pQVar1 = var_19 + 1;
      var_19 = var_19 + 1;
    } while (*pQVar1 == *var_13);
  }
LAB_0018bf14:
  var_13 = var_15 + var_2;
  var_19 = var_18;
  while( true ) {
    *var_13 = var_10;
    var_19 = var_19 + 1;
    if (var_7 + var_2 * 6 == var_13 + 1) break;
    var_10 = *var_19;
    var_13 = var_13 + 1;
  }
  var_10 = *var_9;
  goto LAB_0018bf44;
  while (var_20 = var_13 + 1, var_13 = var_13 + 1, *var_20 == *var_19) {
LAB_0018be6c:
    var_16 = var_16 + 1;
    var_19 = var_19 + 1;
    if (var_8 == var_16) goto LAB_0018be7c;
  }
  goto LAB_0018c2fc;
  while (var_20 = var_13 + 1, var_13 = var_13 + 1, *var_20 == *var_19) {
LAB_0018bf04:
    var_16 = var_16 + 1;
    var_19 = var_19 + 1;
    if (var_8 == var_16) goto LAB_0018bf14;
  }
LAB_0018c2fc:
  var_19 = var_18 + var_2;
  var_13 = var_15 + var_2;
  while( true ) {
    *var_13 = var_14;
    var_19 = var_19 + 1;
    if (var_7 + var_2 * 6 == var_13 + 1) break;
    var_14 = *var_19;
    var_13 = var_13 + 1;
  }
  var_10 = *var_9;
LAB_0018bf44:
  var_13 = var_18 + -var_2;
  if (*var_4 == var_10) {
    var_8 = 0;
    var_20 = var_13 + var_2 * 4;
    var_19 = var_20;
LAB_0018bf78:
    var_8 = var_8 + 1;
    var_19 = var_19 + 1;
    if (var_2 != var_8) goto LAB_0018bf64;
    var_20 = var_20 + var_2 * -4;
    var_13 = var_15 + var_2 * 2;
    while( true ) {
      *var_13 = var_10;
      var_20 = var_20 + 1;
      if (var_7 + var_2 * 7 == var_13 + 1) break;
      var_10 = *var_20;
      var_13 = var_13 + 1;
    }
    var_10 = *var_4;
    goto LAB_0018bfbc;
  }
LAB_0018c240:
  var_13 = var_18;
  var_19 = var_15 + var_2 * 2;
  do {
    var_10 = *var_13;
    var_13 = var_13 + 1;
    *var_19 = var_10;
    var_19 = var_19 + 1;
  } while (var_12 != var_13);
  var_10 = *var_4;
LAB_0018bfbc:
  var_14 = *var_11;
  if (*var_9 == var_10) {
    var_11 = var_18 + -var_2;
    var_8 = 0;
    var_13 = var_11 + var_2 * 4;
    var_9 = var_13;
    do {
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
      if (var_2 == var_8) {
        var_9 = var_13 + var_2 + var_2 * -4;
        if (var_13[var_2] != var_14) goto LAB_0018c264;
        var_16 = 0;
        var_11 = var_9 + var_2 * 4;
        goto LAB_0018c038;
      }
      var_19 = var_11 + 1;
      var_11 = var_11 + 1;
    } while (*var_19 == *var_9);
  }
LAB_0018c048:
  if (*var_5 == var_10) {
    var_11 = var_18 + var_2;
    var_8 = 0;
    var_13 = var_11 + var_2 * 2;
    var_9 = var_13;
    do {
      var_8 = var_8 + 1;
      var_9 = var_9 + 1;
      if (var_2 == var_8) {
        var_9 = var_13 + -var_2 + var_2 * -2;
        if (var_13[-var_2] != var_14) goto LAB_0018c264;
        var_16 = 0;
        var_11 = var_9 + var_2 * 2;
        goto LAB_0018c0c4;
      }
      var_19 = var_11 + 1;
      var_11 = var_11 + 1;
    } while (*var_19 == *var_9);
  }
LAB_0018c0d4:
  var_9 = var_7 + var_2 * 7;
  var_11 = var_18;
  while( true ) {
    *var_9 = var_14;
    var_11 = var_11 + 1;
    if (var_7 + var_2 * 8 == var_9 + 1) break;
    var_14 = *var_11;
    var_9 = var_9 + 1;
  }
  var_10 = *var_5;
  goto LAB_0018c100;
LAB_0018bf64:
  pQVar1 = var_13 + 1;
  var_13 = var_13 + 1;
  if (*pQVar1 != *var_19) goto LAB_0018c240;
  goto LAB_0018bf78;
  while (var_13 = var_9 + 1, var_9 = var_9 + 1, *var_13 == *var_11) {
LAB_0018c038:
    var_16 = var_16 + 1;
    var_11 = var_11 + 1;
    if (var_8 == var_16) goto LAB_0018c048;
  }
  goto LAB_0018c264;
  while (var_13 = var_9 + 1, var_9 = var_9 + 1, *var_13 == *var_11) {
LAB_0018c0c4:
    var_16 = var_16 + 1;
    var_11 = var_11 + 1;
    if (var_8 == var_16) goto LAB_0018c0d4;
  }
LAB_0018c264:
  var_9 = var_7 + var_2 * 7;
  var_11 = var_4;
  while( true ) {
    *var_9 = var_10;
    var_11 = var_11 + 1;
    if (var_7 + var_2 * 8 == var_9 + 1) break;
    var_10 = *var_11;
    var_9 = var_9 + 1;
  }
  var_10 = *var_5;
LAB_0018c100:
  var_3 = var_3 + var_2 * 4;
  if (*var_4 == var_10) {
    var_8 = 0;
    var_5 = var_3 + var_2 * 2;
    var_4 = var_5;
    do {
      var_8 = var_8 + 1;
      var_4 = var_4 + 1;
      if (var_2 == var_8) {
        var_5 = var_5 + var_2 * -2;
        var_3 = var_15 + var_2 * 4;
        while( true ) {
          *var_3 = var_10;
          var_5 = var_5 + 1;
          if (var_3 + 1 == var_7 + var_2 * 9) break;
          var_10 = *var_5;
          var_3 = var_3 + 1;
        }
        return;
      }
      var_9 = var_3 + 1;
      var_3 = var_3 + 1;
    } while (*var_9 == *var_4);
  }
  var_3 = var_15 + var_2 * 4;
  do {
    var_10 = *var_18;
    var_18 = var_18 + 1;
    *var_3 = var_10;
    var_3 = var_3 + 1;
  } while (var_12 != var_18);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (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: (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: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_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: (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: (binary_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: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (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: (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: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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: (binary_expression left: (identifier) right: (identifier)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (expression_statement (assignment_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: (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: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (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))))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_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: (binary_expression left: (identifier) right: (number_literal)))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))) body: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) body: (compound_statement (labeled_statement label: (statement_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: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_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: (binary_expression left: (identifier) right: (identifier)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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: (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))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_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: (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: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal))))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_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)))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))) body: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) body: (compound_statement (labeled_statement label: (statement_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: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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)))))) (labeled_statement label: (statement_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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (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: (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: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal))))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal))))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))) body: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))) body: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (labeled_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)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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: (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))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_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))))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (unary_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (unary_expression argument: (identifier))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_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))))) (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))))) (labeled_statement label: (statement_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: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))) body: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))))) body: (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: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_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: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_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: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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: (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))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_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)))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier)))) (return_statement))))

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

{
  float *pfVar1;
  float *pfVar2;
  float *pfVar3;
  float *pfVar4;
  float *pfVar5;
  float *pfVar6;
  float *pfVar7;
  int iVar8;
  float *pfVar9;
  float *pfVar10;
  float *pfVar11;
  int iVar12;
  float *pfVar13;
  float *pfVar14;
  float fVar15;
  float fVar16;
  float fVar17;
  
  if (param_4 < 1) {
    iVar8 = 9;
    do {
      pfVar3 = param_2 + param_4 * 4;
      pfVar6 = param_3;
      if (0 < param_4) {
        do {
          pfVar2 = pfVar3 + 1;
          *pfVar6 = *pfVar3;
          pfVar3 = pfVar2;
          pfVar6 = pfVar6 + 1;
        } while (pfVar2 != param_2 + param_4 * 5);
      }
      iVar8 = iVar8 + -1;
      param_3 = param_3 + param_4;
    } while (iVar8 != 0);
    return;
  }
  pfVar3 = param_2 + param_4;
  pfVar6 = pfVar3 + param_4 * 6;
  if (*pfVar3 == *pfVar6) {
    iVar8 = 0;
    pfVar2 = pfVar6 + param_4 * -6;
    pfVar7 = pfVar2 + param_4 * 6;
    do {
      iVar8 = iVar8 + 1;
      pfVar7 = pfVar7 + 1;
      if (iVar8 == param_4) goto LAB_0018b928;
      pfVar9 = pfVar2 + 1;
      pfVar2 = pfVar2 + 1;
    } while (*pfVar7 == *pfVar9);
  }
  pfVar7 = pfVar6 + param_4 * -4;
  pfVar2 = pfVar7 + param_4 * 2;
  fVar16 = *pfVar7;
  if (fVar16 == *pfVar2) {
    pfVar9 = pfVar2 + param_4 * -2;
    iVar8 = 0;
    pfVar4 = pfVar9 + param_4 * 2;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
LAB_0018b928:
        iVar8 = 9;
        do {
          pfVar3 = param_2 + param_4 * 4;
          pfVar6 = param_3;
          if (0 < param_4) {
            do {
              pfVar2 = pfVar3 + 1;
              *pfVar6 = *pfVar3;
              pfVar3 = pfVar2;
              pfVar6 = pfVar6 + 1;
            } while (pfVar2 != param_2 + param_4 * 5);
          }
          iVar8 = iVar8 + -1;
          param_3 = param_3 + param_4;
        } while (iVar8 != 0);
        return;
      }
      pfVar5 = pfVar9 + 1;
      pfVar9 = pfVar9 + 1;
    } while (*pfVar5 == *pfVar4);
  }
  if (fVar16 == *pfVar3) {
    pfVar4 = pfVar2 + param_4 * -2;
    iVar8 = 0;
    pfVar5 = pfVar4 + param_4 * -2;
    pfVar9 = pfVar5;
LAB_0018ba38:
    iVar8 = iVar8 + 1;
    pfVar9 = pfVar9 + 1;
    if (param_4 != iVar8) goto LAB_0018ba24;
    pfVar5 = pfVar5 + param_4 * 2;
    pfVar9 = param_3;
    while( true ) {
      *pfVar9 = fVar16;
      pfVar5 = pfVar5 + 1;
      if (pfVar9 + 1 == param_3 + param_4) break;
      fVar16 = *pfVar5;
      pfVar9 = pfVar9 + 1;
    }
    fVar16 = *pfVar3;
    goto LAB_0018ba74;
  }
LAB_0018c214:
  pfVar4 = pfVar2 + -param_4;
  pfVar9 = param_3;
  do {
    fVar16 = *pfVar4;
    pfVar5 = pfVar9 + 1;
    pfVar4 = pfVar4 + 1;
    *pfVar9 = fVar16;
    pfVar9 = pfVar5;
  } while (pfVar5 != param_3 + param_4);
  fVar16 = *pfVar3;
LAB_0018ba74:
  pfVar9 = pfVar2 + -param_4;
  fVar17 = *pfVar9;
  if (*pfVar7 == fVar16) {
    pfVar5 = pfVar9 + -param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -2;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar10[param_4] != fVar17) goto LAB_0018c298;
        pfVar4 = pfVar10 + param_4 + param_4 * 2;
        pfVar5 = pfVar4 + param_4 * -2;
        goto LAB_0018bb18;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bb28:
  if (*pfVar2 == fVar16) {
    pfVar5 = pfVar9 + param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -4;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (*param_2 != fVar17) goto LAB_0018c298;
        pfVar10 = pfVar10 + param_4 * 3;
        pfVar4 = param_2 + 1;
        goto LAB_0018bba4;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bbb4:
  pfVar4 = param_3 + param_4;
  pfVar5 = pfVar9;
  while( true ) {
    *pfVar4 = fVar17;
    pfVar5 = pfVar5 + 1;
    if (pfVar4 + 1 == param_3 + param_4 * 2) break;
    fVar17 = *pfVar5;
    pfVar4 = pfVar4 + 1;
  }
  fVar16 = *pfVar2;
  goto LAB_0018bbdc;
LAB_0018ba24:
  pfVar10 = pfVar4 + 1;
  pfVar4 = pfVar4 + 1;
  if (*pfVar10 != *pfVar9) goto LAB_0018c214;
  goto LAB_0018ba38;
  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {
LAB_0018bb18:
    iVar12 = iVar12 + 1;
    pfVar5 = pfVar5 + 1;
    if (iVar8 == iVar12) goto LAB_0018bb28;
  }
  goto LAB_0018c298;
  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,
        *pfVar5 == fVar15) {
LAB_0018bba4:
    iVar12 = iVar12 + 1;
    if (iVar8 == iVar12) goto LAB_0018bbb4;
  }
LAB_0018c298:
  pfVar5 = pfVar9 + param_4 * -3;
  pfVar4 = param_3 + param_4;
  while( true ) {
    *pfVar4 = fVar16;
    pfVar5 = pfVar5 + 1;
    if (pfVar4 + 1 == param_3 + param_4 * 2) break;
    fVar16 = *pfVar5;
    pfVar4 = pfVar4 + 1;
  }
  fVar16 = *pfVar2;
LAB_0018bbdc:
  if (fVar16 == *pfVar3) {
    pfVar5 = pfVar9 + param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -4;
    pfVar4 = pfVar10;
LAB_0018bc14:
    iVar8 = iVar8 + 1;
    pfVar4 = pfVar4 + 1;
    if (param_4 != iVar8) goto LAB_0018bc00;
    pfVar10 = pfVar10 + param_4 * 4;
    pfVar4 = param_3 + param_4 * 2;
    while( true ) {
      *pfVar4 = fVar16;
      pfVar10 = pfVar10 + 1;
      if (param_3 + param_4 * 3 == pfVar4 + 1) break;
      fVar16 = *pfVar10;
      pfVar4 = pfVar4 + 1;
    }
    fVar16 = *pfVar7;
    goto LAB_0018bc50;
  }
LAB_0018c1e8:
  pfVar4 = param_3 + param_4 * 2;
  pfVar5 = pfVar9;
  do {
    fVar16 = *pfVar5;
    pfVar5 = pfVar5 + 1;
    *pfVar4 = fVar16;
    pfVar4 = pfVar4 + 1;
  } while (pfVar5 != param_2 + param_4 * 5);
  fVar16 = *pfVar7;
LAB_0018bc50:
  fVar17 = *pfVar9;
  if (fVar16 == *pfVar3) {
    pfVar5 = pfVar9 + -param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * -2;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar10[param_4 * 5] != fVar17) goto LAB_0018c2c8;
        pfVar4 = pfVar10 + param_4 * 5 + param_4 * -2;
        pfVar5 = pfVar4 + param_4 * 2;
        goto LAB_0018bce4;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bcf4:
  if (fVar16 == *pfVar6) {
    pfVar5 = pfVar9 + -param_4;
    iVar8 = 0;
    pfVar10 = pfVar5 + param_4 * 4;
    pfVar4 = pfVar10;
    do {
      iVar8 = iVar8 + 1;
      pfVar4 = pfVar4 + 1;
      if (param_4 == iVar8) {
        if (*param_2 != fVar17) goto LAB_0018c2c8;
        pfVar10 = pfVar10 + param_4 * -3;
        iVar8 = 0;
        pfVar4 = param_2 + 1;
        goto LAB_0018bd70;
      }
      pfVar13 = pfVar5 + 1;
      pfVar5 = pfVar5 + 1;
    } while (*pfVar13 == *pfVar4);
  }
LAB_0018bd80:
  pfVar4 = pfVar9;
  pfVar5 = param_3 + param_4 * 3;
  while( true ) {
    *pfVar5 = fVar17;
    pfVar4 = pfVar4 + 1;
    if (pfVar5 + 1 == param_3 + param_4 * 4) break;
    fVar17 = *pfVar4;
    pfVar5 = pfVar5 + 1;
  }
  goto LAB_0018bdb0;
LAB_0018bc00:
  pfVar13 = pfVar5 + 1;
  pfVar5 = pfVar5 + 1;
  if (*pfVar13 != *pfVar4) goto LAB_0018c1e8;
  goto LAB_0018bc14;
  while (pfVar10 = pfVar4 + 1, pfVar4 = pfVar4 + 1, *pfVar10 == *pfVar5) {
LAB_0018bce4:
    iVar12 = iVar12 + 1;
    pfVar5 = pfVar5 + 1;
    if (iVar8 == iVar12) goto LAB_0018bcf4;
  }
  goto LAB_0018c2c8;
  while (pfVar5 = pfVar10 + 1, fVar15 = *pfVar4, pfVar10 = pfVar10 + 1, pfVar4 = pfVar4 + 1,
        *pfVar5 == fVar15) {
LAB_0018bd70:
    iVar8 = iVar8 + 1;
    if (param_4 == iVar8) goto LAB_0018bd80;
  }
LAB_0018c2c8:
  pfVar5 = pfVar3 + param_4 * 2;
  pfVar4 = param_3 + param_4 * 3;
  while( true ) {
    *pfVar4 = fVar16;
    pfVar5 = pfVar5 + 1;
    if (param_3 + param_4 * 4 == pfVar4 + 1) break;
    fVar16 = *pfVar5;
    pfVar4 = pfVar4 + 1;
  }
LAB_0018bdb0:
  pfVar13 = pfVar3 + param_4 * 3;
  pfVar10 = param_3 + param_4 * 4;
  pfVar4 = pfVar13;
  pfVar5 = pfVar10;
  do {
    fVar16 = *pfVar4;
    pfVar4 = pfVar4 + 1;
    *pfVar5 = fVar16;
    pfVar5 = pfVar5 + 1;
  } while (pfVar4 != param_2 + param_4 * 5);
  fVar17 = *pfVar2;
  fVar16 = *pfVar9;
  if (fVar17 == *pfVar3) {
    pfVar11 = pfVar13 + param_4;
    iVar8 = 0;
    pfVar14 = pfVar11 + param_4 * -4;
    pfVar5 = pfVar14;
    do {
      iVar8 = iVar8 + 1;
      pfVar5 = pfVar5 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar14[param_4 * 7] != fVar16) goto LAB_0018c2fc;
        pfVar5 = pfVar14 + param_4 * 7 + param_4 * -4;
        pfVar11 = pfVar5 + param_4 * 4;
        goto LAB_0018be6c;
      }
      pfVar1 = pfVar11 + 1;
      pfVar11 = pfVar11 + 1;
    } while (*pfVar1 == *pfVar5);
  }
LAB_0018be7c:
  if (fVar17 == *pfVar6) {
    pfVar11 = pfVar13 + param_4;
    iVar8 = 0;
    pfVar14 = pfVar11 + param_4 * 2;
    pfVar5 = pfVar14;
    do {
      iVar8 = iVar8 + 1;
      pfVar5 = pfVar5 + 1;
      if (param_4 == iVar8) {
        iVar12 = 0;
        if (pfVar14[param_4 * -5] != fVar16) goto LAB_0018c2fc;
        pfVar5 = pfVar14 + param_4 * -5 + param_4 * 2;
        pfVar11 = pfVar5 + param_4 * -2;
        goto LAB_0018bf04;
      }
      pfVar1 = pfVar11 + 1;
      pfVar11 = pfVar11 + 1;
    } while (*pfVar1 == *pfVar5);
  }
LAB_0018bf14:
  pfVar5 = pfVar10 + param_4;
  pfVar11 = pfVar13;
  while( true ) {
    *pfVar5 = fVar16;
    pfVar11 = pfVar11 + 1;
    if (param_3 + param_4 * 6 == pfVar5 + 1) break;
    fVar16 = *pfVar11;
    pfVar5 = pfVar5 + 1;
  }
  fVar16 = *pfVar7;
  goto LAB_0018bf44;
  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {
LAB_0018be6c:
    iVar12 = iVar12 + 1;
    pfVar11 = pfVar11 + 1;
    if (iVar8 == iVar12) goto LAB_0018be7c;
  }
  goto LAB_0018c2fc;
  while (pfVar14 = pfVar5 + 1, pfVar5 = pfVar5 + 1, *pfVar14 == *pfVar11) {
LAB_0018bf04:
    iVar12 = iVar12 + 1;
    pfVar11 = pfVar11 + 1;
    if (iVar8 == iVar12) goto LAB_0018bf14;
  }
LAB_0018c2fc:
  pfVar11 = pfVar13 + param_4;
  pfVar5 = pfVar10 + param_4;
  while( true ) {
    *pfVar5 = fVar17;
    pfVar11 = pfVar11 + 1;
    if (param_3 + param_4 * 6 == pfVar5 + 1) break;
    fVar17 = *pfVar11;
    pfVar5 = pfVar5 + 1;
  }
  fVar16 = *pfVar7;
LAB_0018bf44:
  pfVar5 = pfVar13 + -param_4;
  if (*pfVar6 == fVar16) {
    iVar8 = 0;
    pfVar14 = pfVar5 + param_4 * 4;
    pfVar11 = pfVar14;
LAB_0018bf78:
    iVar8 = iVar8 + 1;
    pfVar11 = pfVar11 + 1;
    if (param_4 != iVar8) goto LAB_0018bf64;
    pfVar14 = pfVar14 + param_4 * -4;
    pfVar5 = pfVar10 + param_4 * 2;
    while( true ) {
      *pfVar5 = fVar16;
      pfVar14 = pfVar14 + 1;
      if (param_3 + param_4 * 7 == pfVar5 + 1) break;
      fVar16 = *pfVar14;
      pfVar5 = pfVar5 + 1;
    }
    fVar16 = *pfVar6;
    goto LAB_0018bfbc;
  }
LAB_0018c240:
  pfVar5 = pfVar13;
  pfVar11 = pfVar10 + param_4 * 2;
  do {
    fVar16 = *pfVar5;
    pfVar5 = pfVar5 + 1;
    *pfVar11 = fVar16;
    pfVar11 = pfVar11 + 1;
  } while (pfVar4 != pfVar5);
  fVar16 = *pfVar6;
LAB_0018bfbc:
  fVar17 = *pfVar9;
  if (*pfVar7 == fVar16) {
    pfVar9 = pfVar13 + -param_4;
    iVar8 = 0;
    pfVar5 = pfVar9 + param_4 * 4;
    pfVar7 = pfVar5;
    do {
      iVar8 = iVar8 + 1;
      pfVar7 = pfVar7 + 1;
      if (param_4 == iVar8) {
        pfVar7 = pfVar5 + param_4 + param_4 * -4;
        if (pfVar5[param_4] != fVar17) goto LAB_0018c264;
        iVar12 = 0;
        pfVar9 = pfVar7 + param_4 * 4;
        goto LAB_0018c038;
      }
      pfVar11 = pfVar9 + 1;
      pfVar9 = pfVar9 + 1;
    } while (*pfVar11 == *pfVar7);
  }
LAB_0018c048:
  if (*pfVar2 == fVar16) {
    pfVar9 = pfVar13 + param_4;
    iVar8 = 0;
    pfVar5 = pfVar9 + param_4 * 2;
    pfVar7 = pfVar5;
    do {
      iVar8 = iVar8 + 1;
      pfVar7 = pfVar7 + 1;
      if (param_4 == iVar8) {
        pfVar7 = pfVar5 + -param_4 + param_4 * -2;
        if (pfVar5[-param_4] != fVar17) goto LAB_0018c264;
        iVar12 = 0;
        pfVar9 = pfVar7 + param_4 * 2;
        goto LAB_0018c0c4;
      }
      pfVar11 = pfVar9 + 1;
      pfVar9 = pfVar9 + 1;
    } while (*pfVar11 == *pfVar7);
  }
LAB_0018c0d4:
  pfVar7 = param_3 + param_4 * 7;
  pfVar9 = pfVar13;
  while( true ) {
    *pfVar7 = fVar17;
    pfVar9 = pfVar9 + 1;
    if (param_3 + param_4 * 8 == pfVar7 + 1) break;
    fVar17 = *pfVar9;
    pfVar7 = pfVar7 + 1;
  }
  fVar16 = *pfVar2;
  goto LAB_0018c100;
LAB_0018bf64:
  pfVar1 = pfVar5 + 1;
  pfVar5 = pfVar5 + 1;
  if (*pfVar1 != *pfVar11) goto LAB_0018c240;
  goto LAB_0018bf78;
  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {
LAB_0018c038:
    iVar12 = iVar12 + 1;
    pfVar9 = pfVar9 + 1;
    if (iVar8 == iVar12) goto LAB_0018c048;
  }
  goto LAB_0018c264;
  while (pfVar5 = pfVar7 + 1, pfVar7 = pfVar7 + 1, *pfVar5 == *pfVar9) {
LAB_0018c0c4:
    iVar12 = iVar12 + 1;
    pfVar9 = pfVar9 + 1;
    if (iVar8 == iVar12) goto LAB_0018c0d4;
  }
LAB_0018c264:
  pfVar7 = param_3 + param_4 * 7;
  pfVar9 = pfVar6;
  while( true ) {
    *pfVar7 = fVar16;
    pfVar9 = pfVar9 + 1;
    if (param_3 + param_4 * 8 == pfVar7 + 1) break;
    fVar16 = *pfVar9;
    pfVar7 = pfVar7 + 1;
  }
  fVar16 = *pfVar2;
LAB_0018c100:
  pfVar3 = pfVar3 + param_4 * 4;
  if (*pfVar6 == fVar16) {
    iVar8 = 0;
    pfVar2 = pfVar3 + param_4 * 2;
    pfVar6 = pfVar2;
    do {
      iVar8 = iVar8 + 1;
      pfVar6 = pfVar6 + 1;
      if (param_4 == iVar8) {
        pfVar2 = pfVar2 + param_4 * -2;
        pfVar3 = pfVar10 + param_4 * 4;
        while( true ) {
          *pfVar3 = fVar16;
          pfVar2 = pfVar2 + 1;
          if (pfVar3 + 1 == param_3 + param_4 * 9) break;
          fVar16 = *pfVar2;
          pfVar3 = pfVar3 + 1;
        }
        return;
      }
      pfVar7 = pfVar3 + 1;
      pfVar3 = pfVar3 + 1;
    } while (*pfVar7 == *pfVar6);
  }
  pfVar3 = pfVar10 + param_4 * 4;
  do {
    fVar16 = *pfVar13;
    pfVar13 = pfVar13 + 1;
    *pfVar3 = fVar16;
    pfVar3 = pfVar3 + 1;
  } while (pfVar4 != pfVar13);
  return;
}

