
/* WARNING: Switch with 1 destination removed at 0x00114f10 */

int anubis_setup(uchar *key,int keylen,int num_rounds,symmetric_key *skey)

{
  uint uVar1;
  uint uVar2;
  ulong32 uVar3;
  long lVar4;
  ulong32 uVar5;
  int iVar6;
  uint uVar7;
  uint uVar8;
  ulong32 uVar9;
  uint uVar10;
  uint *puVar11;
  uint uVar12;
  ulong32 *puVar13;
  ulong32 *puVar14;
  long in_FS_OFFSET;
  ulong32 *puStack_130;
  uint uStack_128;
  ulong32 *puStack_120;
  uint uStack_100;
  uint uStack_fc;
  uint uStack_c0;
  uint uStack_bc;
  uint uStack_b0;
  uint uStack_ac;
  int iStack_a8;
  uint uStack_a4;
  long lStack_a0;
  uint uStack_98;
  uint uStack_94;
  uint auStack_90 [7];
  uint uStack_74;
  byte bStack_71;
  undefined1 auStack_68 [16];
  undefined1 auStack_58 [16];
  undefined8 uStack_48;
  long lStack_40;
  
  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);
  auStack_68 = (undefined1  [16])0x0;
  auStack_58 = (undefined1  [16])0x0;
  uStack_48 = 0;
  if (key == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);
  }
  if (skey == (symmetric_key *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);
  }
  if (((keylen & 3U) == 0) && (keylen - 0x10U < 0x19)) {
    (skey->rc5).rounds = keylen << 3;
    iVar6 = (keylen << 3) >> 5;
    uStack_a4 = iVar6 + 8;
    (skey->des).ek[1] = uStack_a4;
    if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {
      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;
      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;
      auStack_90[0] =
           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;
      auStack_90[1] =
           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;
      if ((iVar6 != 4) &&
         ((((auStack_90[2] =
                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^
                  (uint)key[0x12] << 8, iVar6 != 5 &&
            (auStack_90[3] =
                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^
                  (uint)key[0x16] << 8, iVar6 != 6)) &&
           (auStack_90[4] =
                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^
                 (uint)key[0x1a] << 8, iVar6 != 7)) &&
          ((auStack_90[5] =
                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^
                 (uint)key[0x1e] << 8, iVar6 != 8 &&
           (auStack_90[6] =
                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^
                 (uint)key[0x22] << 8, iVar6 == 10)))))) {
        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^
                    (uint)key[0x26] << 8;
      }
      puStack_130 = rc;
      lStack_a0 = (long)iVar6;
      puStack_120 = (skey->des3).ek[0] + 2;
      uStack_ac = 0;
      uStack_100 = 0;
      uStack_fc = 0;
      uStack_c0 = 0;
      uStack_b0 = 0;
      uStack_bc = 0;
      do {
        uVar1 = (&uStack_98)[iVar6 + -1];
        uVar7 = uVar1 >> 8 & 0xff;
        uVar9 = T4[uVar7];
        uVar5 = T4[uVar1 & 0xff];
        uStack_128 = T4[uVar1 >> 0x18];
        uVar8 = uVar1 >> 0x10 & 0xff;
        uVar3 = T4[uVar8];
        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);
        do {
          uVar2 = *puVar11;
          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^
                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^
                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;
          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^
                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^
                  T4[uVar2 >> 0x10 & 0xff];
          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^
                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^
                  T4[uVar2 >> 8 & 0xff];
          puVar11 = puVar11 + -1;
          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^
                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]
                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;
        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);
        puStack_120[1] = uVar3;
        *puStack_120 = uStack_128;
        puStack_120[2] = uVar9;
        puStack_120[3] = uVar5;
        if (rc + uStack_a4 == puStack_130) break;
        uVar12 = uStack_94 >> 0x10;
        uVar2 = uStack_94 >> 8;
        uVar10 = auStack_90[0] >> 0x10;
        if (((iVar6 != 4) &&
            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^
                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&
           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^
                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {
          uStack_128._0_1_ = (byte)auStack_90[1];
          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^
                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];
          if (((iVar6 != 7) &&
              (uStack_bc = T3[auStack_90[2] & 0xff] ^
                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^
                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&
             (uStack_b0 = T3[auStack_90[3] & 0xff] ^
                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^
                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {
            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^
                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];
          }
        }
        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^
                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];
        auStack_90[0] =
             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^
             T3[uVar1 & 0xff];
        auStack_90[1] =
             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]
        ;
        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^
                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;
        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&
           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&
             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))
            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {
          uStack_74 = uStack_ac;
        }
        puStack_130 = puStack_130 + 1;
        puStack_120 = puStack_120 + 4;
      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);
      uVar9 = (skey->des).ek[2];
      lVar4 = lStack_a0 * 0x10 + (long)skey;
      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);
      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;
      uVar9 = (skey->des).ek[3];
      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);
      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);
      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;
      uVar9 = (skey->des).ek[4];
      (skey->des3).ek[2][0x10] = uVar5;
      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);
      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;
      uVar9 = (skey->des).ek[5];
      (skey->des3).ek[2][0x11] = uVar5;
      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;
      puVar13 = (skey->des3).ek[2] + 0x12;
      do {
        uVar1 = *(uint *)(lVar4 + 0x78);
        puVar14 = puVar13 + 4;
        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^
                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];
        uVar1 = *(uint *)(lVar4 + 0x7c);
        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^
                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];
        uVar1 = *(uint *)(lVar4 + 0x80);
        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^
                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];
        uVar1 = *(uint *)(lVar4 + 0x84);
        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^
                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];
        iStack_a8 = 0;
        lVar4 = lVar4 + -0x10;
        puVar13 = puVar14;
      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));
    }
    else {
      iStack_a8 = 4;
    }
  }
  else {
    iStack_a8 = 3;
  }
  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return iStack_a8;
}



/* WARNING: Switch with 1 destination removed at 0x00114f10 */

uint anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)

{
  uint uVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  uint uVar6;
  int iVar7;
  ulong uVar8;
  uint uVar9;
  ulong uVar10;
  uint *puVar11;
  uint *puVar12;
  long in_FS_OFFSET;
  uint *puStack_130;
  uint uStack_128;
  uint *puStack_120;
  uint uStack_100;
  uint uStack_fc;
  uint uStack_c0;
  uint uStack_bc;
  uint uStack_b0;
  uint uStack_ac;
  uint uStack_a8;
  uint uStack_a4;
  long lStack_a0;
  uint auStack_98 [4];
  uint uStack_88;
  uint uStack_84;
  uint uStack_80;
  uint uStack_7c;
  uint uStack_78;
  undefined4 uStack_74;
  undefined1 auStack_68 [16];
  undefined1 auStack_58 [16];
  undefined8 uStack_48;
  long lStack_40;
  
  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);
  auStack_68 = (undefined1  [16])0x0;
  auStack_58 = (undefined1  [16])0x0;
  uStack_48 = 0;
  if (param_1 == (byte *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);
  }
  if (param_4 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);
  }
  uStack_a8 = param_2 & 3;
  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {
    *param_4 = param_2 << 3;
    iVar7 = (int)(param_2 << 3) >> 5;
    uStack_a4 = iVar7 + 8;
    param_4[1] = uStack_a4;
    if ((param_3 == 0) || (uStack_a4 == param_3)) {
      auStack_98[0] =
           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^
           (uint)param_1[2] << 8;
      auStack_98[1] =
           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^
           (uint)param_1[6] << 8;
      auStack_98[2] =
           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^
           (uint)param_1[10] << 8;
      auStack_98[3] =
           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^
           (uint)param_1[0xe] << 8;
      if ((iVar7 != 4) &&
         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^
                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&
            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^
                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&
           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^
                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&
          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^
                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&
           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^
                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {
        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10
                    ^ (uint)param_1[0x26] << 8;
      }
      puStack_130 = &DAT_00193a80;
      lStack_a0 = (long)iVar7;
      puStack_120 = (uint *)(param_4 + 2);
      uStack_ac = 0;
      uStack_100 = 0;
      uStack_fc = 0;
      uStack_c0 = 0;
      uStack_b0 = 0;
      uStack_bc = 0;
      do {
        uVar1 = auStack_98[iVar7 + -1];
        uVar8 = (ulong)(uVar1 >> 8 & 0xff);
        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);
        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);
        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);
        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);
        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);
        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);
        do {
          uVar2 = *puVar11;
          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000
                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |
                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^
                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^
                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;
          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^
                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^
                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);
          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^
                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^
                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);
          puVar11 = puVar11 + -1;
          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^
                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^
                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;
        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);
        puStack_120[1] = uVar4;
        *puStack_120 = uStack_128;
        puStack_120[2] = uVar9;
        puStack_120[3] = uVar6;
        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;
        uVar4 = auStack_98[1] >> 0x10;
        uVar9 = auStack_98[1] >> 8;
        uVar6 = auStack_98[2] >> 0x10;
        if (((iVar7 != 4) &&
            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^
                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^
                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^
                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))
           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^
                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^
                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^
                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)
           ) {
          uStack_128._0_1_ = (byte)auStack_98[3];
          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^
                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^
                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^
                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);
          if (((iVar7 != 7) &&
              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^
                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^
                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^
                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))
             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^
                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^
                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^
                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)
             ) {
            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^
                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^
                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^
                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);
          }
        }
        auStack_98[1] =
             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^
             (&DAT_001946e0)[uVar8];
        auStack_98[2] =
             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^
             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);
        auStack_98[3] =
             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);
        auStack_98[0] =
             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^
             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;
        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&
           (((uStack_84 = uStack_fc, iVar7 != 6 &&
             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&
            (uStack_78 = uStack_b0, iVar7 == 10)))) {
          uStack_74 = uStack_ac;
        }
        puStack_130 = puStack_130 + 1;
        puStack_120 = puStack_120 + 4;
      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);
      piVar5 = param_4 + lStack_a0 * 4;
      param_4[0x4e] = piVar5[0x22];
      piVar5[0x6e] = param_4[2];
      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];
      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];
      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];
      param_4[0x50] = iVar3;
      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];
      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];
      param_4[0x51] = iVar3;
      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];
      puVar11 = (uint *)(param_4 + 0x52);
      do {
        uVar1 = piVar5[0x1e];
        puVar12 = puVar11 + 4;
        *puVar11 = *(uint *)(&DAT_001942e0 +
                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                   *(uint *)(&DAT_00194ee0 +
                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                   *(uint *)(&DAT_00194ae0 +
                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        uVar1 = piVar5[0x1f];
        puVar11[1] = *(uint *)(&DAT_001942e0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                     *(uint *)(&DAT_00194ee0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                     *(uint *)(&DAT_00194ae0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        uVar1 = piVar5[0x20];
        puVar11[2] = *(uint *)(&DAT_001942e0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                     *(uint *)(&DAT_00194ee0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                     *(uint *)(&DAT_00194ae0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        uVar1 = piVar5[0x21];
        puVar11[3] = *(uint *)(&DAT_00194ee0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                     *(uint *)(&DAT_001942e0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                     *(uint *)(&DAT_00194ae0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        piVar5 = piVar5 + -4;
        puVar11 = puVar12;
      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));
    }
    else {
      uStack_a8 = 4;
    }
  }
  else {
    uStack_a8 = 3;
  }
  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return uStack_a8;
}


JMP qword ptr [0x001ddd68]
(translation_unit "/* WARNING: Switch with 1 destination removed at 0x00114f10 */\n\nuint anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}\n\n" comment (function_definition "uint anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}" type_identifier (function_declarator "anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)" identifier (parameter_list "(byte *param_1,uint param_2,uint param_3,int *param_4)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "uint uStack_128;" type_identifier identifier ;) (declaration "uint *puStack_120;" type_identifier (pointer_declarator "*puStack_120" * identifier) ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "uint uStack_fc;" type_identifier identifier ;) (declaration "uint uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b0;" type_identifier identifier ;) (declaration "uint uStack_ac;" type_identifier identifier ;) (declaration "uint uStack_a8;" type_identifier identifier ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "long lStack_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "uint auStack_98 [4];" type_identifier (array_declarator "auStack_98 [4]" identifier [ number_literal ]) ;) (declaration "uint uStack_88;" type_identifier identifier ;) (declaration "uint uStack_84;" type_identifier identifier ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "uint uStack_7c;" type_identifier identifier ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "undefined4 uStack_74;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [16];" type_identifier (array_declarator "auStack_68 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_58 [16];" type_identifier (array_declarator "auStack_58 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_48;" type_identifier identifier ;) (declaration "long lStack_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lStack_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lStack_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "auStack_68 = (undefined1  [16])0x0;" (assignment_expression "auStack_68 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "auStack_58 = (undefined1  [16])0x0;" (assignment_expression "auStack_58 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uStack_48 = 0;" (assignment_expression "uStack_48 = 0" identifier = number_literal) ;) (if_statement "if (param_1 == (byte *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" if (parenthesized_expression "(param_1 == (byte *)0x0)" ( (binary_expression "param_1 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" { comment (expression_statement "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);" (call_expression "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387)" identifier (argument_list "("key != NULL","src/ciphers/anubis.c",0x387)" ( (string_literal ""key != NULL"" " string_content ") , (string_literal ""src/ciphers/anubis.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" { comment (expression_statement "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);" (call_expression "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388)" identifier (argument_list "("skey != NULL","src/ciphers/anubis.c",0x388)" ( (string_literal ""skey != NULL"" " string_content ") , (string_literal ""src/ciphers/anubis.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uStack_a8 = param_2 & 3;" (assignment_expression "uStack_a8 = param_2 & 3" identifier = (binary_expression "param_2 & 3" identifier & number_literal)) ;) (if_statement "if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }" if (parenthesized_expression "(((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19))" ( (binary_expression "((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)" (parenthesized_expression "((param_2 & 3) == 0)" ( (binary_expression "(param_2 & 3) == 0" (parenthesized_expression "(param_2 & 3)" ( (binary_expression "param_2 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(param_2 - 0x10 < 0x19)" ( (binary_expression "param_2 - 0x10 < 0x19" (binary_expression "param_2 - 0x10" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }" { (expression_statement "*param_4 = param_2 << 3;" (assignment_expression "*param_4 = param_2 << 3" (pointer_expression "*param_4" * identifier) = (binary_expression "param_2 << 3" identifier << number_literal)) ;) (expression_statement "iVar7 = (int)(param_2 << 3) >> 5;" (assignment_expression "iVar7 = (int)(param_2 << 3) >> 5" identifier = (binary_expression "(int)(param_2 << 3) >> 5" (cast_expression "(int)(param_2 << 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 3)" ( (binary_expression "param_2 << 3" identifier << number_literal) ))) >> number_literal)) ;) (expression_statement "uStack_a4 = iVar7 + 8;" (assignment_expression "uStack_a4 = iVar7 + 8" identifier = (binary_expression "iVar7 + 8" identifier + number_literal)) ;) (expression_statement "param_4[1] = uStack_a4;" (assignment_expression "param_4[1] = uStack_a4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }" if (parenthesized_expression "((param_3 == 0) || (uStack_a4 == param_3))" ( (binary_expression "(param_3 == 0) || (uStack_a4 == param_3)" (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) || (parenthesized_expression "(uStack_a4 == param_3)" ( (binary_expression "uStack_a4 == param_3" identifier == identifier) ))) )) (compound_statement "{\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }" { (expression_statement "auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;" (assignment_expression "auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) = (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) ^ (cast_expression "(uint)param_1[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;" (assignment_expression "auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) = (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;" (assignment_expression "auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) = (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8" (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10" (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb]" (binary_expression "(uint)param_1[8] << 0x18" (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[9] << 0x10" (cast_expression "(uint)param_1[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[9]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[10] << 8" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;" (assignment_expression "auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) = (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8" (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10" (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf]" (binary_expression "(uint)param_1[0xc] << 0x18" (cast_expression "(uint)param_1[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xf]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0xd] << 0x10" (cast_expression "(uint)param_1[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0xe] << 8" (cast_expression "(uint)param_1[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) << number_literal))) ;) (if_statement "if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }" if (parenthesized_expression "((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))))))" ( (binary_expression "(iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))" (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) && (parenthesized_expression "((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))" ( (parenthesized_expression "(((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))))" ( (binary_expression "((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))" (parenthesized_expression "((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7))" ( (binary_expression "(uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)" (parenthesized_expression "(uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6))" ( (comma_expression "uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (assignment_expression "uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8" identifier = (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8" (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10" (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13]" (binary_expression "(uint)param_1[0x10] << 0x18" (cast_expression "(uint)param_1[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x10]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x13]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x11] << 0x10" (cast_expression "(uint)param_1[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x11]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x12] << 8" (cast_expression "(uint)param_1[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x12]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (binary_expression "iVar7 != 5" identifier != number_literal) && (parenthesized_expression "(uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" ( (comma_expression "uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6" (assignment_expression "uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8" identifier = (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8" (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10" (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17]" (binary_expression "(uint)param_1[0x14] << 0x18" (cast_expression "(uint)param_1[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x14]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x17]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x15] << 0x10" (cast_expression "(uint)param_1[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x15]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x16] << 8" (cast_expression "(uint)param_1[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x16]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 6" identifier != number_literal)) )))) )) && (parenthesized_expression "(uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)" ( (comma_expression "uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7" (assignment_expression "uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8" identifier = (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8" (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10" (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b]" (binary_expression "(uint)param_1[0x18] << 0x18" (cast_expression "(uint)param_1[0x18]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x18]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x1b]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1b]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x19] << 0x10" (cast_expression "(uint)param_1[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x19]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x1a] << 8" (cast_expression "(uint)param_1[0x1a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1a]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 7" identifier != number_literal)) ))) )) && (parenthesized_expression "((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))" ( (parenthesized_expression "(uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))" ( (comma_expression "uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (assignment_expression "uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8" identifier = (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8" (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10" (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f]" (binary_expression "(uint)param_1[0x1c] << 0x18" (cast_expression "(uint)param_1[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1c]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x1f]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1f]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x1d] << 0x10" (cast_expression "(uint)param_1[0x1d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x1e] << 8" (cast_expression "(uint)param_1[0x1e]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1e]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (binary_expression "iVar7 != 8" identifier != number_literal) && (parenthesized_expression "(uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" ( (comma_expression "uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10" (assignment_expression "uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8" identifier = (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8" (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10" (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23]" (binary_expression "(uint)param_1[0x20] << 0x18" (cast_expression "(uint)param_1[0x20]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x20]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x23]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x23]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x21] << 0x10" (cast_expression "(uint)param_1[0x21]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x21]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x22] << 8" (cast_expression "(uint)param_1[0x22]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 == 10" identifier == number_literal)) )))) )) ))) )) ))) )) (compound_statement "{\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }" { (expression_statement "uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;" (assignment_expression "uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8" identifier = (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8" (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10" (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27]" (binary_expression "(uint)param_1[0x24] << 0x18" (cast_expression "(uint)param_1[0x24]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x24]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x27]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x25] << 0x10" (cast_expression "(uint)param_1[0x25]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x25]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x26] << 8" (cast_expression "(uint)param_1[0x26]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])) << number_literal))) ;) })) (expression_statement "puStack_130 = &DAT_00193a80;" (assignment_expression "puStack_130 = &DAT_00193a80" identifier = (pointer_expression "&DAT_00193a80" & identifier)) ;) (expression_statement "lStack_a0 = (long)iVar7;" (assignment_expression "lStack_a0 = (long)iVar7" identifier = (cast_expression "(long)iVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "puStack_120 = (uint *)(param_4 + 2);" (assignment_expression "puStack_120 = (uint *)(param_4 + 2)" identifier = (cast_expression "(uint *)(param_4 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 2)" ( (binary_expression "param_4 + 2" identifier + number_literal) )))) ;) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" identifier = number_literal) ;) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" identifier = number_literal) ;) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" identifier = number_literal) ;) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);" do (compound_statement "{\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      }" { (expression_statement "uVar1 = auStack_98[iVar7 + -1];" (assignment_expression "uVar1 = auStack_98[iVar7 + -1]" identifier = (subscript_expression "auStack_98[iVar7 + -1]" identifier [ (binary_expression "iVar7 + -1" identifier + number_literal) ])) ;) (expression_statement "uVar8 = (ulong)(uVar1 >> 8 & 0xff);" (assignment_expression "uVar8 = (ulong)(uVar1 >> 8 & 0xff)" identifier = (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) )))) ;) (expression_statement "uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);" (assignment_expression "uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + uVar8 * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + uVar8 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + uVar8 * 4)" ( (binary_expression "&DAT_00193ee0 + uVar8 * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);" (assignment_expression "uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);" (assignment_expression "uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);" (assignment_expression "uVar10 = (ulong)(uVar1 >> 0x10 & 0xff)" identifier = (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) )))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);" (assignment_expression "uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + uVar10 * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + uVar10 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + uVar10 * 4)" ( (binary_expression "&DAT_00193ee0 + uVar10 * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "uVar10 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);" (assignment_expression "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4)" identifier = (cast_expression "(uint *)((long)&lStack_a0 + lStack_a0 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&lStack_a0 + lStack_a0 * 4)" ( (binary_expression "(long)&lStack_a0 + lStack_a0 * 4" (cast_expression "(long)&lStack_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&lStack_a0" & identifier)) + (binary_expression "lStack_a0 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);" do (compound_statement "{\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        }" { (expression_statement "uVar2 = *puVar11;" (assignment_expression "uVar2 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;" (assignment_expression "uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" identifier = (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4])" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uStack_128 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_128 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 >> 0x10 & 0xff)" ( (binary_expression "uStack_128 >> 0x10 & 0xff" (binary_expression "uStack_128 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal) ^ (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4])" ( (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uStack_128 >> 0x18) * 4" (call_expression "(ulong)(uStack_128 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 >> 0x18)" ( (binary_expression "uStack_128 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal) | (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uStack_128 & 0xff) * 4" (call_expression "(ulong)(uStack_128 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 & 0xff)" ( (binary_expression "uStack_128 & 0xff" identifier & number_literal) ))) * number_literal) ])) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uStack_128 >> 8 & 0xff) * 4" (call_expression "(ulong)(uStack_128 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 >> 8 & 0xff)" ( (binary_expression "uStack_128 >> 8 & 0xff" (binary_expression "uStack_128 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal))) ;) (expression_statement "uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);" (assignment_expression "uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" identifier = (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000)" (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000)" ( (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal) ]) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal)) )) ^ (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000)" ( (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar4 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal)) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x10 & 0xff)" ( (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);" (assignment_expression "uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" identifier = (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000)" (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000)" ( (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) ))) * number_literal) ]) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal)) )) ^ (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000)" ( (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(byte)(uVar9 >> 8) * 4" (call_expression "(ulong)(byte)(uVar9 >> 8)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) ))) * number_literal)) )))) & number_literal) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x10 & 0xff)" ( (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal)) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 8 & 0xff)" ( (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "puVar11 = puVar11 + -1;" (assignment_expression "puVar11 = puVar11 + -1" identifier = (binary_expression "puVar11 + -1" identifier + number_literal)) ;) (expression_statement "uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;" (assignment_expression "uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" identifier = (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal) ^ (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000)" ( (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) ))) * number_literal) ]) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x18) * 4" (call_expression "(ulong)(uVar6 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal)) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar6 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal))) ;) }) while (parenthesized_expression "(&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11)" ( (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11" (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U))" (pointer_expression "&uStack_a4" & identifier) + (parenthesized_expression "(lStack_a0 - (ulong)(iVar7 - 2U))" ( (binary_expression "lStack_a0 - (ulong)(iVar7 - 2U)" identifier - (call_expression "(ulong)(iVar7 - 2U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 - 2U)" ( (binary_expression "iVar7 - 2U" identifier - number_literal) )))) ))) != identifier) )) ;) (expression_statement "puStack_120[1] = uVar4;" (assignment_expression "puStack_120[1] = uVar4" (subscript_expression "puStack_120[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puStack_120 = uStack_128;" (assignment_expression "*puStack_120 = uStack_128" (pointer_expression "*puStack_120" * identifier) = identifier) ;) (expression_statement "puStack_120[2] = uVar9;" (assignment_expression "puStack_120[2] = uVar9" (subscript_expression "puStack_120[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_120[3] = uVar6;" (assignment_expression "puStack_120[3] = uVar6" (subscript_expression "puStack_120[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (&DAT_00193a80 + uStack_a4 == puStack_130) break;" if (parenthesized_expression "(&DAT_00193a80 + uStack_a4 == puStack_130)" ( (binary_expression "&DAT_00193a80 + uStack_a4 == puStack_130" (binary_expression "&DAT_00193a80 + uStack_a4" (pointer_expression "&DAT_00193a80" & identifier) + identifier) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = auStack_98[1] >> 0x10;" (assignment_expression "uVar4 = auStack_98[1] >> 0x10" identifier = (binary_expression "auStack_98[1] >> 0x10" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "uVar9 = auStack_98[1] >> 8;" (assignment_expression "uVar9 = auStack_98[1] >> 8" identifier = (binary_expression "auStack_98[1] >> 8" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "uVar6 = auStack_98[2] >> 0x10;" (assignment_expression "uVar6 = auStack_98[2] >> 0x10" identifier = (binary_expression "auStack_98[2] >> 0x10" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) >> number_literal)) ;) (if_statement "if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }" if (parenthesized_expression "(((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           )" ( (binary_expression "((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)" (parenthesized_expression "((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))" ( (binary_expression "(iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5)" (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) && (parenthesized_expression "(uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5)" ( (comma_expression "uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5" (assignment_expression "uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(auStack_98[3] >> 0x10 & 0xff) * 4" (call_expression "(ulong)(auStack_98[3] >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[3] >> 0x10 & 0xff)" ( (binary_expression "auStack_98[3] >> 0x10 & 0xff" (binary_expression "auStack_98[3] >> 0x10" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[auStack_98[2] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[2] >> 8 & 0xff" (binary_expression "auStack_98[2] >> 8" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_88 >> 0x18) * 4" (call_expression "(ulong)(uStack_88 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_88 >> 0x18)" ( (binary_expression "uStack_88 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[1] & 0xff) * 4" (call_expression "(ulong)(auStack_98[1] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[1] & 0xff)" ( (binary_expression "auStack_98[1] & 0xff" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) & number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 != 5" identifier != number_literal)) ))) )) && (parenthesized_expression "(uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)" ( (comma_expression "uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6" (assignment_expression "uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_88 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_88 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_88 >> 0x10 & 0xff)" ( (binary_expression "uStack_88 >> 0x10 & 0xff" (binary_expression "uStack_88 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[auStack_98[3] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[3] >> 8 & 0xff" (binary_expression "auStack_98[3] >> 8" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_84 >> 0x18) * 4" (call_expression "(ulong)(uStack_84 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_84 >> 0x18)" ( (binary_expression "uStack_84 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[2] & 0xff) * 4" (call_expression "(ulong)(auStack_98[2] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[2] & 0xff)" ( (binary_expression "auStack_98[2] & 0xff" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) & number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 != 6" identifier != number_literal)) ))) )) (compound_statement "{\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }" { (expression_statement "uStack_128._0_1_ = (byte)auStack_98[3];" (assignment_expression "uStack_128._0_1_ = (byte)auStack_98[3]" (field_expression "uStack_128._0_1_" identifier . field_identifier) = (cast_expression "(byte)auStack_98[3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "auStack_98[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);" (assignment_expression "uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_84 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_84 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_84 >> 0x10 & 0xff)" ( (binary_expression "uStack_84 >> 0x10 & 0xff" (binary_expression "uStack_84 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_88 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_88 >> 8 & 0xff" (binary_expression "uStack_88 >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_80 >> 0x18) * 4" (call_expression "(ulong)(uStack_80 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_80 >> 0x18)" ( (binary_expression "uStack_80 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(byte)uStack_128 * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)uStack_128 * 4" (cast_expression "(ulong)(byte)uStack_128" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)uStack_128" ( (type_descriptor "byte" type_identifier) ) identifier)) * number_literal)) )))))) ;) (if_statement "if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }" if (parenthesized_expression "(((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             )" ( (binary_expression "((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)" (parenthesized_expression "((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))" ( (binary_expression "(iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8)" (parenthesized_expression "(iVar7 != 7)" ( (binary_expression "iVar7 != 7" identifier != number_literal) )) && (parenthesized_expression "(uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8)" ( (comma_expression "uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8" (assignment_expression "uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" identifier = (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uStack_88 & 0xff) * 4" (call_expression "(ulong)(uStack_88 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_88 & 0xff)" ( (binary_expression "uStack_88 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_84 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_84 >> 8 & 0xff" (binary_expression "uStack_84 >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_80 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_80 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_80 >> 0x10 & 0xff)" ( (binary_expression "uStack_80 >> 0x10 & 0xff" (binary_expression "uStack_80 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_7c >> 0x18) * 4" (call_expression "(ulong)(uStack_7c >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_7c >> 0x18)" ( (binary_expression "uStack_7c >> 0x18" identifier >> number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 != 8" identifier != number_literal)) ))) )) && (parenthesized_expression "(uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)" ( (comma_expression "uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10" (assignment_expression "uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" identifier = (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uStack_84 & 0xff) * 4" (call_expression "(ulong)(uStack_84 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_84 & 0xff)" ( (binary_expression "uStack_84 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_80 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_80 >> 8 & 0xff" (binary_expression "uStack_80 >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_7c >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_7c >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_7c >> 0x10 & 0xff)" ( (binary_expression "uStack_7c >> 0x10 & 0xff" (binary_expression "uStack_7c >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_78 >> 0x18) * 4" (call_expression "(ulong)(uStack_78 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_78 >> 0x18)" ( (binary_expression "uStack_78 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 == 10" identifier == number_literal)) ))) )) (compound_statement "{\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }" { (expression_statement "uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);" (assignment_expression "uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_78 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_78 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_78 >> 0x10 & 0xff)" ( (binary_expression "uStack_78 >> 0x10 & 0xff" (binary_expression "uStack_78 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_7c >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_7c >> 8 & 0xff" (binary_expression "uStack_7c >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)uStack_74._3_1_ * 4" (cast_expression "(ulong)uStack_74._3_1_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "uStack_74._3_1_" identifier . field_identifier)) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uStack_80 & 0xff) * 4" (call_expression "(ulong)(uStack_80 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_80 & 0xff)" ( (binary_expression "uStack_80 & 0xff" identifier & number_literal) ))) * number_literal)) )))))) ;) })) })) (expression_statement "auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];" (assignment_expression "auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8]" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8]" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(auStack_98[0] >> 0x10 & 0xff) * 4" (call_expression "(ulong)(auStack_98[0] >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[0] >> 0x10 & 0xff)" ( (binary_expression "auStack_98[0] >> 0x10 & 0xff" (binary_expression "auStack_98[0] >> 0x10" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[1] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[1] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[1] >> 0x18)" ( (binary_expression "auStack_98[1] >> 0x18" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4" (call_expression "(ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[(int)(iVar7 - 2U)] & 0xff)" ( (binary_expression "auStack_98[(int)(iVar7 - 2U)] & 0xff" (subscript_expression "auStack_98[(int)(iVar7 - 2U)]" identifier [ (cast_expression "(int)(iVar7 - 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - 2U)" ( (binary_expression "iVar7 - 2U" identifier - number_literal) ))) ]) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[uVar8]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ identifier ]))) ;) (expression_statement "auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);" (assignment_expression "auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[auStack_98[0] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[0] >> 8 & 0xff" (binary_expression "auStack_98[0] >> 8" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[2] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[2] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[2] >> 0x18)" ( (binary_expression "auStack_98[2] >> 0x18" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);" (assignment_expression "auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uVar9 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uVar9 & 0xff" identifier & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[3] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[3] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[3] >> 0x18)" ( (binary_expression "auStack_98[3] >> 0x18" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[0] & 0xff) * 4" (call_expression "(ulong)(auStack_98[0] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[0] & 0xff)" ( (binary_expression "auStack_98[0] & 0xff" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;" (assignment_expression "auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) = (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4)" (subscript_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff" (binary_expression "auStack_98[(int)(iVar7 - 2U)] >> 8" (subscript_expression "auStack_98[(int)(iVar7 - 2U)]" identifier [ (cast_expression "(int)(iVar7 - 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - 2U)" ( (binary_expression "iVar7 - 2U" identifier - number_literal) ))) ]) >> number_literal) & number_literal) ]) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 + uVar10 * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + uVar10 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + uVar10 * 4)" ( (binary_expression "&DAT_00194ae0 + uVar10 * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "uVar10 * 4" identifier * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[0] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[0] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[0] >> 0x18)" ( (binary_expression "auStack_98[0] >> 0x18" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)auStack_98[iVar7 + -3] * 4" (cast_expression "(ulong)(byte)auStack_98[iVar7 + -3]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)auStack_98[iVar7 + -3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "auStack_98[iVar7 + -3]" identifier [ (binary_expression "iVar7 + -3" identifier + number_literal) ]))) * number_literal)) ))))) ^ (pointer_expression "*puStack_130" * identifier))) ;) (if_statement "if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }" if (parenthesized_expression "(((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10))))" ( (binary_expression "((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))" (parenthesized_expression "((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5))" ( (binary_expression "(iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)" (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) && (parenthesized_expression "(uStack_88 = uStack_100, iVar7 != 5)" ( (comma_expression "uStack_88 = uStack_100, iVar7 != 5" (assignment_expression "uStack_88 = uStack_100" identifier = identifier) , (binary_expression "iVar7 != 5" identifier != number_literal)) ))) )) && (parenthesized_expression "(((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))" ( (parenthesized_expression "((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10))" ( (binary_expression "(uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)" (parenthesized_expression "(uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8))))" ( (comma_expression "uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (assignment_expression "uStack_84 = uStack_fc" identifier = identifier) , (binary_expression "iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (binary_expression "iVar7 != 6" identifier != number_literal) && (parenthesized_expression "((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" ( (parenthesized_expression "(uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8))" ( (comma_expression "uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)" (assignment_expression "uStack_80 = uStack_c0" identifier = identifier) , (binary_expression "iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)" (binary_expression "iVar7 != 7" identifier != number_literal) && (parenthesized_expression "(uStack_7c = uStack_bc, iVar7 != 8)" ( (comma_expression "uStack_7c = uStack_bc, iVar7 != 8" (assignment_expression "uStack_7c = uStack_bc" identifier = identifier) , (binary_expression "iVar7 != 8" identifier != number_literal)) )))) )) )))) )) && (parenthesized_expression "(uStack_78 = uStack_b0, iVar7 == 10)" ( (comma_expression "uStack_78 = uStack_b0, iVar7 == 10" (assignment_expression "uStack_78 = uStack_b0" identifier = identifier) , (binary_expression "iVar7 == 10" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n          uStack_74 = uStack_ac;\n        }" { (expression_statement "uStack_74 = uStack_ac;" (assignment_expression "uStack_74 = uStack_ac" identifier = identifier) ;) })) (expression_statement "puStack_130 = puStack_130 + 1;" (assignment_expression "puStack_130 = puStack_130 + 1" identifier = (binary_expression "puStack_130 + 1" identifier + number_literal)) ;) (expression_statement "puStack_120 = puStack_120 + 4;" (assignment_expression "puStack_120 = puStack_120 + 4" identifier = (binary_expression "puStack_120 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130)" ( (binary_expression "(uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130" (cast_expression "(uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193a84 + (ulong)uStack_a4 * 4)" ( (binary_expression "&DAT_00193a84 + (ulong)uStack_a4 * 4" (pointer_expression "&DAT_00193a84" & identifier) + (binary_expression "(ulong)uStack_a4 * 4" (cast_expression "(ulong)uStack_a4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))) != identifier) )) ;) (expression_statement "piVar5 = param_4 + lStack_a0 * 4;" (assignment_expression "piVar5 = param_4 + lStack_a0 * 4" identifier = (binary_expression "param_4 + lStack_a0 * 4" identifier + (binary_expression "lStack_a0 * 4" identifier * number_literal))) ;) (expression_statement "param_4[0x4e] = piVar5[0x22];" (assignment_expression "param_4[0x4e] = piVar5[0x22]" (subscript_expression "param_4[0x4e]" identifier [ number_literal ]) = (subscript_expression "piVar5[0x22]" identifier [ number_literal ])) ;) (expression_statement "piVar5[0x6e] = param_4[2];" (assignment_expression "piVar5[0x6e] = param_4[2]" (subscript_expression "piVar5[0x6e]" identifier [ number_literal ]) = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];" (assignment_expression "param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3]" (subscript_expression "param_4[0x4f]" identifier [ number_literal ]) = (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 3]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 3" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ])) ;) (expression_statement "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];" (assignment_expression "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4]" identifier = (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 4]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 4" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ])) ;) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x4f]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 0x4f" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ]) = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "param_4[0x50] = iVar3;" (assignment_expression "param_4[0x50] = iVar3" (subscript_expression "param_4[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];" (assignment_expression "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5]" identifier = (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 5]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 5" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ])) ;) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x50]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 0x50" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ]) = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "param_4[0x51] = iVar3;" (assignment_expression "param_4[0x51] = iVar3" (subscript_expression "param_4[0x51]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x51]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 0x51" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ]) = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (uint *)(param_4 + 0x52);" (assignment_expression "puVar11 = (uint *)(param_4 + 0x52)" identifier = (cast_expression "(uint *)(param_4 + 0x52)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x52)" ( (binary_expression "param_4 + 0x52" identifier + number_literal) )))) ;) (do_statement "do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));" do (compound_statement "{\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      }" { (expression_statement "uVar1 = piVar5[0x1e];" (assignment_expression "uVar1 = piVar5[0x1e]" identifier = (subscript_expression "piVar5[0x1e]" identifier [ number_literal ])) ;) (expression_statement "puVar12 = puVar11 + 4;" (assignment_expression "puVar12 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "*puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "*puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (pointer_expression "*puVar11" * identifier) = (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "uVar1 = piVar5[0x1f];" (assignment_expression "uVar1 = piVar5[0x1f]" identifier = (subscript_expression "piVar5[0x1f]" identifier [ number_literal ])) ;) (expression_statement "puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "uVar1 = piVar5[0x20];" (assignment_expression "uVar1 = piVar5[0x20]" identifier = (subscript_expression "piVar5[0x20]" identifier [ number_literal ])) ;) (expression_statement "puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "uVar1 = piVar5[0x21];" (assignment_expression "uVar1 = piVar5[0x21]" identifier = (subscript_expression "piVar5[0x21]" identifier [ number_literal ])) ;) (expression_statement "puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "piVar5 = piVar5 + -4;" (assignment_expression "piVar5 = piVar5 + -4" identifier = (binary_expression "piVar5 + -4" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar12;" (assignment_expression "puVar11 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "(puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56))" ( (binary_expression "puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" identifier != (cast_expression "(uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" ( (binary_expression "param_4 + (ulong)(iVar7 + 6) * 4 + 0x56" (binary_expression "param_4 + (ulong)(iVar7 + 6) * 4" identifier + (binary_expression "(ulong)(iVar7 + 6) * 4" (call_expression "(ulong)(iVar7 + 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 + 6)" ( (binary_expression "iVar7 + 6" identifier + number_literal) ))) * number_literal)) + number_literal) )))) )) ;) }) (else_clause "else {\n      uStack_a8 = 4;\n    }" else (compound_statement "{\n      uStack_a8 = 4;\n    }" { (expression_statement "uStack_a8 = 4;" (assignment_expression "uStack_a8 = 4" identifier = number_literal) ;) }))) }) (else_clause "else {\n    uStack_a8 = 3;\n  }" else (compound_statement "{\n    uStack_a8 = 3;\n  }" { (expression_statement "uStack_a8 = 3;" (assignment_expression "uStack_a8 = 3" identifier = number_literal) ;) }))) (if_statement "if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lStack_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lStack_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return uStack_a8;" return identifier ;) })))
(translation_unit "/* WARNING: Switch with 1 destination removed at 0x00114f10 */\n\nint anubis_setup(uchar *key,int keylen,int num_rounds,symmetric_key *skey)\n\n{\n  uint uVar1;\n  uint uVar2;\n  ulong32 uVar3;\n  long lVar4;\n  ulong32 uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  ulong32 uVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint uVar12;\n  ulong32 *puVar13;\n  ulong32 *puVar14;\n  long in_FS_OFFSET;\n  ulong32 *puStack_130;\n  uint uStack_128;\n  ulong32 *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  int iStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint uStack_98;\n  uint uStack_94;\n  uint auStack_90 [7];\n  uint uStack_74;\n  byte bStack_71;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (key == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  if (((keylen & 3U) == 0) && (keylen - 0x10U < 0x19)) {\n    (skey->rc5).rounds = keylen << 3;\n    iVar6 = (keylen << 3) >> 5;\n    uStack_a4 = iVar6 + 8;\n    (skey->des).ek[1] = uStack_a4;\n    if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }\n    else {\n      iStack_a8 = 4;\n    }\n  }\n  else {\n    iStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return iStack_a8;\n}\n\n" comment (function_definition "int anubis_setup(uchar *key,int keylen,int num_rounds,symmetric_key *skey)\n\n{\n  uint uVar1;\n  uint uVar2;\n  ulong32 uVar3;\n  long lVar4;\n  ulong32 uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  ulong32 uVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint uVar12;\n  ulong32 *puVar13;\n  ulong32 *puVar14;\n  long in_FS_OFFSET;\n  ulong32 *puStack_130;\n  uint uStack_128;\n  ulong32 *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  int iStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint uStack_98;\n  uint uStack_94;\n  uint auStack_90 [7];\n  uint uStack_74;\n  byte bStack_71;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (key == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  if (((keylen & 3U) == 0) && (keylen - 0x10U < 0x19)) {\n    (skey->rc5).rounds = keylen << 3;\n    iVar6 = (keylen << 3) >> 5;\n    uStack_a4 = iVar6 + 8;\n    (skey->des).ek[1] = uStack_a4;\n    if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }\n    else {\n      iStack_a8 = 4;\n    }\n  }\n  else {\n    iStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return iStack_a8;\n}" primitive_type (function_declarator "anubis_setup(uchar *key,int keylen,int num_rounds,symmetric_key *skey)" identifier (parameter_list "(uchar *key,int keylen,int num_rounds,symmetric_key *skey)" ( (parameter_declaration "uchar *key" type_identifier (pointer_declarator "*key" * identifier)) , (parameter_declaration "int keylen" primitive_type identifier) , (parameter_declaration "int num_rounds" primitive_type identifier) , (parameter_declaration "symmetric_key *skey" type_identifier (pointer_declarator "*skey" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  ulong32 uVar3;\n  long lVar4;\n  ulong32 uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  ulong32 uVar9;\n  uint uVar10;\n  uint *puVar11;\n  uint uVar12;\n  ulong32 *puVar13;\n  ulong32 *puVar14;\n  long in_FS_OFFSET;\n  ulong32 *puStack_130;\n  uint uStack_128;\n  ulong32 *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  int iStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint uStack_98;\n  uint uStack_94;\n  uint auStack_90 [7];\n  uint uStack_74;\n  byte bStack_71;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (key == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  if (((keylen & 3U) == 0) && (keylen - 0x10U < 0x19)) {\n    (skey->rc5).rounds = keylen << 3;\n    iVar6 = (keylen << 3) >> 5;\n    uStack_a4 = iVar6 + 8;\n    (skey->des).ek[1] = uStack_a4;\n    if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }\n    else {\n      iStack_a8 = 4;\n    }\n  }\n  else {\n    iStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return iStack_a8;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "ulong32 uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong32 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "ulong32 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "ulong32 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "ulong32 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong32 *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "uint uStack_128;" type_identifier identifier ;) (declaration "ulong32 *puStack_120;" type_identifier (pointer_declarator "*puStack_120" * identifier) ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "uint uStack_fc;" type_identifier identifier ;) (declaration "uint uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b0;" type_identifier identifier ;) (declaration "uint uStack_ac;" type_identifier identifier ;) (declaration "int iStack_a8;" primitive_type identifier ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "long lStack_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uStack_98;" type_identifier identifier ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "uint auStack_90 [7];" type_identifier (array_declarator "auStack_90 [7]" identifier [ number_literal ]) ;) (declaration "uint uStack_74;" type_identifier identifier ;) (declaration "byte bStack_71;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [16];" type_identifier (array_declarator "auStack_68 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_58 [16];" type_identifier (array_declarator "auStack_58 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_48;" type_identifier identifier ;) (declaration "long lStack_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lStack_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lStack_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "auStack_68 = (undefined1  [16])0x0;" (assignment_expression "auStack_68 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "auStack_58 = (undefined1  [16])0x0;" (assignment_expression "auStack_58 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uStack_48 = 0;" (assignment_expression "uStack_48 = 0" identifier = number_literal) ;) (if_statement "if (key == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" if (parenthesized_expression "(key == (uchar *)0x0)" ( (binary_expression "key == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" { comment (expression_statement "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);" (call_expression "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387)" identifier (argument_list "("key != NULL","src/ciphers/anubis.c",0x387)" ( (string_literal ""key != NULL"" " string_content ") , (string_literal ""src/ciphers/anubis.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" if (parenthesized_expression "(skey == (symmetric_key *)0x0)" ( (binary_expression "skey == (symmetric_key *)0x0" identifier == (cast_expression "(symmetric_key *)0x0" ( (type_descriptor "symmetric_key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" { comment (expression_statement "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);" (call_expression "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388)" identifier (argument_list "("skey != NULL","src/ciphers/anubis.c",0x388)" ( (string_literal ""skey != NULL"" " string_content ") , (string_literal ""src/ciphers/anubis.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (((keylen & 3U) == 0) && (keylen - 0x10U < 0x19)) {\n    (skey->rc5).rounds = keylen << 3;\n    iVar6 = (keylen << 3) >> 5;\n    uStack_a4 = iVar6 + 8;\n    (skey->des).ek[1] = uStack_a4;\n    if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }\n    else {\n      iStack_a8 = 4;\n    }\n  }\n  else {\n    iStack_a8 = 3;\n  }" if (parenthesized_expression "(((keylen & 3U) == 0) && (keylen - 0x10U < 0x19))" ( (binary_expression "((keylen & 3U) == 0) && (keylen - 0x10U < 0x19)" (parenthesized_expression "((keylen & 3U) == 0)" ( (binary_expression "(keylen & 3U) == 0" (parenthesized_expression "(keylen & 3U)" ( (binary_expression "keylen & 3U" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(keylen - 0x10U < 0x19)" ( (binary_expression "keylen - 0x10U < 0x19" (binary_expression "keylen - 0x10U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n    (skey->rc5).rounds = keylen << 3;\n    iVar6 = (keylen << 3) >> 5;\n    uStack_a4 = iVar6 + 8;\n    (skey->des).ek[1] = uStack_a4;\n    if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }\n    else {\n      iStack_a8 = 4;\n    }\n  }" { (expression_statement "(skey->rc5).rounds = keylen << 3;" (assignment_expression "(skey->rc5).rounds = keylen << 3" (field_expression "(skey->rc5).rounds" (parenthesized_expression "(skey->rc5)" ( (field_expression "skey->rc5" identifier -> field_identifier) )) . field_identifier) = (binary_expression "keylen << 3" identifier << number_literal)) ;) (expression_statement "iVar6 = (keylen << 3) >> 5;" (assignment_expression "iVar6 = (keylen << 3) >> 5" identifier = (binary_expression "(keylen << 3) >> 5" (parenthesized_expression "(keylen << 3)" ( (binary_expression "keylen << 3" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "uStack_a4 = iVar6 + 8;" (assignment_expression "uStack_a4 = iVar6 + 8" identifier = (binary_expression "iVar6 + 8" identifier + number_literal)) ;) (expression_statement "(skey->des).ek[1] = uStack_a4;" (assignment_expression "(skey->des).ek[1] = uStack_a4" (subscript_expression "(skey->des).ek[1]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = identifier) ;) (if_statement "if ((num_rounds == 0) || (uStack_a4 == num_rounds)) {\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }\n    else {\n      iStack_a8 = 4;\n    }" if (parenthesized_expression "((num_rounds == 0) || (uStack_a4 == num_rounds))" ( (binary_expression "(num_rounds == 0) || (uStack_a4 == num_rounds)" (parenthesized_expression "(num_rounds == 0)" ( (binary_expression "num_rounds == 0" identifier == number_literal) )) || (parenthesized_expression "(uStack_a4 == num_rounds)" ( (binary_expression "uStack_a4 == num_rounds" identifier == identifier) ))) )) (compound_statement "{\n      uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;\n      uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;\n      auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;\n      auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;\n      if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }\n      puStack_130 = rc;\n      lStack_a0 = (long)iVar6;\n      puStack_120 = (skey->des3).ek[0] + 2;\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);\n      uVar9 = (skey->des).ek[2];\n      lVar4 = lStack_a0 * 0x10 + (long)skey;\n      (skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);\n      *(ulong32 *)(lVar4 + 0x1b8) = uVar9;\n      uVar9 = (skey->des).ek[3];\n      (skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;\n      uVar9 = (skey->des).ek[4];\n      (skey->des3).ek[2][0x10] = uVar5;\n      uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;\n      uVar9 = (skey->des).ek[5];\n      (skey->des3).ek[2][0x11] = uVar5;\n      *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;\n      puVar13 = (skey->des3).ek[2] + 0x12;\n      do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));\n    }" { (expression_statement "uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8;" (assignment_expression "uStack_98 = (uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8" identifier = (binary_expression "(uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10 ^ (uint)key[2] << 8" (binary_expression "(uint)*key << 0x18 ^ (uint)key[3] ^ (uint)key[1] << 0x10" (binary_expression "(uint)*key << 0x18 ^ (uint)key[3]" (binary_expression "(uint)*key << 0x18" (binary_expression "(uint)*key" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) ^ (cast_expression "(uint)key[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[3]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[1] << 0x10" (cast_expression "(uint)key[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[1]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[2] << 8" (cast_expression "(uint)key[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8;" (assignment_expression "uStack_94 = (uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8" identifier = (binary_expression "(uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10 ^ (uint)key[6] << 8" (binary_expression "(uint)key[4] << 0x18 ^ (uint)key[7] ^ (uint)key[5] << 0x10" (binary_expression "(uint)key[4] << 0x18 ^ (uint)key[7]" (binary_expression "(uint)key[4] << 0x18" (cast_expression "(uint)key[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[4]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[7]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[5] << 0x10" (cast_expression "(uint)key[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[5]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[6] << 8" (cast_expression "(uint)key[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8;" (assignment_expression "auStack_90[0] =\n           (uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8" (subscript_expression "auStack_90[0]" identifier [ number_literal ]) = (binary_expression "(uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10 ^ (uint)key[10] << 8" (binary_expression "(uint)key[8] << 0x18 ^ (uint)key[0xb] ^ (uint)key[9] << 0x10" (binary_expression "(uint)key[8] << 0x18 ^ (uint)key[0xb]" (binary_expression "(uint)key[8] << 0x18" (cast_expression "(uint)key[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[8]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xb]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[9] << 0x10" (cast_expression "(uint)key[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[9]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[10] << 8" (cast_expression "(uint)key[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[10]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8;" (assignment_expression "auStack_90[1] =\n           (uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8" (subscript_expression "auStack_90[1]" identifier [ number_literal ]) = (binary_expression "(uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10 ^ (uint)key[0xe] << 8" (binary_expression "(uint)key[0xc] << 0x18 ^ (uint)key[0xf] ^ (uint)key[0xd] << 0x10" (binary_expression "(uint)key[0xc] << 0x18 ^ (uint)key[0xf]" (binary_expression "(uint)key[0xc] << 0x18" (cast_expression "(uint)key[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xc]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xf]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0xd] << 0x10" (cast_expression "(uint)key[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xd]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0xe] << 8" (cast_expression "(uint)key[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0xe]" identifier [ number_literal ])) << number_literal))) ;) (if_statement "if ((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))) {\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }" if (parenthesized_expression "((iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10))))))" ( (binary_expression "(iVar6 != 4) &&\n         ((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))" (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) && (parenthesized_expression "((((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))))" ( (parenthesized_expression "(((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10))))" ( (binary_expression "((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)) &&\n          ((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))" (parenthesized_expression "((auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7))" ( (binary_expression "(auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)) &&\n           (auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)" (parenthesized_expression "(auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6))" ( (comma_expression "auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8, iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)" (assignment_expression "auStack_90[2] =\n                  (uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8" (subscript_expression "auStack_90[2]" identifier [ number_literal ]) = (binary_expression "(uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10 ^\n                  (uint)key[0x12] << 8" (binary_expression "(uint)key[0x10] << 0x18 ^ (uint)key[0x13] ^ (uint)key[0x11] << 0x10" (binary_expression "(uint)key[0x10] << 0x18 ^ (uint)key[0x13]" (binary_expression "(uint)key[0x10] << 0x18" (cast_expression "(uint)key[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x10]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x13]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0x11] << 0x10" (cast_expression "(uint)key[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x11]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0x12] << 8" (cast_expression "(uint)key[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x12]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar6 != 5 &&\n            (auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)" (binary_expression "iVar6 != 5" identifier != number_literal) && (parenthesized_expression "(auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6)" ( (comma_expression "auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8, iVar6 != 6" (assignment_expression "auStack_90[3] =\n                  (uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8" (subscript_expression "auStack_90[3]" identifier [ number_literal ]) = (binary_expression "(uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10 ^\n                  (uint)key[0x16] << 8" (binary_expression "(uint)key[0x14] << 0x18 ^ (uint)key[0x17] ^ (uint)key[0x15] << 0x10" (binary_expression "(uint)key[0x14] << 0x18 ^ (uint)key[0x17]" (binary_expression "(uint)key[0x14] << 0x18" (cast_expression "(uint)key[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x14]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x17]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0x15] << 0x10" (cast_expression "(uint)key[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x15]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0x16] << 8" (cast_expression "(uint)key[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x16]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar6 != 6" identifier != number_literal)) )))) )) && (parenthesized_expression "(auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7)" ( (comma_expression "auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8, iVar6 != 7" (assignment_expression "auStack_90[4] =\n                 (uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8" (subscript_expression "auStack_90[4]" identifier [ number_literal ]) = (binary_expression "(uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10 ^\n                 (uint)key[0x1a] << 8" (binary_expression "(uint)key[0x18] << 0x18 ^ (uint)key[0x1b] ^ (uint)key[0x19] << 0x10" (binary_expression "(uint)key[0x18] << 0x18 ^ (uint)key[0x1b]" (binary_expression "(uint)key[0x18] << 0x18" (cast_expression "(uint)key[0x18]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x18]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0x1b]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x1b]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0x19] << 0x10" (cast_expression "(uint)key[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x19]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0x1a] << 8" (cast_expression "(uint)key[0x1a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x1a]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar6 != 7" identifier != number_literal)) ))) )) && (parenthesized_expression "((auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)))" ( (parenthesized_expression "(auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10))" ( (comma_expression "auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8, iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)" (assignment_expression "auStack_90[5] =\n                 (uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8" (subscript_expression "auStack_90[5]" identifier [ number_literal ]) = (binary_expression "(uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10 ^\n                 (uint)key[0x1e] << 8" (binary_expression "(uint)key[0x1c] << 0x18 ^ (uint)key[0x1f] ^ (uint)key[0x1d] << 0x10" (binary_expression "(uint)key[0x1c] << 0x18 ^ (uint)key[0x1f]" (binary_expression "(uint)key[0x1c] << 0x18" (cast_expression "(uint)key[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x1c]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0x1f]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x1f]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0x1d] << 0x10" (cast_expression "(uint)key[0x1d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x1d]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0x1e] << 8" (cast_expression "(uint)key[0x1e]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x1e]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar6 != 8 &&\n           (auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)" (binary_expression "iVar6 != 8" identifier != number_literal) && (parenthesized_expression "(auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10)" ( (comma_expression "auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8, iVar6 == 10" (assignment_expression "auStack_90[6] =\n                 (uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8" (subscript_expression "auStack_90[6]" identifier [ number_literal ]) = (binary_expression "(uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10 ^\n                 (uint)key[0x22] << 8" (binary_expression "(uint)key[0x20] << 0x18 ^ (uint)key[0x23] ^ (uint)key[0x21] << 0x10" (binary_expression "(uint)key[0x20] << 0x18 ^ (uint)key[0x23]" (binary_expression "(uint)key[0x20] << 0x18" (cast_expression "(uint)key[0x20]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x20]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0x23]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x23]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0x21] << 0x10" (cast_expression "(uint)key[0x21]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x21]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0x22] << 8" (cast_expression "(uint)key[0x22]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x22]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar6 == 10" identifier == number_literal)) )))) )) ))) )) ))) )) (compound_statement "{\n        uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;\n      }" { (expression_statement "uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8;" (assignment_expression "uStack_74 = (uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8" identifier = (binary_expression "(uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10 ^\n                    (uint)key[0x26] << 8" (binary_expression "(uint)key[0x24] << 0x18 ^ (uint)key[0x27] ^ (uint)key[0x25] << 0x10" (binary_expression "(uint)key[0x24] << 0x18 ^ (uint)key[0x27]" (binary_expression "(uint)key[0x24] << 0x18" (cast_expression "(uint)key[0x24]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x24]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)key[0x27]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x27]" identifier [ number_literal ]))) ^ (binary_expression "(uint)key[0x25] << 0x10" (cast_expression "(uint)key[0x25]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x25]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)key[0x26] << 8" (cast_expression "(uint)key[0x26]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "key[0x26]" identifier [ number_literal ])) << number_literal))) ;) })) (expression_statement "puStack_130 = rc;" (assignment_expression "puStack_130 = rc" identifier = identifier) ;) (expression_statement "lStack_a0 = (long)iVar6;" (assignment_expression "lStack_a0 = (long)iVar6" identifier = (cast_expression "(long)iVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "puStack_120 = (skey->des3).ek[0] + 2;" (assignment_expression "puStack_120 = (skey->des3).ek[0] + 2" identifier = (binary_expression "(skey->des3).ek[0] + 2" (subscript_expression "(skey->des3).ek[0]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + number_literal)) ;) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" identifier = number_literal) ;) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" identifier = number_literal) ;) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" identifier = number_literal) ;) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while (rc + (ulong)uStack_a4 + 1 != puStack_130);" do (compound_statement "{\n        uVar1 = (&uStack_98)[iVar6 + -1];\n        uVar7 = uVar1 >> 8 & 0xff;\n        uVar9 = T4[uVar7];\n        uVar5 = T4[uVar1 & 0xff];\n        uStack_128 = T4[uVar1 >> 0x18];\n        uVar8 = uVar1 >> 0x10 & 0xff;\n        uVar3 = T4[uVar8];\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);\n        puStack_120[1] = uVar3;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar5;\n        if (rc + uStack_a4 == puStack_130) break;\n        uVar12 = uStack_94 >> 0x10;\n        uVar2 = uStack_94 >> 8;\n        uVar10 = auStack_90[0] >> 0x10;\n        if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }\n        uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];\n        auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];\n        auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;\n        uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;\n        if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      }" { (expression_statement "uVar1 = (&uStack_98)[iVar6 + -1];" (assignment_expression "uVar1 = (&uStack_98)[iVar6 + -1]" identifier = (subscript_expression "(&uStack_98)[iVar6 + -1]" (parenthesized_expression "(&uStack_98)" ( (pointer_expression "&uStack_98" & identifier) )) [ (binary_expression "iVar6 + -1" identifier + number_literal) ])) ;) (expression_statement "uVar7 = uVar1 >> 8 & 0xff;" (assignment_expression "uVar7 = uVar1 >> 8 & 0xff" identifier = (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal)) ;) (expression_statement "uVar9 = T4[uVar7];" (assignment_expression "uVar9 = T4[uVar7]" identifier = (subscript_expression "T4[uVar7]" identifier [ identifier ])) ;) (expression_statement "uVar5 = T4[uVar1 & 0xff];" (assignment_expression "uVar5 = T4[uVar1 & 0xff]" identifier = (subscript_expression "T4[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ])) ;) (expression_statement "uStack_128 = T4[uVar1 >> 0x18];" (assignment_expression "uStack_128 = T4[uVar1 >> 0x18]" identifier = (subscript_expression "T4[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ])) ;) (expression_statement "uVar8 = uVar1 >> 0x10 & 0xff;" (assignment_expression "uVar8 = uVar1 >> 0x10 & 0xff" identifier = (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal)) ;) (expression_statement "uVar3 = T4[uVar8];" (assignment_expression "uVar3 = T4[uVar8]" identifier = (subscript_expression "T4[uVar8]" identifier [ identifier ])) ;) (expression_statement "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);" (assignment_expression "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4)" identifier = (cast_expression "(uint *)((long)&lStack_a0 + lStack_a0 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&lStack_a0 + lStack_a0 * 4)" ( (binary_expression "(long)&lStack_a0 + lStack_a0 * 4" (cast_expression "(long)&lStack_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&lStack_a0" & identifier)) + (binary_expression "lStack_a0 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11);" do (compound_statement "{\n          uVar2 = *puVar11;\n          uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;\n          uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];\n          uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];\n          puVar11 = puVar11 + -1;\n          uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;\n        }" { (expression_statement "uVar2 = *puVar11;" (assignment_expression "uVar2 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00;" (assignment_expression "uStack_128 = T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00" identifier = (binary_expression "T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18] ^ T5[uStack_128 >> 8 & 0xff] & 0xff00" (binary_expression "T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]) ^\n                       T4[uVar2 >> 0x18]" (binary_expression "T5[uStack_128 >> 0x10 & 0xff] & 0xff0000 ^\n                       (T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff])" (binary_expression "T5[uStack_128 >> 0x10 & 0xff] & 0xff0000" (subscript_expression "T5[uStack_128 >> 0x10 & 0xff]" identifier [ (binary_expression "uStack_128 >> 0x10 & 0xff" (binary_expression "uStack_128 >> 0x10" identifier >> number_literal) & number_literal) ]) & number_literal) ^ (parenthesized_expression "(T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff])" ( (binary_expression "T5[uStack_128 >> 0x18] & 0xff000000 | (uint)(byte)T5[uStack_128 & 0xff]" (binary_expression "T5[uStack_128 >> 0x18] & 0xff000000" (subscript_expression "T5[uStack_128 >> 0x18]" identifier [ (binary_expression "uStack_128 >> 0x18" identifier >> number_literal) ]) & number_literal) | (cast_expression "(uint)(byte)T5[uStack_128 & 0xff]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)T5[uStack_128 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T5[uStack_128 & 0xff]" identifier [ (binary_expression "uStack_128 & 0xff" identifier & number_literal) ])))) ))) ^ (subscript_expression "T4[uVar2 >> 0x18]" identifier [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (binary_expression "T5[uStack_128 >> 8 & 0xff] & 0xff00" (subscript_expression "T5[uStack_128 >> 8 & 0xff]" identifier [ (binary_expression "uStack_128 >> 8 & 0xff" (binary_expression "uStack_128 >> 8" identifier >> number_literal) & number_literal) ]) & number_literal))) ;) (expression_statement "uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff];" (assignment_expression "uVar3 = ((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff]" identifier = (binary_expression "((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 0x10 & 0xff]" (binary_expression "((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000) ^\n                  (T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000)" (parenthesized_expression "((uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000)" ( (binary_expression "(uint)(byte)T5[uVar3 & 0xff] | T5[uVar3 >> 0x18] & 0xff000000" (cast_expression "(uint)(byte)T5[uVar3 & 0xff]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)T5[uVar3 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T5[uVar3 & 0xff]" identifier [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ]))) | (binary_expression "T5[uVar3 >> 0x18] & 0xff000000" (subscript_expression "T5[uVar3 >> 0x18]" identifier [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ]) & number_literal)) )) ^ (parenthesized_expression "(T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000)" ( (binary_expression "T5[uVar3 >> 8 & 0xff] & 0xff00 | T5[uVar3 >> 0x10 & 0xff] & 0xff0000" (binary_expression "T5[uVar3 >> 8 & 0xff] & 0xff00" (subscript_expression "T5[uVar3 >> 8 & 0xff]" identifier [ (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal) ]) & number_literal) | (binary_expression "T5[uVar3 >> 0x10 & 0xff] & 0xff0000" (subscript_expression "T5[uVar3 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar3 >> 0x10 & 0xff" (binary_expression "uVar3 >> 0x10" identifier >> number_literal) & number_literal) ]) & number_literal)) ))) ^ (subscript_expression "T4[uVar2 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff];" (assignment_expression "uVar9 = ((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff]" identifier = (binary_expression "((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000) ^\n                  T4[uVar2 >> 8 & 0xff]" (binary_expression "((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000) ^\n                  (T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000)" (parenthesized_expression "((uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000)" ( (binary_expression "(uint)(byte)T5[uVar9 & 0xff] | T5[uVar9 >> 0x18] & 0xff000000" (cast_expression "(uint)(byte)T5[uVar9 & 0xff]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)T5[uVar9 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T5[uVar9 & 0xff]" identifier [ (binary_expression "uVar9 & 0xff" identifier & number_literal) ]))) | (binary_expression "T5[uVar9 >> 0x18] & 0xff000000" (subscript_expression "T5[uVar9 >> 0x18]" identifier [ (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ]) & number_literal)) )) ^ (parenthesized_expression "(T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000)" ( (binary_expression "T5[(byte)(uVar9 >> 8)] & 0xff00 | T5[uVar9 >> 0x10 & 0xff] & 0xff0000" (binary_expression "T5[(byte)(uVar9 >> 8)] & 0xff00" (subscript_expression "T5[(byte)(uVar9 >> 8)]" identifier [ (call_expression "(byte)(uVar9 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) ))) ]) & number_literal) | (binary_expression "T5[uVar9 >> 0x10 & 0xff] & 0xff0000" (subscript_expression "T5[uVar9 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ]) & number_literal)) ))) ^ (subscript_expression "T4[uVar2 >> 8 & 0xff]" identifier [ (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "puVar11 = puVar11 + -1;" (assignment_expression "puVar11 = puVar11 + -1" identifier = (binary_expression "puVar11 + -1" identifier + number_literal)) ;) (expression_statement "uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00;" (assignment_expression "uVar5 = T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00" identifier = (binary_expression "T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]\n                  ^ T5[uVar5 >> 8 & 0xff] & 0xff00" (binary_expression "T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000) ^ T4[uVar2 & 0xff]" (binary_expression "T5[uVar5 >> 0x10 & 0xff] & 0xff0000 ^\n                  ((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000)" (binary_expression "T5[uVar5 >> 0x10 & 0xff] & 0xff0000" (subscript_expression "T5[uVar5 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ]) & number_literal) ^ (parenthesized_expression "((uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000)" ( (binary_expression "(uint)(byte)T5[uVar5 & 0xff] | T5[uVar5 >> 0x18] & 0xff000000" (cast_expression "(uint)(byte)T5[uVar5 & 0xff]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)T5[uVar5 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T5[uVar5 & 0xff]" identifier [ (binary_expression "uVar5 & 0xff" identifier & number_literal) ]))) | (binary_expression "T5[uVar5 >> 0x18] & 0xff000000" (subscript_expression "T5[uVar5 >> 0x18]" identifier [ (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ]) & number_literal)) ))) ^ (subscript_expression "T4[uVar2 & 0xff]" identifier [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ (binary_expression "T5[uVar5 >> 8 & 0xff] & 0xff00" (subscript_expression "T5[uVar5 >> 8 & 0xff]" identifier [ (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ]) & number_literal))) ;) }) while (parenthesized_expression "(&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11)" ( (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U)) != puVar11" (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar6 - 2U))" (pointer_expression "&uStack_a4" & identifier) + (parenthesized_expression "(lStack_a0 - (ulong)(iVar6 - 2U))" ( (binary_expression "lStack_a0 - (ulong)(iVar6 - 2U)" identifier - (call_expression "(ulong)(iVar6 - 2U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar6 - 2U)" ( (binary_expression "iVar6 - 2U" identifier - number_literal) )))) ))) != identifier) )) ;) (expression_statement "puStack_120[1] = uVar3;" (assignment_expression "puStack_120[1] = uVar3" (subscript_expression "puStack_120[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puStack_120 = uStack_128;" (assignment_expression "*puStack_120 = uStack_128" (pointer_expression "*puStack_120" * identifier) = identifier) ;) (expression_statement "puStack_120[2] = uVar9;" (assignment_expression "puStack_120[2] = uVar9" (subscript_expression "puStack_120[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_120[3] = uVar5;" (assignment_expression "puStack_120[3] = uVar5" (subscript_expression "puStack_120[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (rc + uStack_a4 == puStack_130) break;" if (parenthesized_expression "(rc + uStack_a4 == puStack_130)" ( (binary_expression "rc + uStack_a4 == puStack_130" (binary_expression "rc + uStack_a4" identifier + identifier) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar12 = uStack_94 >> 0x10;" (assignment_expression "uVar12 = uStack_94 >> 0x10" identifier = (binary_expression "uStack_94 >> 0x10" identifier >> number_literal)) ;) (expression_statement "uVar2 = uStack_94 >> 8;" (assignment_expression "uVar2 = uStack_94 >> 8" identifier = (binary_expression "uStack_94 >> 8" identifier >> number_literal)) ;) (expression_statement "uVar10 = auStack_90[0] >> 0x10;" (assignment_expression "uVar10 = auStack_90[0] >> 0x10" identifier = (binary_expression "auStack_90[0] >> 0x10" (subscript_expression "auStack_90[0]" identifier [ number_literal ]) >> number_literal)) ;) (if_statement "if (((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)) {\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }" if (parenthesized_expression "(((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6))" ( (binary_expression "((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)) &&\n           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)" (parenthesized_expression "((iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5))" ( (binary_expression "(iVar6 != 4) &&\n            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)" (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) && (parenthesized_expression "(uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5)" ( (comma_expression "uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff], iVar6 != 5" (assignment_expression "uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff]" identifier = (binary_expression "T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18] ^ T3[uStack_94 & 0xff]" (binary_expression "T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^\n                          T0[auStack_90[2] >> 0x18]" (binary_expression "T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff]" (subscript_expression "T1[auStack_90[1] >> 0x10 & 0xff]" identifier [ (binary_expression "auStack_90[1] >> 0x10 & 0xff" (binary_expression "auStack_90[1] >> 0x10" (subscript_expression "auStack_90[1]" identifier [ number_literal ]) >> number_literal) & number_literal) ]) ^ (subscript_expression "T2[auStack_90[0] >> 8 & 0xff]" identifier [ (binary_expression "auStack_90[0] >> 8 & 0xff" (binary_expression "auStack_90[0] >> 8" (subscript_expression "auStack_90[0]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[auStack_90[2] >> 0x18]" identifier [ (binary_expression "auStack_90[2] >> 0x18" (subscript_expression "auStack_90[2]" identifier [ number_literal ]) >> number_literal) ])) ^ (subscript_expression "T3[uStack_94 & 0xff]" identifier [ (binary_expression "uStack_94 & 0xff" identifier & number_literal) ]))) , (binary_expression "iVar6 != 5" identifier != number_literal)) ))) )) && (parenthesized_expression "(uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6)" ( (comma_expression "uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], iVar6 != 6" (assignment_expression "uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff]" identifier = (binary_expression "T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff]" (binary_expression "T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^\n                        T0[auStack_90[3] >> 0x18]" (binary_expression "T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff]" (subscript_expression "T1[auStack_90[2] >> 0x10 & 0xff]" identifier [ (binary_expression "auStack_90[2] >> 0x10 & 0xff" (binary_expression "auStack_90[2] >> 0x10" (subscript_expression "auStack_90[2]" identifier [ number_literal ]) >> number_literal) & number_literal) ]) ^ (subscript_expression "T2[auStack_90[1] >> 8 & 0xff]" identifier [ (binary_expression "auStack_90[1] >> 8 & 0xff" (binary_expression "auStack_90[1] >> 8" (subscript_expression "auStack_90[1]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[auStack_90[3] >> 0x18]" identifier [ (binary_expression "auStack_90[3] >> 0x18" (subscript_expression "auStack_90[3]" identifier [ number_literal ]) >> number_literal) ])) ^ (subscript_expression "T3[auStack_90[0] & 0xff]" identifier [ (binary_expression "auStack_90[0] & 0xff" (subscript_expression "auStack_90[0]" identifier [ number_literal ]) & number_literal) ]))) , (binary_expression "iVar6 != 6" identifier != number_literal)) ))) )) (compound_statement "{\n          uStack_128._0_1_ = (byte)auStack_90[1];\n          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];\n          if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }\n        }" { (expression_statement "uStack_128._0_1_ = (byte)auStack_90[1];" (assignment_expression "uStack_128._0_1_ = (byte)auStack_90[1]" (field_expression "uStack_128._0_1_" identifier . field_identifier) = (cast_expression "(byte)auStack_90[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "auStack_90[1]" identifier [ number_literal ]))) ;) (expression_statement "uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128];" (assignment_expression "uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128]" identifier = (binary_expression "T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18] ^ T3[(byte)uStack_128]" (binary_expression "T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^\n                      T0[auStack_90[4] >> 0x18]" (binary_expression "T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff]" (subscript_expression "T1[auStack_90[3] >> 0x10 & 0xff]" identifier [ (binary_expression "auStack_90[3] >> 0x10 & 0xff" (binary_expression "auStack_90[3] >> 0x10" (subscript_expression "auStack_90[3]" identifier [ number_literal ]) >> number_literal) & number_literal) ]) ^ (subscript_expression "T2[auStack_90[2] >> 8 & 0xff]" identifier [ (binary_expression "auStack_90[2] >> 8 & 0xff" (binary_expression "auStack_90[2] >> 8" (subscript_expression "auStack_90[2]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[auStack_90[4] >> 0x18]" identifier [ (binary_expression "auStack_90[4] >> 0x18" (subscript_expression "auStack_90[4]" identifier [ number_literal ]) >> number_literal) ])) ^ (subscript_expression "T3[(byte)uStack_128]" identifier [ (cast_expression "(byte)uStack_128" ( (type_descriptor "byte" type_identifier) ) identifier) ]))) ;) (if_statement "if (((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)) {\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }" if (parenthesized_expression "(((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10))" ( (binary_expression "((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)) &&\n             (uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)" (parenthesized_expression "((iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8))" ( (binary_expression "(iVar6 != 7) &&\n              (uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)" (parenthesized_expression "(iVar6 != 7)" ( (binary_expression "iVar6 != 7" identifier != number_literal) )) && (parenthesized_expression "(uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8)" ( (comma_expression "uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18], iVar6 != 8" (assignment_expression "uStack_bc = T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18]" identifier = (binary_expression "T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^\n                           T0[auStack_90[5] >> 0x18]" (binary_expression "T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff]" (binary_expression "T3[auStack_90[2] & 0xff] ^\n                           T2[auStack_90[3] >> 8 & 0xff]" (subscript_expression "T3[auStack_90[2] & 0xff]" identifier [ (binary_expression "auStack_90[2] & 0xff" (subscript_expression "auStack_90[2]" identifier [ number_literal ]) & number_literal) ]) ^ (subscript_expression "T2[auStack_90[3] >> 8 & 0xff]" identifier [ (binary_expression "auStack_90[3] >> 8 & 0xff" (binary_expression "auStack_90[3] >> 8" (subscript_expression "auStack_90[3]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T1[auStack_90[4] >> 0x10 & 0xff]" identifier [ (binary_expression "auStack_90[4] >> 0x10 & 0xff" (binary_expression "auStack_90[4] >> 0x10" (subscript_expression "auStack_90[4]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[auStack_90[5] >> 0x18]" identifier [ (binary_expression "auStack_90[5] >> 0x18" (subscript_expression "auStack_90[5]" identifier [ number_literal ]) >> number_literal) ]))) , (binary_expression "iVar6 != 8" identifier != number_literal)) ))) )) && (parenthesized_expression "(uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10)" ( (comma_expression "uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18], iVar6 == 10" (assignment_expression "uStack_b0 = T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18]" identifier = (binary_expression "T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^\n                          T0[auStack_90[6] >> 0x18]" (binary_expression "T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff]" (binary_expression "T3[auStack_90[3] & 0xff] ^\n                          T2[auStack_90[4] >> 8 & 0xff]" (subscript_expression "T3[auStack_90[3] & 0xff]" identifier [ (binary_expression "auStack_90[3] & 0xff" (subscript_expression "auStack_90[3]" identifier [ number_literal ]) & number_literal) ]) ^ (subscript_expression "T2[auStack_90[4] >> 8 & 0xff]" identifier [ (binary_expression "auStack_90[4] >> 8 & 0xff" (binary_expression "auStack_90[4] >> 8" (subscript_expression "auStack_90[4]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T1[auStack_90[5] >> 0x10 & 0xff]" identifier [ (binary_expression "auStack_90[5] >> 0x10 & 0xff" (binary_expression "auStack_90[5] >> 0x10" (subscript_expression "auStack_90[5]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[auStack_90[6] >> 0x18]" identifier [ (binary_expression "auStack_90[6] >> 0x18" (subscript_expression "auStack_90[6]" identifier [ number_literal ]) >> number_literal) ]))) , (binary_expression "iVar6 == 10" identifier == number_literal)) ))) )) (compound_statement "{\n            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];\n          }" { (expression_statement "uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];" (assignment_expression "uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff]" identifier = (binary_expression "T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff]" (binary_expression "T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^\n                        T0[bStack_71]" (binary_expression "T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff]" (subscript_expression "T1[auStack_90[6] >> 0x10 & 0xff]" identifier [ (binary_expression "auStack_90[6] >> 0x10 & 0xff" (binary_expression "auStack_90[6] >> 0x10" (subscript_expression "auStack_90[6]" identifier [ number_literal ]) >> number_literal) & number_literal) ]) ^ (subscript_expression "T2[auStack_90[5] >> 8 & 0xff]" identifier [ (binary_expression "auStack_90[5] >> 8 & 0xff" (binary_expression "auStack_90[5] >> 8" (subscript_expression "auStack_90[5]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[bStack_71]" identifier [ identifier ])) ^ (subscript_expression "T3[auStack_90[4] & 0xff]" identifier [ (binary_expression "auStack_90[4] & 0xff" (subscript_expression "auStack_90[4]" identifier [ number_literal ]) & number_literal) ]))) ;) })) })) (expression_statement "uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7];" (assignment_expression "uStack_94 = T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7]" identifier = (binary_expression "T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff] ^ T2[uVar7]" (binary_expression "T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18] ^\n                    T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff]" (binary_expression "T1[uStack_98 >> 0x10 & 0xff] ^ T0[uStack_94 >> 0x18]" (subscript_expression "T1[uStack_98 >> 0x10 & 0xff]" identifier [ (binary_expression "uStack_98 >> 0x10 & 0xff" (binary_expression "uStack_98 >> 0x10" identifier >> number_literal) & number_literal) ]) ^ (subscript_expression "T0[uStack_94 >> 0x18]" identifier [ (binary_expression "uStack_94 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "T3[(&uStack_98)[(int)(iVar6 - 2U)] & 0xff]" identifier [ (binary_expression "(&uStack_98)[(int)(iVar6 - 2U)] & 0xff" (subscript_expression "(&uStack_98)[(int)(iVar6 - 2U)]" (parenthesized_expression "(&uStack_98)" ( (pointer_expression "&uStack_98" & identifier) )) [ (cast_expression "(int)(iVar6 - 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - 2U)" ( (binary_expression "iVar6 - 2U" identifier - number_literal) ))) ]) & number_literal) ])) ^ (subscript_expression "T2[uVar7]" identifier [ identifier ]))) ;) (expression_statement "auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff];" (assignment_expression "auStack_90[0] =\n             T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff]" (subscript_expression "auStack_90[0]" identifier [ number_literal ]) = (binary_expression "T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^\n             T3[uVar1 & 0xff]" (binary_expression "T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18]" (binary_expression "T1[uVar12 & 0xff] ^ T2[uStack_98 >> 8 & 0xff]" (subscript_expression "T1[uVar12 & 0xff]" identifier [ (binary_expression "uVar12 & 0xff" identifier & number_literal) ]) ^ (subscript_expression "T2[uStack_98 >> 8 & 0xff]" identifier [ (binary_expression "uStack_98 >> 8 & 0xff" (binary_expression "uStack_98 >> 8" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "T0[auStack_90[0] >> 0x18]" identifier [ (binary_expression "auStack_90[0] >> 0x18" (subscript_expression "auStack_90[0]" identifier [ number_literal ]) >> number_literal) ])) ^ (subscript_expression "T3[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ]))) ;) (expression_statement "auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]\n        ;" (assignment_expression "auStack_90[1] =\n             T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]" (subscript_expression "auStack_90[1]" identifier [ number_literal ]) = (binary_expression "T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[uStack_98 & 0xff]" (binary_expression "T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff] ^ T0[auStack_90[1] >> 0x18]" (binary_expression "T1[uVar10 & 0xff] ^ T2[uVar2 & 0xff]" (subscript_expression "T1[uVar10 & 0xff]" identifier [ (binary_expression "uVar10 & 0xff" identifier & number_literal) ]) ^ (subscript_expression "T2[uVar2 & 0xff]" identifier [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "T0[auStack_90[1] >> 0x18]" identifier [ (binary_expression "auStack_90[1] >> 0x18" (subscript_expression "auStack_90[1]" identifier [ number_literal ]) >> number_literal) ])) ^ (subscript_expression "T3[uStack_98 & 0xff]" identifier [ (binary_expression "uStack_98 & 0xff" identifier & number_literal) ]))) ;) (expression_statement "uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130;" (assignment_expression "uStack_98 = T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130" identifier = (binary_expression "T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]] ^ *puStack_130" (binary_expression "T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18] ^ T3[(byte)(&uStack_98)[iVar6 + -3]]" (binary_expression "T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^\n                    T0[uStack_98 >> 0x18]" (binary_expression "T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff] ^ T1[uVar8]" (subscript_expression "T2[(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff]" identifier [ (binary_expression "(&uStack_98)[(int)(iVar6 - 2U)] >> 8 & 0xff" (binary_expression "(&uStack_98)[(int)(iVar6 - 2U)] >> 8" (subscript_expression "(&uStack_98)[(int)(iVar6 - 2U)]" (parenthesized_expression "(&uStack_98)" ( (pointer_expression "&uStack_98" & identifier) )) [ (cast_expression "(int)(iVar6 - 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - 2U)" ( (binary_expression "iVar6 - 2U" identifier - number_literal) ))) ]) >> number_literal) & number_literal) ]) ^ (subscript_expression "T1[uVar8]" identifier [ identifier ])) ^ (subscript_expression "T0[uStack_98 >> 0x18]" identifier [ (binary_expression "uStack_98 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "T3[(byte)(&uStack_98)[iVar6 + -3]]" identifier [ (subscript_expression "(byte)(&uStack_98)[iVar6 + -3]" (call_expression "(byte)(&uStack_98)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&uStack_98)" ( (pointer_expression "&uStack_98" & identifier) ))) [ (binary_expression "iVar6 + -3" identifier + number_literal) ]) ])) ^ (pointer_expression "*puStack_130" * identifier))) ;) (if_statement "if (((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))) {\n          uStack_74 = uStack_ac;\n        }" if (parenthesized_expression "(((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10))))" ( (binary_expression "((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)) &&\n           (((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))" (parenthesized_expression "((iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5))" ( (binary_expression "(iVar6 != 4) && (auStack_90[2] = uStack_100, iVar6 != 5)" (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) && (parenthesized_expression "(auStack_90[2] = uStack_100, iVar6 != 5)" ( (comma_expression "auStack_90[2] = uStack_100, iVar6 != 5" (assignment_expression "auStack_90[2] = uStack_100" (subscript_expression "auStack_90[2]" identifier [ number_literal ]) = identifier) , (binary_expression "iVar6 != 5" identifier != number_literal)) ))) )) && (parenthesized_expression "(((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)))" ( (parenthesized_expression "((auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10))" ( (binary_expression "(auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))\n            && (auStack_90[6] = uStack_b0, iVar6 == 10)" (parenthesized_expression "(auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))))" ( (comma_expression "auStack_90[3] = uStack_fc, iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8)))" (assignment_expression "auStack_90[3] = uStack_fc" (subscript_expression "auStack_90[3]" identifier [ number_literal ]) = identifier) , (binary_expression "iVar6 != 6 &&\n             ((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8)))" (binary_expression "iVar6 != 6" identifier != number_literal) && (parenthesized_expression "((auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8)))" ( (parenthesized_expression "(auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8))" ( (comma_expression "auStack_90[4] = uStack_c0, iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8)" (assignment_expression "auStack_90[4] = uStack_c0" (subscript_expression "auStack_90[4]" identifier [ number_literal ]) = identifier) , (binary_expression "iVar6 != 7 && (auStack_90[5] = uStack_bc, iVar6 != 8)" (binary_expression "iVar6 != 7" identifier != number_literal) && (parenthesized_expression "(auStack_90[5] = uStack_bc, iVar6 != 8)" ( (comma_expression "auStack_90[5] = uStack_bc, iVar6 != 8" (assignment_expression "auStack_90[5] = uStack_bc" (subscript_expression "auStack_90[5]" identifier [ number_literal ]) = identifier) , (binary_expression "iVar6 != 8" identifier != number_literal)) )))) )) )))) )) && (parenthesized_expression "(auStack_90[6] = uStack_b0, iVar6 == 10)" ( (comma_expression "auStack_90[6] = uStack_b0, iVar6 == 10" (assignment_expression "auStack_90[6] = uStack_b0" (subscript_expression "auStack_90[6]" identifier [ number_literal ]) = identifier) , (binary_expression "iVar6 == 10" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n          uStack_74 = uStack_ac;\n        }" { (expression_statement "uStack_74 = uStack_ac;" (assignment_expression "uStack_74 = uStack_ac" identifier = identifier) ;) })) (expression_statement "puStack_130 = puStack_130 + 1;" (assignment_expression "puStack_130 = puStack_130 + 1" identifier = (binary_expression "puStack_130 + 1" identifier + number_literal)) ;) (expression_statement "puStack_120 = puStack_120 + 4;" (assignment_expression "puStack_120 = puStack_120 + 4" identifier = (binary_expression "puStack_120 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(rc + (ulong)uStack_a4 + 1 != puStack_130)" ( (binary_expression "rc + (ulong)uStack_a4 + 1 != puStack_130" (binary_expression "rc + (ulong)uStack_a4 + 1" (binary_expression "rc + (ulong)uStack_a4" identifier + (cast_expression "(ulong)uStack_a4" ( (type_descriptor "ulong" type_identifier) ) identifier)) + number_literal) != identifier) )) ;) (expression_statement "uVar9 = (skey->des).ek[2];" (assignment_expression "uVar9 = (skey->des).ek[2]" identifier = (subscript_expression "(skey->des).ek[2]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "lVar4 = lStack_a0 * 0x10 + (long)skey;" (assignment_expression "lVar4 = lStack_a0 * 0x10 + (long)skey" identifier = (binary_expression "lStack_a0 * 0x10 + (long)skey" (binary_expression "lStack_a0 * 0x10" identifier * number_literal) + (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "(skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88);" (assignment_expression "(skey->des3).ek[2][0xe] = *(ulong32 *)(lVar4 + 0x88)" (subscript_expression "(skey->des3).ek[2][0xe]" (subscript_expression "(skey->des3).ek[2]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) [ number_literal ]) = (pointer_expression "*(ulong32 *)(lVar4 + 0x88)" * (cast_expression "(ulong32 *)(lVar4 + 0x88)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x88)" ( (binary_expression "lVar4 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "*(ulong32 *)(lVar4 + 0x1b8) = uVar9;" (assignment_expression "*(ulong32 *)(lVar4 + 0x1b8) = uVar9" (pointer_expression "*(ulong32 *)(lVar4 + 0x1b8)" * (cast_expression "(ulong32 *)(lVar4 + 0x1b8)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x1b8)" ( (binary_expression "lVar4 + 0x1b8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = (skey->des).ek[3];" (assignment_expression "uVar9 = (skey->des).ek[3]" identifier = (subscript_expression "(skey->des).ek[3]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "(skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc);" (assignment_expression "(skey->des3).ek[2][0xf] = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc)" (subscript_expression "(skey->des3).ek[2][0xf]" (subscript_expression "(skey->des3).ek[2]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) [ number_literal ]) = (pointer_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc)" * (cast_expression "(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (long)(int)uStack_a4 * 0x10 + 0xc)" ( (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10 + 0xc" (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)(int)uStack_a4 * 0x10" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10);" (assignment_expression "uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10)" identifier = (pointer_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10)" * (cast_expression "(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (long)(int)uStack_a4 * 0x10 + 0x10)" ( (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10 + 0x10" (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)(int)uStack_a4 * 0x10" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) + number_literal) ))))) ;) (expression_statement "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9;" (assignment_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c) = uVar9" (pointer_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c)" * (cast_expression "(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c)" ( (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10 + 0x13c" (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)(int)uStack_a4 * 0x10" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = (skey->des).ek[4];" (assignment_expression "uVar9 = (skey->des).ek[4]" identifier = (subscript_expression "(skey->des).ek[4]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "(skey->des3).ek[2][0x10] = uVar5;" (assignment_expression "(skey->des3).ek[2][0x10] = uVar5" (subscript_expression "(skey->des3).ek[2][0x10]" (subscript_expression "(skey->des3).ek[2]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14);" (assignment_expression "uVar5 = *(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14)" identifier = (pointer_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14)" * (cast_expression "(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (long)(int)uStack_a4 * 0x10 + 0x14)" ( (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10 + 0x14" (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)(int)uStack_a4 * 0x10" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) + number_literal) ))))) ;) (expression_statement "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9;" (assignment_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140) = uVar9" (pointer_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140)" * (cast_expression "(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (long)(int)uStack_a4 * 0x10 + 0x140)" ( (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10 + 0x140" (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)(int)uStack_a4 * 0x10" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar9 = (skey->des).ek[5];" (assignment_expression "uVar9 = (skey->des).ek[5]" identifier = (subscript_expression "(skey->des).ek[5]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "(skey->des3).ek[2][0x11] = uVar5;" (assignment_expression "(skey->des3).ek[2][0x11] = uVar5" (subscript_expression "(skey->des3).ek[2][0x11]" (subscript_expression "(skey->des3).ek[2]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) [ number_literal ]) = identifier) ;) (expression_statement "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9;" (assignment_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144) = uVar9" (pointer_expression "*(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144)" * (cast_expression "(ulong32 *)((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (long)(int)uStack_a4 * 0x10 + 0x144)" ( (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10 + 0x144" (binary_expression "(long)skey + (long)(int)uStack_a4 * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)(int)uStack_a4 * 0x10" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "puVar13 = (skey->des3).ek[2] + 0x12;" (assignment_expression "puVar13 = (skey->des3).ek[2] + 0x12" identifier = (binary_expression "(skey->des3).ek[2] + 0x12" (subscript_expression "(skey->des3).ek[2]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + number_literal)) ;) (do_statement "do {\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      } while (puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158));" do (compound_statement "{\n        uVar1 = *(uint *)(lVar4 + 0x78);\n        puVar14 = puVar13 + 4;\n        *puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x7c);\n        puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x80);\n        puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        uVar1 = *(uint *)(lVar4 + 0x84);\n        puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];\n        iStack_a8 = 0;\n        lVar4 = lVar4 + -0x10;\n        puVar13 = puVar14;\n      }" { (expression_statement "uVar1 = *(uint *)(lVar4 + 0x78);" (assignment_expression "uVar1 = *(uint *)(lVar4 + 0x78)" identifier = (pointer_expression "*(uint *)(lVar4 + 0x78)" * (cast_expression "(uint *)(lVar4 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x78)" ( (binary_expression "lVar4 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = puVar13 + 4;" (assignment_expression "puVar14 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) (expression_statement "*puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];" (assignment_expression "*puVar13 = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (pointer_expression "*puVar13" * identifier) = (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                   T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]]" (subscript_expression "T3[(byte)T4[uVar1 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ])) ]) ^ (subscript_expression "T0[(byte)T4[uVar1 >> 0x18]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ])) ])) ^ (subscript_expression "T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x10 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ])) ])) ^ (subscript_expression "T2[(byte)T4[uVar1 >> 8 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 8 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 8 & 0xff]" identifier [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ])) ]))) ;) (expression_statement "uVar1 = *(uint *)(lVar4 + 0x7c);" (assignment_expression "uVar1 = *(uint *)(lVar4 + 0x7c)" identifier = (pointer_expression "*(uint *)(lVar4 + 0x7c)" * (cast_expression "(uint *)(lVar4 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x7c)" ( (binary_expression "lVar4 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];" (assignment_expression "puVar13[1] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]]" (subscript_expression "T3[(byte)T4[uVar1 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ])) ]) ^ (subscript_expression "T0[(byte)T4[uVar1 >> 0x18]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ])) ])) ^ (subscript_expression "T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x10 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ])) ])) ^ (subscript_expression "T2[(byte)T4[uVar1 >> 8 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 8 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 8 & 0xff]" identifier [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ])) ]))) ;) (expression_statement "uVar1 = *(uint *)(lVar4 + 0x80);" (assignment_expression "uVar1 = *(uint *)(lVar4 + 0x80)" identifier = (pointer_expression "*(uint *)(lVar4 + 0x80)" * (cast_expression "(uint *)(lVar4 + 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x80)" ( (binary_expression "lVar4 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];" (assignment_expression "puVar13[2] = T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" (binary_expression "T3[(byte)T4[uVar1 & 0xff]] ^ T0[(byte)T4[uVar1 >> 0x18]]" (subscript_expression "T3[(byte)T4[uVar1 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ])) ]) ^ (subscript_expression "T0[(byte)T4[uVar1 >> 0x18]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ])) ])) ^ (subscript_expression "T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x10 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ])) ])) ^ (subscript_expression "T2[(byte)T4[uVar1 >> 8 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 8 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 8 & 0xff]" identifier [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ])) ]))) ;) (expression_statement "uVar1 = *(uint *)(lVar4 + 0x84);" (assignment_expression "uVar1 = *(uint *)(lVar4 + 0x84)" identifier = (pointer_expression "*(uint *)(lVar4 + 0x84)" * (cast_expression "(uint *)(lVar4 + 0x84)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x84)" ( (binary_expression "lVar4 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]];" (assignment_expression "puVar13[3] = T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = (binary_expression "T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]] ^ T2[(byte)T4[uVar1 >> 8 & 0xff]]" (binary_expression "T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]] ^\n                     T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" (binary_expression "T0[(byte)T4[uVar1 >> 0x18]] ^ T3[(byte)T4[uVar1 & 0xff]]" (subscript_expression "T0[(byte)T4[uVar1 >> 0x18]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x18]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ])) ]) ^ (subscript_expression "T3[(byte)T4[uVar1 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ])) ])) ^ (subscript_expression "T1[(byte)T4[uVar1 >> 0x10 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 0x10 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ])) ])) ^ (subscript_expression "T2[(byte)T4[uVar1 >> 8 & 0xff]]" identifier [ (cast_expression "(byte)T4[uVar1 >> 8 & 0xff]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "T4[uVar1 >> 8 & 0xff]" identifier [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ])) ]))) ;) (expression_statement "iStack_a8 = 0;" (assignment_expression "iStack_a8 = 0" identifier = number_literal) ;) (expression_statement "lVar4 = lVar4 + -0x10;" (assignment_expression "lVar4 = lVar4 + -0x10" identifier = (binary_expression "lVar4 + -0x10" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar14;" (assignment_expression "puVar13 = puVar14" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158))" ( (binary_expression "puVar14 != (ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158)" identifier != (cast_expression "(ulong32 *)((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158)" ( (type_descriptor "ulong32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158)" ( (binary_expression "(long)skey + (ulong)(iVar6 + 6) * 0x10 + 0x158" (binary_expression "(long)skey + (ulong)(iVar6 + 6) * 0x10" (cast_expression "(long)skey" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(iVar6 + 6) * 0x10" (call_expression "(ulong)(iVar6 + 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar6 + 6)" ( (binary_expression "iVar6 + 6" identifier + number_literal) ))) * number_literal)) + number_literal) )))) )) ;) }) (else_clause "else {\n      iStack_a8 = 4;\n    }" else (compound_statement "{\n      iStack_a8 = 4;\n    }" { (expression_statement "iStack_a8 = 4;" (assignment_expression "iStack_a8 = 4" identifier = number_literal) ;) }))) }) (else_clause "else {\n    iStack_a8 = 3;\n  }" else (compound_statement "{\n    iStack_a8 = 3;\n  }" { (expression_statement "iStack_a8 = 3;" (assignment_expression "iStack_a8 = 3" identifier = number_literal) ;) }))) (if_statement "if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lStack_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lStack_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return iStack_a8;" return identifier ;) })))
(translation_unit "uint anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}\n\n" (function_definition "uint anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}" type_identifier (function_declarator "anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)" identifier (parameter_list "(byte *param_1,uint param_2,uint param_3,int *param_4)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "uint uStack_128;" type_identifier identifier ;) (declaration "uint *puStack_120;" type_identifier (pointer_declarator "*puStack_120" * identifier) ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "uint uStack_fc;" type_identifier identifier ;) (declaration "uint uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b0;" type_identifier identifier ;) (declaration "uint uStack_ac;" type_identifier identifier ;) (declaration "uint uStack_a8;" type_identifier identifier ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "long lStack_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "uint auStack_98 [4];" type_identifier (array_declarator "auStack_98 [4]" identifier [ number_literal ]) ;) (declaration "uint uStack_88;" type_identifier identifier ;) (declaration "uint uStack_84;" type_identifier identifier ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "uint uStack_7c;" type_identifier identifier ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "undefined4 uStack_74;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [16];" type_identifier (array_declarator "auStack_68 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_58 [16];" type_identifier (array_declarator "auStack_58 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_48;" type_identifier identifier ;) (declaration "long lStack_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lStack_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lStack_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "auStack_68 = (undefined1  [16])0x0;" (assignment_expression "auStack_68 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "auStack_58 = (undefined1  [16])0x0;" (assignment_expression "auStack_58 = (undefined1  [16])0x0" identifier = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uStack_48 = 0;" (assignment_expression "uStack_48 = 0" identifier = number_literal) ;) (if_statement "if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" if (parenthesized_expression "(param_1 == (byte *)0x0)" ( (binary_expression "param_1 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" { (expression_statement "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);" (call_expression "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387)" identifier (argument_list "("key != NULL","src/ciphers/anubis.c",0x387)" ( (string_literal ""key != NULL"" " string_content ") , (string_literal ""src/ciphers/anubis.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" { (expression_statement "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);" (call_expression "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388)" identifier (argument_list "("skey != NULL","src/ciphers/anubis.c",0x388)" ( (string_literal ""skey != NULL"" " string_content ") , (string_literal ""src/ciphers/anubis.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uStack_a8 = param_2 & 3;" (assignment_expression "uStack_a8 = param_2 & 3" identifier = (binary_expression "param_2 & 3" identifier & number_literal)) ;) (if_statement "if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }" if (parenthesized_expression "(((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19))" ( (binary_expression "((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)" (parenthesized_expression "((param_2 & 3) == 0)" ( (binary_expression "(param_2 & 3) == 0" (parenthesized_expression "(param_2 & 3)" ( (binary_expression "param_2 & 3" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(param_2 - 0x10 < 0x19)" ( (binary_expression "param_2 - 0x10 < 0x19" (binary_expression "param_2 - 0x10" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }" { (expression_statement "*param_4 = param_2 << 3;" (assignment_expression "*param_4 = param_2 << 3" (pointer_expression "*param_4" * identifier) = (binary_expression "param_2 << 3" identifier << number_literal)) ;) (expression_statement "iVar7 = (int)(param_2 << 3) >> 5;" (assignment_expression "iVar7 = (int)(param_2 << 3) >> 5" identifier = (binary_expression "(int)(param_2 << 3) >> 5" (cast_expression "(int)(param_2 << 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_2 << 3)" ( (binary_expression "param_2 << 3" identifier << number_literal) ))) >> number_literal)) ;) (expression_statement "uStack_a4 = iVar7 + 8;" (assignment_expression "uStack_a4 = iVar7 + 8" identifier = (binary_expression "iVar7 + 8" identifier + number_literal)) ;) (expression_statement "param_4[1] = uStack_a4;" (assignment_expression "param_4[1] = uStack_a4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }" if (parenthesized_expression "((param_3 == 0) || (uStack_a4 == param_3))" ( (binary_expression "(param_3 == 0) || (uStack_a4 == param_3)" (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) || (parenthesized_expression "(uStack_a4 == param_3)" ( (binary_expression "uStack_a4 == param_3" identifier == identifier) ))) )) (compound_statement "{\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }" { (expression_statement "auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;" (assignment_expression "auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) = (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) ^ (cast_expression "(uint)param_1[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;" (assignment_expression "auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) = (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;" (assignment_expression "auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) = (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8" (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10" (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb]" (binary_expression "(uint)param_1[8] << 0x18" (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xb]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[9] << 0x10" (cast_expression "(uint)param_1[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[9]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[10] << 8" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) << number_literal))) ;) (expression_statement "auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;" (assignment_expression "auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) = (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8" (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10" (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf]" (binary_expression "(uint)param_1[0xc] << 0x18" (cast_expression "(uint)param_1[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xc]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0xf]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xf]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0xd] << 0x10" (cast_expression "(uint)param_1[0xd]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0xe] << 8" (cast_expression "(uint)param_1[0xe]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0xe]" identifier [ number_literal ])) << number_literal))) ;) (if_statement "if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }" if (parenthesized_expression "((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))))))" ( (binary_expression "(iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))" (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) && (parenthesized_expression "((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))" ( (parenthesized_expression "(((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))))" ( (binary_expression "((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))" (parenthesized_expression "((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7))" ( (binary_expression "(uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)" (parenthesized_expression "(uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6))" ( (comma_expression "uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (assignment_expression "uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8" identifier = (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8" (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10" (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13]" (binary_expression "(uint)param_1[0x10] << 0x18" (cast_expression "(uint)param_1[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x10]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x13]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x13]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x11] << 0x10" (cast_expression "(uint)param_1[0x11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x11]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x12] << 8" (cast_expression "(uint)param_1[0x12]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x12]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (binary_expression "iVar7 != 5" identifier != number_literal) && (parenthesized_expression "(uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" ( (comma_expression "uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6" (assignment_expression "uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8" identifier = (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8" (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10" (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17]" (binary_expression "(uint)param_1[0x14] << 0x18" (cast_expression "(uint)param_1[0x14]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x14]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x17]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x17]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x15] << 0x10" (cast_expression "(uint)param_1[0x15]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x15]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x16] << 8" (cast_expression "(uint)param_1[0x16]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x16]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 6" identifier != number_literal)) )))) )) && (parenthesized_expression "(uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)" ( (comma_expression "uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7" (assignment_expression "uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8" identifier = (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8" (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10" (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b]" (binary_expression "(uint)param_1[0x18] << 0x18" (cast_expression "(uint)param_1[0x18]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x18]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x1b]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1b]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x19] << 0x10" (cast_expression "(uint)param_1[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x19]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x1a] << 8" (cast_expression "(uint)param_1[0x1a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1a]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 7" identifier != number_literal)) ))) )) && (parenthesized_expression "((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))" ( (parenthesized_expression "(uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))" ( (comma_expression "uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (assignment_expression "uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8" identifier = (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8" (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10" (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f]" (binary_expression "(uint)param_1[0x1c] << 0x18" (cast_expression "(uint)param_1[0x1c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1c]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x1f]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1f]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x1d] << 0x10" (cast_expression "(uint)param_1[0x1d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x1e] << 8" (cast_expression "(uint)param_1[0x1e]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1e]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (binary_expression "iVar7 != 8" identifier != number_literal) && (parenthesized_expression "(uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" ( (comma_expression "uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10" (assignment_expression "uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8" identifier = (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8" (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10" (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23]" (binary_expression "(uint)param_1[0x20] << 0x18" (cast_expression "(uint)param_1[0x20]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x20]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x23]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x23]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x21] << 0x10" (cast_expression "(uint)param_1[0x21]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x21]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x22] << 8" (cast_expression "(uint)param_1[0x22]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x22]" identifier [ number_literal ])) << number_literal))) , (binary_expression "iVar7 == 10" identifier == number_literal)) )))) )) ))) )) ))) )) (compound_statement "{\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }" { (expression_statement "uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;" (assignment_expression "uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8" identifier = (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8" (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10" (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27]" (binary_expression "(uint)param_1[0x24] << 0x18" (cast_expression "(uint)param_1[0x24]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x24]" identifier [ number_literal ])) << number_literal) ^ (cast_expression "(uint)param_1[0x27]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ]))) ^ (binary_expression "(uint)param_1[0x25] << 0x10" (cast_expression "(uint)param_1[0x25]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x25]" identifier [ number_literal ])) << number_literal)) ^ (binary_expression "(uint)param_1[0x26] << 8" (cast_expression "(uint)param_1[0x26]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])) << number_literal))) ;) })) (expression_statement "puStack_130 = &DAT_00193a80;" (assignment_expression "puStack_130 = &DAT_00193a80" identifier = (pointer_expression "&DAT_00193a80" & identifier)) ;) (expression_statement "lStack_a0 = (long)iVar7;" (assignment_expression "lStack_a0 = (long)iVar7" identifier = (cast_expression "(long)iVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "puStack_120 = (uint *)(param_4 + 2);" (assignment_expression "puStack_120 = (uint *)(param_4 + 2)" identifier = (cast_expression "(uint *)(param_4 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 2)" ( (binary_expression "param_4 + 2" identifier + number_literal) )))) ;) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" identifier = number_literal) ;) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" identifier = number_literal) ;) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" identifier = number_literal) ;) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);" do (compound_statement "{\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      }" { (expression_statement "uVar1 = auStack_98[iVar7 + -1];" (assignment_expression "uVar1 = auStack_98[iVar7 + -1]" identifier = (subscript_expression "auStack_98[iVar7 + -1]" identifier [ (binary_expression "iVar7 + -1" identifier + number_literal) ])) ;) (expression_statement "uVar8 = (ulong)(uVar1 >> 8 & 0xff);" (assignment_expression "uVar8 = (ulong)(uVar1 >> 8 & 0xff)" identifier = (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) )))) ;) (expression_statement "uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);" (assignment_expression "uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + uVar8 * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + uVar8 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + uVar8 * 4)" ( (binary_expression "&DAT_00193ee0 + uVar8 * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "uVar8 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);" (assignment_expression "uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);" (assignment_expression "uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);" (assignment_expression "uVar10 = (ulong)(uVar1 >> 0x10 & 0xff)" identifier = (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) )))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);" (assignment_expression "uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4)" identifier = (pointer_expression "*(uint *)(&DAT_00193ee0 + uVar10 * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + uVar10 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + uVar10 * 4)" ( (binary_expression "&DAT_00193ee0 + uVar10 * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "uVar10 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);" (assignment_expression "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4)" identifier = (cast_expression "(uint *)((long)&lStack_a0 + lStack_a0 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&lStack_a0 + lStack_a0 * 4)" ( (binary_expression "(long)&lStack_a0 + lStack_a0 * 4" (cast_expression "(long)&lStack_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&lStack_a0" & identifier)) + (binary_expression "lStack_a0 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);" do (compound_statement "{\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        }" { (expression_statement "uVar2 = *puVar11;" (assignment_expression "uVar2 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;" (assignment_expression "uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" identifier = (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4])" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uStack_128 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_128 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 >> 0x10 & 0xff)" ( (binary_expression "uStack_128 >> 0x10 & 0xff" (binary_expression "uStack_128 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal) ^ (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4])" ( (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uStack_128 >> 0x18) * 4" (call_expression "(ulong)(uStack_128 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 >> 0x18)" ( (binary_expression "uStack_128 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal) | (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uStack_128 & 0xff) * 4" (call_expression "(ulong)(uStack_128 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 & 0xff)" ( (binary_expression "uStack_128 & 0xff" identifier & number_literal) ))) * number_literal) ])) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uStack_128 >> 8 & 0xff) * 4" (call_expression "(ulong)(uStack_128 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_128 >> 8 & 0xff)" ( (binary_expression "uStack_128 >> 8 & 0xff" (binary_expression "uStack_128 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal))) ;) (expression_statement "uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);" (assignment_expression "uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" identifier = (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000)" (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000)" ( (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal) ]) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal)) )) ^ (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000)" ( (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar4 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal)) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x10 & 0xff)" ( (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);" (assignment_expression "uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" identifier = (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000)" (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000)" ( (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) ))) * number_literal) ]) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal)) )) ^ (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000)" ( (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(byte)(uVar9 >> 8) * 4" (call_expression "(ulong)(byte)(uVar9 >> 8)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) ))) * number_literal)) )))) & number_literal) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x10 & 0xff)" ( (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal)) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 8 & 0xff)" ( (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "puVar11 = puVar11 + -1;" (assignment_expression "puVar11 = puVar11 + -1" identifier = (binary_expression "puVar11 + -1" identifier + number_literal)) ;) (expression_statement "uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;" (assignment_expression "uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" identifier = (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal) ^ (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000)" ( (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ae0)" ( (pointer_expression "&DAT_00193ae0" & identifier) ))) [ (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) ))) * number_literal) ]) | (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x18) * 4" (call_expression "(ulong)(uVar6 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) & number_literal)) ))) ^ (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" ( (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" & identifier) + (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" & identifier) + (binary_expression "(ulong)(uVar6 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) & number_literal))) ;) }) while (parenthesized_expression "(&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11)" ( (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11" (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U))" (pointer_expression "&uStack_a4" & identifier) + (parenthesized_expression "(lStack_a0 - (ulong)(iVar7 - 2U))" ( (binary_expression "lStack_a0 - (ulong)(iVar7 - 2U)" identifier - (call_expression "(ulong)(iVar7 - 2U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 - 2U)" ( (binary_expression "iVar7 - 2U" identifier - number_literal) )))) ))) != identifier) )) ;) (expression_statement "puStack_120[1] = uVar4;" (assignment_expression "puStack_120[1] = uVar4" (subscript_expression "puStack_120[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puStack_120 = uStack_128;" (assignment_expression "*puStack_120 = uStack_128" (pointer_expression "*puStack_120" * identifier) = identifier) ;) (expression_statement "puStack_120[2] = uVar9;" (assignment_expression "puStack_120[2] = uVar9" (subscript_expression "puStack_120[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_120[3] = uVar6;" (assignment_expression "puStack_120[3] = uVar6" (subscript_expression "puStack_120[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (&DAT_00193a80 + uStack_a4 == puStack_130) break;" if (parenthesized_expression "(&DAT_00193a80 + uStack_a4 == puStack_130)" ( (binary_expression "&DAT_00193a80 + uStack_a4 == puStack_130" (binary_expression "&DAT_00193a80 + uStack_a4" (pointer_expression "&DAT_00193a80" & identifier) + identifier) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = auStack_98[1] >> 0x10;" (assignment_expression "uVar4 = auStack_98[1] >> 0x10" identifier = (binary_expression "auStack_98[1] >> 0x10" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "uVar9 = auStack_98[1] >> 8;" (assignment_expression "uVar9 = auStack_98[1] >> 8" identifier = (binary_expression "auStack_98[1] >> 8" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "uVar6 = auStack_98[2] >> 0x10;" (assignment_expression "uVar6 = auStack_98[2] >> 0x10" identifier = (binary_expression "auStack_98[2] >> 0x10" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) >> number_literal)) ;) (if_statement "if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }" if (parenthesized_expression "(((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           )" ( (binary_expression "((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)" (parenthesized_expression "((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))" ( (binary_expression "(iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5)" (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) && (parenthesized_expression "(uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5)" ( (comma_expression "uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5" (assignment_expression "uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(auStack_98[3] >> 0x10 & 0xff) * 4" (call_expression "(ulong)(auStack_98[3] >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[3] >> 0x10 & 0xff)" ( (binary_expression "auStack_98[3] >> 0x10 & 0xff" (binary_expression "auStack_98[3] >> 0x10" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[auStack_98[2] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[2] >> 8 & 0xff" (binary_expression "auStack_98[2] >> 8" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_88 >> 0x18) * 4" (call_expression "(ulong)(uStack_88 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_88 >> 0x18)" ( (binary_expression "uStack_88 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[1] & 0xff) * 4" (call_expression "(ulong)(auStack_98[1] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[1] & 0xff)" ( (binary_expression "auStack_98[1] & 0xff" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) & number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 != 5" identifier != number_literal)) ))) )) && (parenthesized_expression "(uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)" ( (comma_expression "uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6" (assignment_expression "uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_88 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_88 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_88 >> 0x10 & 0xff)" ( (binary_expression "uStack_88 >> 0x10 & 0xff" (binary_expression "uStack_88 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[auStack_98[3] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[3] >> 8 & 0xff" (binary_expression "auStack_98[3] >> 8" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_84 >> 0x18) * 4" (call_expression "(ulong)(uStack_84 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_84 >> 0x18)" ( (binary_expression "uStack_84 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[2] & 0xff) * 4" (call_expression "(ulong)(auStack_98[2] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[2] & 0xff)" ( (binary_expression "auStack_98[2] & 0xff" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) & number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 != 6" identifier != number_literal)) ))) )) (compound_statement "{\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }" { (expression_statement "uStack_128._0_1_ = (byte)auStack_98[3];" (assignment_expression "uStack_128._0_1_ = (byte)auStack_98[3]" (field_expression "uStack_128._0_1_" identifier . field_identifier) = (cast_expression "(byte)auStack_98[3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "auStack_98[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);" (assignment_expression "uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_84 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_84 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_84 >> 0x10 & 0xff)" ( (binary_expression "uStack_84 >> 0x10 & 0xff" (binary_expression "uStack_84 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_88 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_88 >> 8 & 0xff" (binary_expression "uStack_88 >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_80 >> 0x18) * 4" (call_expression "(ulong)(uStack_80 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_80 >> 0x18)" ( (binary_expression "uStack_80 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(byte)uStack_128 * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)uStack_128 * 4" (cast_expression "(ulong)(byte)uStack_128" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)uStack_128" ( (type_descriptor "byte" type_identifier) ) identifier)) * number_literal)) )))))) ;) (if_statement "if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }" if (parenthesized_expression "(((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             )" ( (binary_expression "((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)" (parenthesized_expression "((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))" ( (binary_expression "(iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8)" (parenthesized_expression "(iVar7 != 7)" ( (binary_expression "iVar7 != 7" identifier != number_literal) )) && (parenthesized_expression "(uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8)" ( (comma_expression "uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8" (assignment_expression "uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" identifier = (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uStack_88 & 0xff) * 4" (call_expression "(ulong)(uStack_88 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_88 & 0xff)" ( (binary_expression "uStack_88 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_84 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_84 >> 8 & 0xff" (binary_expression "uStack_84 >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_80 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_80 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_80 >> 0x10 & 0xff)" ( (binary_expression "uStack_80 >> 0x10 & 0xff" (binary_expression "uStack_80 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_7c >> 0x18) * 4" (call_expression "(ulong)(uStack_7c >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_7c >> 0x18)" ( (binary_expression "uStack_7c >> 0x18" identifier >> number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 != 8" identifier != number_literal)) ))) )) && (parenthesized_expression "(uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)" ( (comma_expression "uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10" (assignment_expression "uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" identifier = (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uStack_84 & 0xff) * 4" (call_expression "(ulong)(uStack_84 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_84 & 0xff)" ( (binary_expression "uStack_84 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_80 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_80 >> 8 & 0xff" (binary_expression "uStack_80 >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_7c >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_7c >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_7c >> 0x10 & 0xff)" ( (binary_expression "uStack_7c >> 0x10 & 0xff" (binary_expression "uStack_7c >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(uStack_78 >> 0x18) * 4" (call_expression "(ulong)(uStack_78 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_78 >> 0x18)" ( (binary_expression "uStack_78 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))))) , (binary_expression "iVar7 == 10" identifier == number_literal)) ))) )) (compound_statement "{\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }" { (expression_statement "uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);" (assignment_expression "uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" identifier = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uStack_78 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_78 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_78 >> 0x10 & 0xff)" ( (binary_expression "uStack_78 >> 0x10 & 0xff" (binary_expression "uStack_78 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uStack_7c >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uStack_7c >> 8 & 0xff" (binary_expression "uStack_7c >> 8" identifier >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)uStack_74._3_1_ * 4" (cast_expression "(ulong)uStack_74._3_1_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "uStack_74._3_1_" identifier . field_identifier)) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uStack_80 & 0xff) * 4" (call_expression "(ulong)(uStack_80 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uStack_80 & 0xff)" ( (binary_expression "uStack_80 & 0xff" identifier & number_literal) ))) * number_literal)) )))))) ;) })) })) (expression_statement "auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];" (assignment_expression "auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8]" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8]" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(auStack_98[0] >> 0x10 & 0xff) * 4" (call_expression "(ulong)(auStack_98[0] >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[0] >> 0x10 & 0xff)" ( (binary_expression "auStack_98[0] >> 0x10 & 0xff" (binary_expression "auStack_98[0] >> 0x10" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) >> number_literal) & number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[1] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[1] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[1] >> 0x18)" ( (binary_expression "auStack_98[1] >> 0x18" (subscript_expression "auStack_98[1]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4" (call_expression "(ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[(int)(iVar7 - 2U)] & 0xff)" ( (binary_expression "auStack_98[(int)(iVar7 - 2U)] & 0xff" (subscript_expression "auStack_98[(int)(iVar7 - 2U)]" identifier [ (cast_expression "(int)(iVar7 - 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - 2U)" ( (binary_expression "iVar7 - 2U" identifier - number_literal) ))) ]) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[uVar8]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ identifier ]))) ;) (expression_statement "auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);" (assignment_expression "auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[auStack_98[0] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[0] >> 8 & 0xff" (binary_expression "auStack_98[0] >> 8" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) >> number_literal) & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[2] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[2] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[2] >> 0x18)" ( (binary_expression "auStack_98[2] >> 0x18" (subscript_expression "auStack_98[2]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);" (assignment_expression "auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" ( (binary_expression "&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (subscript_expression "(&DAT_001946e0)[uVar9 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "uVar9 & 0xff" identifier & number_literal) ])) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[3] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[3] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[3] >> 0x18)" ( (binary_expression "auStack_98[3] >> 0x18" (subscript_expression "auStack_98[3]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(auStack_98[0] & 0xff) * 4" (call_expression "(ulong)(auStack_98[0] & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[0] & 0xff)" ( (binary_expression "auStack_98[0] & 0xff" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) & number_literal) ))) * number_literal)) )))))) ;) (expression_statement "auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;" (assignment_expression "auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) = (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4)" (subscript_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (binary_expression "auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff" (binary_expression "auStack_98[(int)(iVar7 - 2U)] >> 8" (subscript_expression "auStack_98[(int)(iVar7 - 2U)]" identifier [ (cast_expression "(int)(iVar7 - 2U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - 2U)" ( (binary_expression "iVar7 - 2U" identifier - number_literal) ))) ]) >> number_literal) & number_literal) ]) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 + uVar10 * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 + uVar10 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 + uVar10 * 4)" ( (binary_expression "&DAT_00194ae0 + uVar10 * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "uVar10 * 4" identifier * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" ( (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(auStack_98[0] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[0] >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(auStack_98[0] >> 0x18)" ( (binary_expression "auStack_98[0] >> 0x18" (subscript_expression "auStack_98[0]" identifier [ number_literal ]) >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" ( (binary_expression "&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)auStack_98[iVar7 + -3] * 4" (cast_expression "(ulong)(byte)auStack_98[iVar7 + -3]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(byte)auStack_98[iVar7 + -3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "auStack_98[iVar7 + -3]" identifier [ (binary_expression "iVar7 + -3" identifier + number_literal) ]))) * number_literal)) ))))) ^ (pointer_expression "*puStack_130" * identifier))) ;) (if_statement "if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }" if (parenthesized_expression "(((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10))))" ( (binary_expression "((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))" (parenthesized_expression "((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5))" ( (binary_expression "(iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)" (parenthesized_expression "(iVar7 != 4)" ( (binary_expression "iVar7 != 4" identifier != number_literal) )) && (parenthesized_expression "(uStack_88 = uStack_100, iVar7 != 5)" ( (comma_expression "uStack_88 = uStack_100, iVar7 != 5" (assignment_expression "uStack_88 = uStack_100" identifier = identifier) , (binary_expression "iVar7 != 5" identifier != number_literal)) ))) )) && (parenthesized_expression "(((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))" ( (parenthesized_expression "((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10))" ( (binary_expression "(uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)" (parenthesized_expression "(uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8))))" ( (comma_expression "uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (assignment_expression "uStack_84 = uStack_fc" identifier = identifier) , (binary_expression "iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (binary_expression "iVar7 != 6" identifier != number_literal) && (parenthesized_expression "((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" ( (parenthesized_expression "(uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8))" ( (comma_expression "uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)" (assignment_expression "uStack_80 = uStack_c0" identifier = identifier) , (binary_expression "iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)" (binary_expression "iVar7 != 7" identifier != number_literal) && (parenthesized_expression "(uStack_7c = uStack_bc, iVar7 != 8)" ( (comma_expression "uStack_7c = uStack_bc, iVar7 != 8" (assignment_expression "uStack_7c = uStack_bc" identifier = identifier) , (binary_expression "iVar7 != 8" identifier != number_literal)) )))) )) )))) )) && (parenthesized_expression "(uStack_78 = uStack_b0, iVar7 == 10)" ( (comma_expression "uStack_78 = uStack_b0, iVar7 == 10" (assignment_expression "uStack_78 = uStack_b0" identifier = identifier) , (binary_expression "iVar7 == 10" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n          uStack_74 = uStack_ac;\n        }" { (expression_statement "uStack_74 = uStack_ac;" (assignment_expression "uStack_74 = uStack_ac" identifier = identifier) ;) })) (expression_statement "puStack_130 = puStack_130 + 1;" (assignment_expression "puStack_130 = puStack_130 + 1" identifier = (binary_expression "puStack_130 + 1" identifier + number_literal)) ;) (expression_statement "puStack_120 = puStack_120 + 4;" (assignment_expression "puStack_120 = puStack_120 + 4" identifier = (binary_expression "puStack_120 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130)" ( (binary_expression "(uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130" (cast_expression "(uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00193a84 + (ulong)uStack_a4 * 4)" ( (binary_expression "&DAT_00193a84 + (ulong)uStack_a4 * 4" (pointer_expression "&DAT_00193a84" & identifier) + (binary_expression "(ulong)uStack_a4 * 4" (cast_expression "(ulong)uStack_a4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))) != identifier) )) ;) (expression_statement "piVar5 = param_4 + lStack_a0 * 4;" (assignment_expression "piVar5 = param_4 + lStack_a0 * 4" identifier = (binary_expression "param_4 + lStack_a0 * 4" identifier + (binary_expression "lStack_a0 * 4" identifier * number_literal))) ;) (expression_statement "param_4[0x4e] = piVar5[0x22];" (assignment_expression "param_4[0x4e] = piVar5[0x22]" (subscript_expression "param_4[0x4e]" identifier [ number_literal ]) = (subscript_expression "piVar5[0x22]" identifier [ number_literal ])) ;) (expression_statement "piVar5[0x6e] = param_4[2];" (assignment_expression "piVar5[0x6e] = param_4[2]" (subscript_expression "piVar5[0x6e]" identifier [ number_literal ]) = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];" (assignment_expression "param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3]" (subscript_expression "param_4[0x4f]" identifier [ number_literal ]) = (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 3]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 3" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ])) ;) (expression_statement "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];" (assignment_expression "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4]" identifier = (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 4]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 4" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ])) ;) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x4f]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 0x4f" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ]) = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "param_4[0x50] = iVar3;" (assignment_expression "param_4[0x50] = iVar3" (subscript_expression "param_4[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];" (assignment_expression "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5]" identifier = (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 5]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 5" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ])) ;) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x50]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 0x50" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ]) = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "param_4[0x51] = iVar3;" (assignment_expression "param_4[0x51] = iVar3" (subscript_expression "param_4[0x51]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x51]" identifier [ (binary_expression "(long)(int)uStack_a4 * 4 + 0x51" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uStack_a4" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal) + number_literal) ]) = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "puVar11 = (uint *)(param_4 + 0x52);" (assignment_expression "puVar11 = (uint *)(param_4 + 0x52)" identifier = (cast_expression "(uint *)(param_4 + 0x52)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x52)" ( (binary_expression "param_4 + 0x52" identifier + number_literal) )))) ;) (do_statement "do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));" do (compound_statement "{\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      }" { (expression_statement "uVar1 = piVar5[0x1e];" (assignment_expression "uVar1 = piVar5[0x1e]" identifier = (subscript_expression "piVar5[0x1e]" identifier [ number_literal ])) ;) (expression_statement "puVar12 = puVar11 + 4;" (assignment_expression "puVar12 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "*puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "*puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (pointer_expression "*puVar11" * identifier) = (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "uVar1 = piVar5[0x1f];" (assignment_expression "uVar1 = piVar5[0x1f]" identifier = (subscript_expression "piVar5[0x1f]" identifier [ number_literal ])) ;) (expression_statement "puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "uVar1 = piVar5[0x20];" (assignment_expression "uVar1 = piVar5[0x20]" identifier = (subscript_expression "piVar5[0x20]" identifier [ number_literal ])) ;) (expression_statement "puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "uVar1 = piVar5[0x21];" (assignment_expression "uVar1 = piVar5[0x21]" identifier = (subscript_expression "piVar5[0x21]" identifier [ number_literal ])) ;) (expression_statement "puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" ( (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal) ]) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" * (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" ( (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" & identifier) + (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal) ]) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" ( (pointer_expression "&DAT_001946e0" & identifier) )) [ (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(&DAT_00193ee0)" ( (pointer_expression "&DAT_00193ee0" & identifier) ))) [ (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 8 & 0xff)" ( (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ))) * number_literal) ]) ]))) ;) (expression_statement "piVar5 = piVar5 + -4;" (assignment_expression "piVar5 = piVar5 + -4" identifier = (binary_expression "piVar5 + -4" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar12;" (assignment_expression "puVar11 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "(puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56))" ( (binary_expression "puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" identifier != (cast_expression "(uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" ( (binary_expression "param_4 + (ulong)(iVar7 + 6) * 4 + 0x56" (binary_expression "param_4 + (ulong)(iVar7 + 6) * 4" identifier + (binary_expression "(ulong)(iVar7 + 6) * 4" (call_expression "(ulong)(iVar7 + 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 + 6)" ( (binary_expression "iVar7 + 6" identifier + number_literal) ))) * number_literal)) + number_literal) )))) )) ;) }) (else_clause "else {\n      uStack_a8 = 4;\n    }" else (compound_statement "{\n      uStack_a8 = 4;\n    }" { (expression_statement "uStack_a8 = 4;" (assignment_expression "uStack_a8 = 4" identifier = number_literal) ;) }))) }) (else_clause "else {\n    uStack_a8 = 3;\n  }" else (compound_statement "{\n    uStack_a8 = 3;\n  }" { (expression_statement "uStack_a8 = 3;" (assignment_expression "uStack_a8 = 3" identifier = number_literal) ;) }))) (if_statement "if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lStack_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lStack_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return uStack_a8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) , (binary_expression IDENT != LIT)) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) , (binary_expression IDENT == LIT)) )))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) ^ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) ^ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_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 (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT) ^ (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) & LIT) | (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ])) ))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) & LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT)) ))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) & LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) & LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT)) ))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT) ^ (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) & LIT)) ))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) & LIT))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) ))) != IDENT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + IDENT) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) ))) * LIT)) )))))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) ))) * LIT)) )))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))) ]) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT & LIT) ])) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) ))) * LIT)) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))) ]) >> LIT) & LIT) ]) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) * LIT)) ))))) ^ (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) )))) )) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT) + LIT) ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT) + LIT) ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT) + LIT) ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT) ]) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT) ]) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT) ]) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT) ]) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT) ]) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (subscript_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression & IDENT) ))) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT) ]) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) * LIT)) + LIT) )))) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "uint anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}" (type_identifier "uint") (function_declarator "anubis_setup(byte *param_1,uint param_2,uint param_3,int *param_4)" (identifier "anubis_setup") (parameter_list "(byte *param_1,uint param_2,uint param_3,int *param_4)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  ulong uVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint *puVar11;\n  uint *puVar12;\n  long in_FS_OFFSET;\n  uint *puStack_130;\n  uint uStack_128;\n  uint *puStack_120;\n  uint uStack_100;\n  uint uStack_fc;\n  uint uStack_c0;\n  uint uStack_bc;\n  uint uStack_b0;\n  uint uStack_ac;\n  uint uStack_a8;\n  uint uStack_a4;\n  long lStack_a0;\n  uint auStack_98 [4];\n  uint uStack_88;\n  uint uStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  uint uStack_78;\n  undefined4 uStack_74;\n  undefined1 auStack_68 [16];\n  undefined1 auStack_58 [16];\n  undefined8 uStack_48;\n  long lStack_40;\n  \n  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);\n  auStack_68 = (undefined1  [16])0x0;\n  auStack_58 = (undefined1  [16])0x0;\n  uStack_48 = 0;\n  if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }\n  if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }\n  uStack_a8 = param_2 & 3;\n  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }\n  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return uStack_a8;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "ulong uVar8;" (type_identifier "ulong") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "uint *puVar11;" (type_identifier "uint") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "uint *puStack_130;" (type_identifier "uint") (pointer_declarator "*puStack_130" (* "*") (identifier "puStack_130")) (; ";")) (declaration "uint uStack_128;" (type_identifier "uint") (identifier "uStack_128") (; ";")) (declaration "uint *puStack_120;" (type_identifier "uint") (pointer_declarator "*puStack_120" (* "*") (identifier "puStack_120")) (; ";")) (declaration "uint uStack_100;" (type_identifier "uint") (identifier "uStack_100") (; ";")) (declaration "uint uStack_fc;" (type_identifier "uint") (identifier "uStack_fc") (; ";")) (declaration "uint uStack_c0;" (type_identifier "uint") (identifier "uStack_c0") (; ";")) (declaration "uint uStack_bc;" (type_identifier "uint") (identifier "uStack_bc") (; ";")) (declaration "uint uStack_b0;" (type_identifier "uint") (identifier "uStack_b0") (; ";")) (declaration "uint uStack_ac;" (type_identifier "uint") (identifier "uStack_ac") (; ";")) (declaration "uint uStack_a8;" (type_identifier "uint") (identifier "uStack_a8") (; ";")) (declaration "uint uStack_a4;" (type_identifier "uint") (identifier "uStack_a4") (; ";")) (declaration "long lStack_a0;" (sized_type_specifier "long" (long "long")) (identifier "lStack_a0") (; ";")) (declaration "uint auStack_98 [4];" (type_identifier "uint") (array_declarator "auStack_98 [4]" (identifier "auStack_98") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint uStack_88;" (type_identifier "uint") (identifier "uStack_88") (; ";")) (declaration "uint uStack_84;" (type_identifier "uint") (identifier "uStack_84") (; ";")) (declaration "uint uStack_80;" (type_identifier "uint") (identifier "uStack_80") (; ";")) (declaration "uint uStack_7c;" (type_identifier "uint") (identifier "uStack_7c") (; ";")) (declaration "uint uStack_78;" (type_identifier "uint") (identifier "uStack_78") (; ";")) (declaration "undefined4 uStack_74;" (type_identifier "undefined4") (identifier "uStack_74") (; ";")) (declaration "undefined1 auStack_68 [16];" (type_identifier "undefined1") (array_declarator "auStack_68 [16]" (identifier "auStack_68") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auStack_58 [16];" (type_identifier "undefined1") (array_declarator "auStack_58 [16]" (identifier "auStack_58") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined8 uStack_48;" (type_identifier "undefined8") (identifier "uStack_48") (; ";")) (declaration "long lStack_40;" (sized_type_specifier "long" (long "long")) (identifier "lStack_40") (; ";")) (expression_statement "lStack_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lStack_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "lStack_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "auStack_68 = (undefined1  [16])0x0;" (assignment_expression "auStack_68 = (undefined1  [16])0x0" (identifier "auStack_68") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "auStack_58 = (undefined1  [16])0x0;" (assignment_expression "auStack_58 = (undefined1  [16])0x0" (identifier "auStack_58") (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uStack_48 = 0;" (assignment_expression "uStack_48 = 0" (identifier "uStack_48") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1 == (byte *)0x0) {\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" (if "if") (parenthesized_expression "(param_1 == (byte *)0x0)" (( "(") (binary_expression "param_1 == (byte *)0x0" (identifier "param_1") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);\n  }" ({ "{") (expression_statement "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);" (call_expression "crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387)" (identifier "crypt_argchk") (argument_list "("key != NULL","src/ciphers/anubis.c",0x387)" (( "(") (string_literal ""key != NULL"" (" """) (string_content "key != NULL") (" """)) (, ",") (string_literal ""src/ciphers/anubis.c"" (" """) (string_content "src/ciphers/anubis.c") (" """)) (, ",") (number_literal "0x387") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_4 == (int *)0x0) {\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);\n  }" ({ "{") (expression_statement "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);" (call_expression "crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388)" (identifier "crypt_argchk") (argument_list "("skey != NULL","src/ciphers/anubis.c",0x388)" (( "(") (string_literal ""skey != NULL"" (" """) (string_content "skey != NULL") (" """)) (, ",") (string_literal ""src/ciphers/anubis.c"" (" """) (string_content "src/ciphers/anubis.c") (" """)) (, ",") (number_literal "0x388") () ")"))) (; ";")) (} "}"))) (expression_statement "uStack_a8 = param_2 & 3;" (assignment_expression "uStack_a8 = param_2 & 3" (identifier "uStack_a8") (= "=") (binary_expression "param_2 & 3" (identifier "param_2") (& "&") (number_literal "3"))) (; ";")) (if_statement "if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }\n  else {\n    uStack_a8 = 3;\n  }" (if "if") (parenthesized_expression "(((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19))" (( "(") (binary_expression "((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)" (parenthesized_expression "((param_2 & 3) == 0)" (( "(") (binary_expression "(param_2 & 3) == 0" (parenthesized_expression "(param_2 & 3)" (( "(") (binary_expression "param_2 & 3" (identifier "param_2") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_2 - 0x10 < 0x19)" (( "(") (binary_expression "param_2 - 0x10 < 0x19" (binary_expression "param_2 - 0x10" (identifier "param_2") (- "-") (number_literal "0x10")) (< "<") (number_literal "0x19")) () ")"))) () ")")) (compound_statement "{\n    *param_4 = param_2 << 3;\n    iVar7 = (int)(param_2 << 3) >> 5;\n    uStack_a4 = iVar7 + 8;\n    param_4[1] = uStack_a4;\n    if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }\n  }" ({ "{") (expression_statement "*param_4 = param_2 << 3;" (assignment_expression "*param_4 = param_2 << 3" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (binary_expression "param_2 << 3" (identifier "param_2") (<< "<<") (number_literal "3"))) (; ";")) (expression_statement "iVar7 = (int)(param_2 << 3) >> 5;" (assignment_expression "iVar7 = (int)(param_2 << 3) >> 5" (identifier "iVar7") (= "=") (binary_expression "(int)(param_2 << 3) >> 5" (cast_expression "(int)(param_2 << 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_2 << 3)" (( "(") (binary_expression "param_2 << 3" (identifier "param_2") (<< "<<") (number_literal "3")) () ")"))) (>> ">>") (number_literal "5"))) (; ";")) (expression_statement "uStack_a4 = iVar7 + 8;" (assignment_expression "uStack_a4 = iVar7 + 8" (identifier "uStack_a4") (= "=") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "param_4[1] = uStack_a4;" (assignment_expression "param_4[1] = uStack_a4" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uStack_a4")) (; ";")) (if_statement "if ((param_3 == 0) || (uStack_a4 == param_3)) {\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }\n    else {\n      uStack_a8 = 4;\n    }" (if "if") (parenthesized_expression "((param_3 == 0) || (uStack_a4 == param_3))" (( "(") (binary_expression "(param_3 == 0) || (uStack_a4 == param_3)" (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uStack_a4 == param_3)" (( "(") (binary_expression "uStack_a4 == param_3" (identifier "uStack_a4") (== "==") (identifier "param_3")) () ")"))) () ")")) (compound_statement "{\n      auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;\n      auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;\n      auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;\n      auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;\n      if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }\n      puStack_130 = &DAT_00193a80;\n      lStack_a0 = (long)iVar7;\n      puStack_120 = (uint *)(param_4 + 2);\n      uStack_ac = 0;\n      uStack_100 = 0;\n      uStack_fc = 0;\n      uStack_c0 = 0;\n      uStack_b0 = 0;\n      uStack_bc = 0;\n      do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);\n      piVar5 = param_4 + lStack_a0 * 4;\n      param_4[0x4e] = piVar5[0x22];\n      piVar5[0x6e] = param_4[2];\n      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];\n      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];\n      param_4[0x50] = iVar3;\n      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];\n      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];\n      param_4[0x51] = iVar3;\n      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];\n      puVar11 = (uint *)(param_4 + 0x52);\n      do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));\n    }" ({ "{") (expression_statement "auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8;" (assignment_expression "auStack_98[0] =\n           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8" (subscript_expression "auStack_98[0]" (identifier "auStack_98") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^\n           (uint)param_1[2] << 8" (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10" (binary_expression "(uint)*param_1 << 0x18 ^ (uint)param_1[3]" (binary_expression "(uint)*param_1 << 0x18" (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_1")) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (^ "^") (binary_expression "(uint)param_1[1] << 0x10" (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[2] << 8" (cast_expression "(uint)param_1[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8;" (assignment_expression "auStack_98[1] =\n           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8" (subscript_expression "auStack_98[1]" (identifier "auStack_98") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^\n           (uint)param_1[6] << 8" (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10" (binary_expression "(uint)param_1[4] << 0x18 ^ (uint)param_1[7]" (binary_expression "(uint)param_1[4] << 0x18" (cast_expression "(uint)param_1[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) (^ "^") (binary_expression "(uint)param_1[5] << 0x10" (cast_expression "(uint)param_1[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[6] << 8" (cast_expression "(uint)param_1[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8;" (assignment_expression "auStack_98[2] =\n           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8" (subscript_expression "auStack_98[2]" (identifier "auStack_98") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^\n           (uint)param_1[10] << 8" (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10" (binary_expression "(uint)param_1[8] << 0x18 ^ (uint)param_1[0xb]" (binary_expression "(uint)param_1[8] << 0x18" (cast_expression "(uint)param_1[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")))) (^ "^") (binary_expression "(uint)param_1[9] << 0x10" (cast_expression "(uint)param_1[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[10] << 8" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8;" (assignment_expression "auStack_98[3] =\n           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8" (subscript_expression "auStack_98[3]" (identifier "auStack_98") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^\n           (uint)param_1[0xe] << 8" (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10" (binary_expression "(uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf]" (binary_expression "(uint)param_1[0xc] << 0x18" (cast_expression "(uint)param_1[0xc]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xc]" (identifier "param_1") ([ "[") (number_literal "0xc") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0xf]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xf]" (identifier "param_1") ([ "[") (number_literal "0xf") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0xd] << 0x10" (cast_expression "(uint)param_1[0xd]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0xe] << 8" (cast_expression "(uint)param_1[0xe]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (if_statement "if ((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }" (if "if") (parenthesized_expression "((iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))))))" (( "(") (binary_expression "(iVar7 != 4) &&\n         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))" (parenthesized_expression "(iVar7 != 4)" (( "(") (binary_expression "iVar7 != 4" (identifier "iVar7") (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))" (( "(") (parenthesized_expression "(((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))))" (( "(") (binary_expression "((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&\n          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))" (parenthesized_expression "((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7))" (( "(") (binary_expression "(uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&\n           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)" (parenthesized_expression "(uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6))" (( "(") (comma_expression "uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (assignment_expression "uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8" (identifier "uStack_88") (= "=") (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8" (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^\n                         (uint)param_1[0x11] << 0x10" (binary_expression "(uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13]" (binary_expression "(uint)param_1[0x10] << 0x18" (cast_expression "(uint)param_1[0x10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0x13]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x13]" (identifier "param_1") ([ "[") (number_literal "0x13") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0x11] << 0x10" (cast_expression "(uint)param_1[0x11]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0x12] << 8" (cast_expression "(uint)param_1[0x12]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]"))) (<< "<<") (number_literal "8")))) (, ",") (binary_expression "iVar7 != 5 &&\n            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (binary_expression "iVar7 != 5" (identifier "iVar7") (!= "!=") (number_literal "5")) (&& "&&") (parenthesized_expression "(uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)" (( "(") (comma_expression "uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6" (assignment_expression "uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8" (identifier "uStack_84") (= "=") (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8" (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^\n                         (uint)param_1[0x15] << 0x10" (binary_expression "(uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17]" (binary_expression "(uint)param_1[0x14] << 0x18" (cast_expression "(uint)param_1[0x14]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0x17]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x17]" (identifier "param_1") ([ "[") (number_literal "0x17") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0x15] << 0x10" (cast_expression "(uint)param_1[0x15]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x15]" (identifier "param_1") ([ "[") (number_literal "0x15") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0x16] << 8" (cast_expression "(uint)param_1[0x16]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]"))) (<< "<<") (number_literal "8")))) (, ",") (binary_expression "iVar7 != 6" (identifier "iVar7") (!= "!=") (number_literal "6"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)" (( "(") (comma_expression "uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7" (assignment_expression "uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8" (identifier "uStack_80") (= "=") (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8" (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^\n                        (uint)param_1[0x19] << 0x10" (binary_expression "(uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b]" (binary_expression "(uint)param_1[0x18] << 0x18" (cast_expression "(uint)param_1[0x18]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0x1b]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0x19] << 0x10" (cast_expression "(uint)param_1[0x19]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0x1a] << 8" (cast_expression "(uint)param_1[0x1a]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]"))) (<< "<<") (number_literal "8")))) (, ",") (binary_expression "iVar7 != 7" (identifier "iVar7") (!= "!=") (number_literal "7"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))" (( "(") (parenthesized_expression "(uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10))" (( "(") (comma_expression "uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (assignment_expression "uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8" (identifier "uStack_7c") (= "=") (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8" (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^\n                        (uint)param_1[0x1d] << 0x10" (binary_expression "(uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f]" (binary_expression "(uint)param_1[0x1c] << 0x18" (cast_expression "(uint)param_1[0x1c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0x1f]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1f]" (identifier "param_1") ([ "[") (number_literal "0x1f") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0x1d] << 0x10" (cast_expression "(uint)param_1[0x1d]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0x1e] << 8" (cast_expression "(uint)param_1[0x1e]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]"))) (<< "<<") (number_literal "8")))) (, ",") (binary_expression "iVar7 != 8 &&\n           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (binary_expression "iVar7 != 8" (identifier "iVar7") (!= "!=") (number_literal "8")) (&& "&&") (parenthesized_expression "(uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)" (( "(") (comma_expression "uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10" (assignment_expression "uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8" (identifier "uStack_78") (= "=") (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8" (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^\n                        (uint)param_1[0x21] << 0x10" (binary_expression "(uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23]" (binary_expression "(uint)param_1[0x20] << 0x18" (cast_expression "(uint)param_1[0x20]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0x23]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0x21] << 0x10" (cast_expression "(uint)param_1[0x21]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0x22] << 8" (cast_expression "(uint)param_1[0x22]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))) (<< "<<") (number_literal "8")))) (, ",") (binary_expression "iVar7 == 10" (identifier "iVar7") (== "==") (number_literal "10"))) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;\n      }" ({ "{") (expression_statement "uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8;" (assignment_expression "uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8" (identifier "uStack_74") (= "=") (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10\n                    ^ (uint)param_1[0x26] << 8" (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10" (binary_expression "(uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27]" (binary_expression "(uint)param_1[0x24] << 0x18" (cast_expression "(uint)param_1[0x24]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]"))) (<< "<<") (number_literal "0x18")) (^ "^") (cast_expression "(uint)param_1[0x27]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")))) (^ "^") (binary_expression "(uint)param_1[0x25] << 0x10" (cast_expression "(uint)param_1[0x25]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x25]" (identifier "param_1") ([ "[") (number_literal "0x25") (] "]"))) (<< "<<") (number_literal "0x10"))) (^ "^") (binary_expression "(uint)param_1[0x26] << 8" (cast_expression "(uint)param_1[0x26]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (<< "<<") (number_literal "8")))) (; ";")) (} "}"))) (expression_statement "puStack_130 = &DAT_00193a80;" (assignment_expression "puStack_130 = &DAT_00193a80" (identifier "puStack_130") (= "=") (pointer_expression "&DAT_00193a80" (& "&") (identifier "DAT_00193a80"))) (; ";")) (expression_statement "lStack_a0 = (long)iVar7;" (assignment_expression "lStack_a0 = (long)iVar7" (identifier "lStack_a0") (= "=") (cast_expression "(long)iVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar7"))) (; ";")) (expression_statement "puStack_120 = (uint *)(param_4 + 2);" (assignment_expression "puStack_120 = (uint *)(param_4 + 2)" (identifier "puStack_120") (= "=") (cast_expression "(uint *)(param_4 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 2)" (( "(") (binary_expression "param_4 + 2" (identifier "param_4") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "uStack_ac = 0;" (assignment_expression "uStack_ac = 0" (identifier "uStack_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" (identifier "uStack_100") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_fc = 0;" (assignment_expression "uStack_fc = 0" (identifier "uStack_fc") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_c0 = 0;" (assignment_expression "uStack_c0 = 0" (identifier "uStack_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_b0 = 0;" (assignment_expression "uStack_b0 = 0" (identifier "uStack_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_bc = 0;" (assignment_expression "uStack_bc = 0" (identifier "uStack_bc") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);" (do "do") (compound_statement "{\n        uVar1 = auStack_98[iVar7 + -1];\n        uVar8 = (ulong)(uVar1 >> 8 & 0xff);\n        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);\n        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);\n        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);\n        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);\n        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);\n        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);\n        do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);\n        puStack_120[1] = uVar4;\n        *puStack_120 = uStack_128;\n        puStack_120[2] = uVar9;\n        puStack_120[3] = uVar6;\n        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;\n        uVar4 = auStack_98[1] >> 0x10;\n        uVar9 = auStack_98[1] >> 8;\n        uVar6 = auStack_98[2] >> 0x10;\n        if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }\n        auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];\n        auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);\n        auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);\n        auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;\n        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }\n        puStack_130 = puStack_130 + 1;\n        puStack_120 = puStack_120 + 4;\n      }" ({ "{") (expression_statement "uVar1 = auStack_98[iVar7 + -1];" (assignment_expression "uVar1 = auStack_98[iVar7 + -1]" (identifier "uVar1") (= "=") (subscript_expression "auStack_98[iVar7 + -1]" (identifier "auStack_98") ([ "[") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1")) (] "]"))) (; ";")) (expression_statement "uVar8 = (ulong)(uVar1 >> 8 & 0xff);" (assignment_expression "uVar8 = (ulong)(uVar1 >> 8 & 0xff)" (identifier "uVar8") (= "=") (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 8 & 0xff)" (( "(") (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);" (assignment_expression "uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(&DAT_00193ee0 + uVar8 * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + uVar8 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + uVar8 * 4)" (( "(") (binary_expression "&DAT_00193ee0 + uVar8 * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "uVar8 * 4" (identifier "uVar8") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);" (assignment_expression "uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);" (assignment_expression "uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" (identifier "uStack_128") (= "=") (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);" (assignment_expression "uVar10 = (ulong)(uVar1 >> 0x10 & 0xff)" (identifier "uVar10") (= "=") (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" (identifier "uVar1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);" (assignment_expression "uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(&DAT_00193ee0 + uVar10 * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + uVar10 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + uVar10 * 4)" (( "(") (binary_expression "&DAT_00193ee0 + uVar10 * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);" (assignment_expression "puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4)" (identifier "puVar11") (= "=") (cast_expression "(uint *)((long)&lStack_a0 + lStack_a0 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)&lStack_a0 + lStack_a0 * 4)" (( "(") (binary_expression "(long)&lStack_a0 + lStack_a0 * 4" (cast_expression "(long)&lStack_a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&lStack_a0" (& "&") (identifier "lStack_a0"))) (+ "+") (binary_expression "lStack_a0 * 4" (identifier "lStack_a0") (* "*") (number_literal "4"))) () ")")))) (; ";")) (do_statement "do {\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);" (do "do") (compound_statement "{\n          uVar2 = *puVar11;\n          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;\n          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);\n          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);\n          puVar11 = puVar11 + -1;\n          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;\n        }" ({ "{") (expression_statement "uVar2 = *puVar11;" (assignment_expression "uVar2 = *puVar11" (identifier "uVar2") (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;" (assignment_expression "uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (identifier "uStack_128") (= "=") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^\n                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^\n                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000\n                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4])" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uStack_128 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_128 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_128 >> 0x10 & 0xff)" (( "(") (binary_expression "uStack_128 >> 0x10 & 0xff" (binary_expression "uStack_128 >> 0x10" (identifier "uStack_128") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff0000")) (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4])" (( "(") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |\n                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uStack_128 >> 0x18) * 4" (call_expression "(ulong)(uStack_128 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_128 >> 0x18)" (( "(") (binary_expression "uStack_128 >> 0x18" (identifier "uStack_128") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff000000")) (| "|") (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ae0)" (( "(") (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) () ")"))) ([ "[") (binary_expression "(ulong)(uStack_128 & 0xff) * 4" (call_expression "(ulong)(uStack_128 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_128 & 0xff)" (( "(") (binary_expression "uStack_128 & 0xff" (identifier "uStack_128") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]"))) () ")"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uStack_128 >> 8 & 0xff) * 4" (call_expression "(ulong)(uStack_128 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_128 >> 8 & 0xff)" (( "(") (binary_expression "uStack_128 >> 8 & 0xff" (binary_expression "uStack_128 >> 8" (identifier "uStack_128") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff00")))) (; ";")) (expression_statement "uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);" (assignment_expression "uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000)" (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000)" (( "(") (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ae0)" (( "(") (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (| "|") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff000000"))) () ")")) (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000)" (( "(") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar4 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff00")) (| "|") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff0000"))) () ")"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "(ulong)(uVar2 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);" (assignment_expression "uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (identifier "uVar9") (= "=") (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (binary_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^\n                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000)" (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000)" (( "(") (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ae0)" (( "(") (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (| "|") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff000000"))) () ")")) (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000)" (( "(") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(byte)(uVar9 >> 8) * 4" (call_expression "(ulong)(byte)(uVar9 >> 8)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(uVar9 >> 8)" (( "(") (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff00")) (| "|") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff0000"))) () ")"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "(ulong)(uVar2 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 8 & 0xff)" (( "(") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "puVar11 = puVar11 + -1;" (assignment_expression "puVar11 = puVar11 + -1" (identifier "puVar11") (= "=") (binary_expression "puVar11 + -1" (identifier "puVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;" (assignment_expression "uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (identifier "uVar6") (= "=") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^\n                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^\n                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000)" (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar6 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff0000")) (^ "^") (parenthesized_expression "((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000)" (( "(") (binary_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |\n                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000" (subscript_expression "(uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4]" (call_expression "(uint)(byte)(&DAT_00193ae0)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ae0)" (( "(") (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (| "|") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar6 >> 0x18) * 4" (call_expression "(ulong)(uVar6 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff000000"))) () ")"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) (+ "+") (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (binary_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00" (pointer_expression "*(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4" (pointer_expression "&DAT_00193ae0" (& "&") (identifier "DAT_00193ae0")) (+ "+") (binary_expression "(ulong)(uVar6 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (& "&") (number_literal "0xff00")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11)" (( "(") (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11" (binary_expression "&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U))" (pointer_expression "&uStack_a4" (& "&") (identifier "uStack_a4")) (+ "+") (parenthesized_expression "(lStack_a0 - (ulong)(iVar7 - 2U))" (( "(") (binary_expression "lStack_a0 - (ulong)(iVar7 - 2U)" (identifier "lStack_a0") (- "-") (call_expression "(ulong)(iVar7 - 2U)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar7 - 2U)" (( "(") (binary_expression "iVar7 - 2U" (identifier "iVar7") (- "-") (number_literal "2U")) () ")")))) () ")"))) (!= "!=") (identifier "puVar11")) () ")")) (; ";")) (expression_statement "puStack_120[1] = uVar4;" (assignment_expression "puStack_120[1] = uVar4" (subscript_expression "puStack_120[1]" (identifier "puStack_120") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*puStack_120 = uStack_128;" (assignment_expression "*puStack_120 = uStack_128" (pointer_expression "*puStack_120" (* "*") (identifier "puStack_120")) (= "=") (identifier "uStack_128")) (; ";")) (expression_statement "puStack_120[2] = uVar9;" (assignment_expression "puStack_120[2] = uVar9" (subscript_expression "puStack_120[2]" (identifier "puStack_120") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puStack_120[3] = uVar6;" (assignment_expression "puStack_120[3] = uVar6" (subscript_expression "puStack_120[3]" (identifier "puStack_120") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (if_statement "if (&DAT_00193a80 + uStack_a4 == puStack_130) break;" (if "if") (parenthesized_expression "(&DAT_00193a80 + uStack_a4 == puStack_130)" (( "(") (binary_expression "&DAT_00193a80 + uStack_a4 == puStack_130" (binary_expression "&DAT_00193a80 + uStack_a4" (pointer_expression "&DAT_00193a80" (& "&") (identifier "DAT_00193a80")) (+ "+") (identifier "uStack_a4")) (== "==") (identifier "puStack_130")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar4 = auStack_98[1] >> 0x10;" (assignment_expression "uVar4 = auStack_98[1] >> 0x10" (identifier "uVar4") (= "=") (binary_expression "auStack_98[1] >> 0x10" (subscript_expression "auStack_98[1]" (identifier "auStack_98") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "uVar9 = auStack_98[1] >> 8;" (assignment_expression "uVar9 = auStack_98[1] >> 8" (identifier "uVar9") (= "=") (binary_expression "auStack_98[1] >> 8" (subscript_expression "auStack_98[1]" (identifier "auStack_98") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "uVar6 = auStack_98[2] >> 0x10;" (assignment_expression "uVar6 = auStack_98[2] >> 0x10" (identifier "uVar6") (= "=") (binary_expression "auStack_98[2] >> 0x10" (subscript_expression "auStack_98[2]" (identifier "auStack_98") ([ "[") (number_literal "2") (] "]")) (>> ">>") (number_literal "0x10"))) (; ";")) (if_statement "if (((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           ) {\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }" (if "if") (parenthesized_expression "(((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)\n           )" (( "(") (binary_expression "((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))\n           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)" (parenthesized_expression "((iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))" (( "(") (binary_expression "(iVar7 != 4) &&\n            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5)" (parenthesized_expression "(iVar7 != 4)" (( "(") (binary_expression "iVar7 != 4" (identifier "iVar7") (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5)" (( "(") (comma_expression "uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5" (assignment_expression "uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (identifier "uStack_100") (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^\n                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^\n                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^\n                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(auStack_98[3] >> 0x10 & 0xff) * 4" (call_expression "(ulong)(auStack_98[3] >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[3] >> 0x10 & 0xff)" (( "(") (binary_expression "auStack_98[3] >> 0x10 & 0xff" (binary_expression "auStack_98[3] >> 0x10" (subscript_expression "auStack_98[3]" (identifier "auStack_98") ([ "[") (number_literal "3") (] "]")) (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[auStack_98[2] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "auStack_98[2] >> 8 & 0xff" (binary_expression "auStack_98[2] >> 8" (subscript_expression "auStack_98[2]" (identifier "auStack_98") ([ "[") (number_literal "2") (] "]")) (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(uStack_88 >> 0x18) * 4" (call_expression "(ulong)(uStack_88 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_88 >> 0x18)" (( "(") (binary_expression "uStack_88 >> 0x18" (identifier "uStack_88") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(auStack_98[1] & 0xff) * 4" (call_expression "(ulong)(auStack_98[1] & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[1] & 0xff)" (( "(") (binary_expression "auStack_98[1] & 0xff" (subscript_expression "auStack_98[1]" (identifier "auStack_98") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (, ",") (binary_expression "iVar7 != 5" (identifier "iVar7") (!= "!=") (number_literal "5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)" (( "(") (comma_expression "uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6" (assignment_expression "uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (identifier "uStack_fc") (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^\n                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^\n                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uStack_88 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_88 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_88 >> 0x10 & 0xff)" (( "(") (binary_expression "uStack_88 >> 0x10 & 0xff" (binary_expression "uStack_88 >> 0x10" (identifier "uStack_88") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[auStack_98[3] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "auStack_98[3] >> 8 & 0xff" (binary_expression "auStack_98[3] >> 8" (subscript_expression "auStack_98[3]" (identifier "auStack_98") ([ "[") (number_literal "3") (] "]")) (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(uStack_84 >> 0x18) * 4" (call_expression "(ulong)(uStack_84 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_84 >> 0x18)" (( "(") (binary_expression "uStack_84 >> 0x18" (identifier "uStack_84") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(auStack_98[2] & 0xff) * 4" (call_expression "(ulong)(auStack_98[2] & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[2] & 0xff)" (( "(") (binary_expression "auStack_98[2] & 0xff" (subscript_expression "auStack_98[2]" (identifier "auStack_98") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (, ",") (binary_expression "iVar7 != 6" (identifier "iVar7") (!= "!=") (number_literal "6"))) () ")"))) () ")")) (compound_statement "{\n          uStack_128._0_1_ = (byte)auStack_98[3];\n          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);\n          if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }\n        }" ({ "{") (expression_statement "uStack_128._0_1_ = (byte)auStack_98[3];" (assignment_expression "uStack_128._0_1_ = (byte)auStack_98[3]" (field_expression "uStack_128._0_1_" (identifier "uStack_128") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(byte)auStack_98[3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "auStack_98[3]" (identifier "auStack_98") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);" (assignment_expression "uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (identifier "uStack_c0") (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^\n                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^\n                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^\n                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uStack_84 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_84 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_84 >> 0x10 & 0xff)" (( "(") (binary_expression "uStack_84 >> 0x10 & 0xff" (binary_expression "uStack_84 >> 0x10" (identifier "uStack_84") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[uStack_88 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "uStack_88 >> 8 & 0xff" (binary_expression "uStack_88 >> 8" (identifier "uStack_88") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(uStack_80 >> 0x18) * 4" (call_expression "(ulong)(uStack_80 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_80 >> 0x18)" (( "(") (binary_expression "uStack_80 >> 0x18" (identifier "uStack_80") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(byte)uStack_128 * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(byte)uStack_128 * 4" (cast_expression "(ulong)(byte)uStack_128" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(byte)uStack_128" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_128"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             ) {\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }" (if "if") (parenthesized_expression "(((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)\n             )" (( "(") (binary_expression "((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))\n             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)" (parenthesized_expression "((iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))" (( "(") (binary_expression "(iVar7 != 7) &&\n              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8)" (parenthesized_expression "(iVar7 != 7)" (( "(") (binary_expression "iVar7 != 7" (identifier "iVar7") (!= "!=") (number_literal "7")) () ")")) (&& "&&") (parenthesized_expression "(uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8)" (( "(") (comma_expression "uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8" (assignment_expression "uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (identifier "uStack_bc") (= "=") (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^\n                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^\n                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^\n                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(uStack_88 & 0xff) * 4" (call_expression "(ulong)(uStack_88 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_88 & 0xff)" (( "(") (binary_expression "uStack_88 & 0xff" (identifier "uStack_88") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[uStack_84 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "uStack_84 >> 8 & 0xff" (binary_expression "uStack_84 >> 8" (identifier "uStack_84") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uStack_80 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_80 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_80 >> 0x10 & 0xff)" (( "(") (binary_expression "uStack_80 >> 0x10 & 0xff" (binary_expression "uStack_80 >> 0x10" (identifier "uStack_80") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(uStack_7c >> 0x18) * 4" (call_expression "(ulong)(uStack_7c >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_7c >> 0x18)" (( "(") (binary_expression "uStack_7c >> 0x18" (identifier "uStack_7c") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (, ",") (binary_expression "iVar7 != 8" (identifier "iVar7") (!= "!=") (number_literal "8"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)" (( "(") (comma_expression "uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10" (assignment_expression "uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (identifier "uStack_b0") (= "=") (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^\n                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^\n                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^\n                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(uStack_84 & 0xff) * 4" (call_expression "(ulong)(uStack_84 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_84 & 0xff)" (( "(") (binary_expression "uStack_84 & 0xff" (identifier "uStack_84") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[uStack_80 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "uStack_80 >> 8 & 0xff" (binary_expression "uStack_80 >> 8" (identifier "uStack_80") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uStack_7c >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_7c >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_7c >> 0x10 & 0xff)" (( "(") (binary_expression "uStack_7c >> 0x10 & 0xff" (binary_expression "uStack_7c >> 0x10" (identifier "uStack_7c") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(uStack_78 >> 0x18) * 4" (call_expression "(ulong)(uStack_78 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_78 >> 0x18)" (( "(") (binary_expression "uStack_78 >> 0x18" (identifier "uStack_78") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (, ",") (binary_expression "iVar7 == 10" (identifier "iVar7") (== "==") (number_literal "10"))) () ")"))) () ")")) (compound_statement "{\n            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);\n          }" ({ "{") (expression_statement "uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);" (assignment_expression "uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (identifier "uStack_ac") (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^\n                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^\n                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^\n                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uStack_78 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uStack_78 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_78 >> 0x10 & 0xff)" (( "(") (binary_expression "uStack_78 >> 0x10 & 0xff" (binary_expression "uStack_78 >> 0x10" (identifier "uStack_78") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[uStack_7c >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "uStack_7c >> 8 & 0xff" (binary_expression "uStack_7c >> 8" (identifier "uStack_7c") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)uStack_74._3_1_ * 4" (cast_expression "(ulong)uStack_74._3_1_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "uStack_74._3_1_" (identifier "uStack_74") (. ".") (field_identifier "_3_1_"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(uStack_80 & 0xff) * 4" (call_expression "(ulong)(uStack_80 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uStack_80 & 0xff)" (( "(") (binary_expression "uStack_80 & 0xff" (identifier "uStack_80") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8];" (assignment_expression "auStack_98[1] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8]" (subscript_expression "auStack_98[1]" (identifier "auStack_98") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^\n             (&DAT_001946e0)[uVar8]" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(auStack_98[0] >> 0x10 & 0xff) * 4" (call_expression "(ulong)(auStack_98[0] >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[0] >> 0x10 & 0xff)" (( "(") (binary_expression "auStack_98[0] >> 0x10 & 0xff" (binary_expression "auStack_98[0] >> 0x10" (subscript_expression "auStack_98[0]" (identifier "auStack_98") ([ "[") (number_literal "0") (] "]")) (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(auStack_98[1] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[1] >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[1] >> 0x18)" (( "(") (binary_expression "auStack_98[1] >> 0x18" (subscript_expression "auStack_98[1]" (identifier "auStack_98") ([ "[") (number_literal "1") (] "]")) (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4" (call_expression "(ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[(int)(iVar7 - 2U)] & 0xff)" (( "(") (binary_expression "auStack_98[(int)(iVar7 - 2U)] & 0xff" (subscript_expression "auStack_98[(int)(iVar7 - 2U)]" (identifier "auStack_98") ([ "[") (cast_expression "(int)(iVar7 - 2U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar7 - 2U)" (( "(") (binary_expression "iVar7 - 2U" (identifier "iVar7") (- "-") (number_literal "2U")) () ")"))) (] "]")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001946e0)[uVar8]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (identifier "uVar8") (] "]")))) (; ";")) (expression_statement "auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);" (assignment_expression "auStack_98[2] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (subscript_expression "auStack_98[2]" (identifier "auStack_98") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^\n             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[auStack_98[0] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "auStack_98[0] >> 8 & 0xff" (binary_expression "auStack_98[0] >> 8" (subscript_expression "auStack_98[0]" (identifier "auStack_98") ([ "[") (number_literal "0") (] "]")) (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(auStack_98[2] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[2] >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[2] >> 0x18)" (( "(") (binary_expression "auStack_98[2] >> 0x18" (subscript_expression "auStack_98[2]" (identifier "auStack_98") ([ "[") (number_literal "2") (] "]")) (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);" (assignment_expression "auStack_98[3] =\n             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (subscript_expression "auStack_98[3]" (identifier "auStack_98") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" (binary_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff]" (pointer_expression "*(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4)" (( "(") (binary_expression "&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (subscript_expression "(&DAT_001946e0)[uVar9 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) (] "]"))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(auStack_98[3] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[3] >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[3] >> 0x18)" (( "(") (binary_expression "auStack_98[3] >> 0x18" (subscript_expression "auStack_98[3]" (identifier "auStack_98") ([ "[") (number_literal "3") (] "]")) (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(auStack_98[0] & 0xff) * 4" (call_expression "(ulong)(auStack_98[0] & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[0] & 0xff)" (( "(") (binary_expression "auStack_98[0] & 0xff" (subscript_expression "auStack_98[0]" (identifier "auStack_98") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;" (assignment_expression "auStack_98[0] =\n             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130" (subscript_expression "auStack_98[0]" (identifier "auStack_98") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^\n             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^\n             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" (binary_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^\n             *(uint *)(&DAT_00194ae0 + uVar10 * 4)" (subscript_expression "(&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (binary_expression "auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff" (binary_expression "auStack_98[(int)(iVar7 - 2U)] >> 8" (subscript_expression "auStack_98[(int)(iVar7 - 2U)]" (identifier "auStack_98") ([ "[") (cast_expression "(int)(iVar7 - 2U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar7 - 2U)" (( "(") (binary_expression "iVar7 - 2U" (identifier "iVar7") (- "-") (number_literal "2U")) () ")"))) (] "]")) (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 + uVar10 * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 + uVar10 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 + uVar10 * 4)" (( "(") (binary_expression "&DAT_00194ae0 + uVar10 * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4)" (( "(") (binary_expression "&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(auStack_98[0] >> 0x18) * 4" (call_expression "(ulong)(auStack_98[0] >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(auStack_98[0] >> 0x18)" (( "(") (binary_expression "auStack_98[0] >> 0x18" (subscript_expression "auStack_98[0]" (identifier "auStack_98") ([ "[") (number_literal "0") (] "]")) (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4)" (( "(") (binary_expression "&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(byte)auStack_98[iVar7 + -3] * 4" (cast_expression "(ulong)(byte)auStack_98[iVar7 + -3]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(byte)auStack_98[iVar7 + -3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "auStack_98[iVar7 + -3]" (identifier "auStack_98") ([ "[") (binary_expression "iVar7 + -3" (identifier "iVar7") (+ "+") (number_literal "-3")) (] "]")))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*puStack_130" (* "*") (identifier "puStack_130")))) (; ";")) (if_statement "if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))) {\n          uStack_74 = uStack_ac;\n        }" (if "if") (parenthesized_expression "(((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10))))" (( "(") (binary_expression "((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&\n           (((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))" (parenthesized_expression "((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5))" (( "(") (binary_expression "(iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)" (parenthesized_expression "(iVar7 != 4)" (( "(") (binary_expression "iVar7 != 4" (identifier "iVar7") (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(uStack_88 = uStack_100, iVar7 != 5)" (( "(") (comma_expression "uStack_88 = uStack_100, iVar7 != 5" (assignment_expression "uStack_88 = uStack_100" (identifier "uStack_88") (= "=") (identifier "uStack_100")) (, ",") (binary_expression "iVar7 != 5" (identifier "iVar7") (!= "!=") (number_literal "5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)))" (( "(") (parenthesized_expression "((uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10))" (( "(") (binary_expression "(uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&\n            (uStack_78 = uStack_b0, iVar7 == 10)" (parenthesized_expression "(uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8))))" (( "(") (comma_expression "uStack_84 = uStack_fc, iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (assignment_expression "uStack_84 = uStack_fc" (identifier "uStack_84") (= "=") (identifier "uStack_fc")) (, ",") (binary_expression "iVar7 != 6 &&\n             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (binary_expression "iVar7 != 6" (identifier "iVar7") (!= "!=") (number_literal "6")) (&& "&&") (parenthesized_expression "((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))" (( "(") (parenthesized_expression "(uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8))" (( "(") (comma_expression "uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)" (assignment_expression "uStack_80 = uStack_c0" (identifier "uStack_80") (= "=") (identifier "uStack_c0")) (, ",") (binary_expression "iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)" (binary_expression "iVar7 != 7" (identifier "iVar7") (!= "!=") (number_literal "7")) (&& "&&") (parenthesized_expression "(uStack_7c = uStack_bc, iVar7 != 8)" (( "(") (comma_expression "uStack_7c = uStack_bc, iVar7 != 8" (assignment_expression "uStack_7c = uStack_bc" (identifier "uStack_7c") (= "=") (identifier "uStack_bc")) (, ",") (binary_expression "iVar7 != 8" (identifier "iVar7") (!= "!=") (number_literal "8"))) () ")")))) () ")")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(uStack_78 = uStack_b0, iVar7 == 10)" (( "(") (comma_expression "uStack_78 = uStack_b0, iVar7 == 10" (assignment_expression "uStack_78 = uStack_b0" (identifier "uStack_78") (= "=") (identifier "uStack_b0")) (, ",") (binary_expression "iVar7 == 10" (identifier "iVar7") (== "==") (number_literal "10"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          uStack_74 = uStack_ac;\n        }" ({ "{") (expression_statement "uStack_74 = uStack_ac;" (assignment_expression "uStack_74 = uStack_ac" (identifier "uStack_74") (= "=") (identifier "uStack_ac")) (; ";")) (} "}"))) (expression_statement "puStack_130 = puStack_130 + 1;" (assignment_expression "puStack_130 = puStack_130 + 1" (identifier "puStack_130") (= "=") (binary_expression "puStack_130 + 1" (identifier "puStack_130") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puStack_120 = puStack_120 + 4;" (assignment_expression "puStack_120 = puStack_120 + 4" (identifier "puStack_120") (= "=") (binary_expression "puStack_120 + 4" (identifier "puStack_120") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130)" (( "(") (binary_expression "(uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130" (cast_expression "(uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00193a84 + (ulong)uStack_a4 * 4)" (( "(") (binary_expression "&DAT_00193a84 + (ulong)uStack_a4 * 4" (pointer_expression "&DAT_00193a84" (& "&") (identifier "DAT_00193a84")) (+ "+") (binary_expression "(ulong)uStack_a4 * 4" (cast_expression "(ulong)uStack_a4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uStack_a4")) (* "*") (number_literal "4"))) () ")"))) (!= "!=") (identifier "puStack_130")) () ")")) (; ";")) (expression_statement "piVar5 = param_4 + lStack_a0 * 4;" (assignment_expression "piVar5 = param_4 + lStack_a0 * 4" (identifier "piVar5") (= "=") (binary_expression "param_4 + lStack_a0 * 4" (identifier "param_4") (+ "+") (binary_expression "lStack_a0 * 4" (identifier "lStack_a0") (* "*") (number_literal "4")))) (; ";")) (expression_statement "param_4[0x4e] = piVar5[0x22];" (assignment_expression "param_4[0x4e] = piVar5[0x22]" (subscript_expression "param_4[0x4e]" (identifier "param_4") ([ "[") (number_literal "0x4e") (] "]")) (= "=") (subscript_expression "piVar5[0x22]" (identifier "piVar5") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (expression_statement "piVar5[0x6e] = param_4[2];" (assignment_expression "piVar5[0x6e] = param_4[2]" (subscript_expression "piVar5[0x6e]" (identifier "piVar5") ([ "[") (number_literal "0x6e") (] "]")) (= "=") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];" (assignment_expression "param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3]" (subscript_expression "param_4[0x4f]" (identifier "param_4") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 3]" (identifier "param_4") ([ "[") (binary_expression "(long)(int)uStack_a4 * 4 + 3" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uStack_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_a4"))) (* "*") (number_literal "4")) (+ "+") (number_literal "3")) (] "]"))) (; ";")) (expression_statement "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];" (assignment_expression "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4]" (identifier "iVar3") (= "=") (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 4]" (identifier "param_4") ([ "[") (binary_expression "(long)(int)uStack_a4 * 4 + 4" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uStack_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_a4"))) (* "*") (number_literal "4")) (+ "+") (number_literal "4")) (] "]"))) (; ";")) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x4f]" (identifier "param_4") ([ "[") (binary_expression "(long)(int)uStack_a4 * 4 + 0x4f" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uStack_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_a4"))) (* "*") (number_literal "4")) (+ "+") (number_literal "0x4f")) (] "]")) (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_4[0x50] = iVar3;" (assignment_expression "param_4[0x50] = iVar3" (subscript_expression "param_4[0x50]" (identifier "param_4") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];" (assignment_expression "iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5]" (identifier "iVar3") (= "=") (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 5]" (identifier "param_4") ([ "[") (binary_expression "(long)(int)uStack_a4 * 4 + 5" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uStack_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_a4"))) (* "*") (number_literal "4")) (+ "+") (number_literal "5")) (] "]"))) (; ";")) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x50]" (identifier "param_4") ([ "[") (binary_expression "(long)(int)uStack_a4 * 4 + 0x50" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uStack_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_a4"))) (* "*") (number_literal "4")) (+ "+") (number_literal "0x50")) (] "]")) (= "=") (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "param_4[0x51] = iVar3;" (assignment_expression "param_4[0x51] = iVar3" (subscript_expression "param_4[0x51]" (identifier "param_4") ([ "[") (number_literal "0x51") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];" (assignment_expression "param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5]" (subscript_expression "param_4[(long)(int)uStack_a4 * 4 + 0x51]" (identifier "param_4") ([ "[") (binary_expression "(long)(int)uStack_a4 * 4 + 0x51" (binary_expression "(long)(int)uStack_a4 * 4" (cast_expression "(long)(int)uStack_a4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)uStack_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_a4"))) (* "*") (number_literal "4")) (+ "+") (number_literal "0x51")) (] "]")) (= "=") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "puVar11 = (uint *)(param_4 + 0x52);" (assignment_expression "puVar11 = (uint *)(param_4 + 0x52)" (identifier "puVar11") (= "=") (cast_expression "(uint *)(param_4 + 0x52)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x52)" (( "(") (binary_expression "param_4 + 0x52" (identifier "param_4") (+ "+") (number_literal "0x52")) () ")")))) (; ";")) (do_statement "do {\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));" (do "do") (compound_statement "{\n        uVar1 = piVar5[0x1e];\n        puVar12 = puVar11 + 4;\n        *puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x1f];\n        puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x20];\n        puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        uVar1 = piVar5[0x21];\n        puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];\n        piVar5 = piVar5 + -4;\n        puVar11 = puVar12;\n      }" ({ "{") (expression_statement "uVar1 = piVar5[0x1e];" (assignment_expression "uVar1 = piVar5[0x1e]" (identifier "uVar1") (= "=") (subscript_expression "piVar5[0x1e]" (identifier "piVar5") ([ "[") (number_literal "0x1e") (] "]"))) (; ";")) (expression_statement "puVar12 = puVar11 + 4;" (assignment_expression "puVar12 = puVar11 + 4" (identifier "puVar12") (= "=") (binary_expression "puVar11 + 4" (identifier "puVar11") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "*puVar11 = *(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                   *(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_001942e0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ee0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ae0 +\n                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" (identifier "uVar1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 8 & 0xff)" (( "(") (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (] "]")))) (; ";")) (expression_statement "uVar1 = piVar5[0x1f];" (assignment_expression "uVar1 = piVar5[0x1f]" (identifier "uVar1") (= "=") (subscript_expression "piVar5[0x1f]" (identifier "piVar5") ([ "[") (number_literal "0x1f") (] "]"))) (; ";")) (expression_statement "puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[1] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" (identifier "uVar1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 8 & 0xff)" (( "(") (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (] "]")))) (; ";")) (expression_statement "uVar1 = piVar5[0x20];" (assignment_expression "uVar1 = piVar5[0x20]" (identifier "uVar1") (= "=") (subscript_expression "piVar5[0x20]" (identifier "piVar5") ([ "[") (number_literal "0x20") (] "]"))) (; ";")) (expression_statement "puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[2] = *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" (identifier "uVar1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 8 & 0xff)" (( "(") (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (] "]")))) (; ";")) (expression_statement "uVar1 = piVar5[0x21];" (assignment_expression "uVar1 = piVar5[0x21]" (identifier "uVar1") (= "=") (subscript_expression "piVar5[0x21]" (identifier "piVar5") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];" (assignment_expression "puVar11[3] = *(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^\n                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^\n                     *(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (binary_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^\n                     *(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (pointer_expression "*(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ee0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (pointer_expression "&DAT_00194ee0" (& "&") (identifier "DAT_00194ee0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_001942e0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (pointer_expression "&DAT_001942e0" (& "&") (identifier "DAT_001942e0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (* "*") (cast_expression "(uint *)(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4)" (( "(") (binary_expression "&DAT_00194ae0 +\n                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (pointer_expression "&DAT_00194ae0" (& "&") (identifier "DAT_00194ae0")) (+ "+") (binary_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4" (subscript_expression "(ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4]" (call_expression "(ulong)(byte)(&DAT_00193ee0)" (call_expression "(ulong)(byte)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" (identifier "uVar1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]]" (parenthesized_expression "(&DAT_001946e0)" (( "(") (pointer_expression "&DAT_001946e0" (& "&") (identifier "DAT_001946e0")) () ")")) ([ "[") (subscript_expression "(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]" (call_expression "(byte)(&DAT_00193ee0)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(&DAT_00193ee0)" (( "(") (pointer_expression "&DAT_00193ee0" (& "&") (identifier "DAT_00193ee0")) () ")"))) ([ "[") (binary_expression "(ulong)(uVar1 >> 8 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 8 & 0xff)" (( "(") (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4")) (] "]")) (] "]")))) (; ";")) (expression_statement "piVar5 = piVar5 + -4;" (assignment_expression "piVar5 = piVar5 + -4" (identifier "piVar5") (= "=") (binary_expression "piVar5 + -4" (identifier "piVar5") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "puVar11 = puVar12;" (assignment_expression "puVar11 = puVar12" (identifier "puVar11") (= "=") (identifier "puVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56))" (( "(") (binary_expression "puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" (identifier "puVar12") (!= "!=") (cast_expression "(uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56)" (( "(") (binary_expression "param_4 + (ulong)(iVar7 + 6) * 4 + 0x56" (binary_expression "param_4 + (ulong)(iVar7 + 6) * 4" (identifier "param_4") (+ "+") (binary_expression "(ulong)(iVar7 + 6) * 4" (call_expression "(ulong)(iVar7 + 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar7 + 6)" (( "(") (binary_expression "iVar7 + 6" (identifier "iVar7") (+ "+") (number_literal "6")) () ")"))) (* "*") (number_literal "4"))) (+ "+") (number_literal "0x56")) () ")")))) () ")")) (; ";")) (} "}")) (else_clause "else {\n      uStack_a8 = 4;\n    }" (else "else") (compound_statement "{\n      uStack_a8 = 4;\n    }" ({ "{") (expression_statement "uStack_a8 = 4;" (assignment_expression "uStack_a8 = 4" (identifier "uStack_a8") (= "=") (number_literal "4")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    uStack_a8 = 3;\n  }" (else "else") (compound_statement "{\n    uStack_a8 = 3;\n  }" ({ "{") (expression_statement "uStack_a8 = 3;" (assignment_expression "uStack_a8 = 3" (identifier "uStack_a8") (= "=") (number_literal "3")) (; ";")) (} "}")))) (if_statement "if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(lStack_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "lStack_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "lStack_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return uStack_a8;" (return "return") (identifier "uStack_a8") (; ";")) (} "}")))

/* WARNING: Switch with 1 destination removed at 0x00114f10 */

int function_1(type_1 *var_2,int var_5,int var_7,type_2 *var_4)

{
  type_3 var_9;
  type_3 var_12;
  type_4 var_13;
  long var_24;
  type_4 var_16;
  int var_6;
  type_3 uVar7;
  type_3 uVar8;
  type_4 var_14;
  type_3 var_22;
  type_3 *var_15;
  type_3 var_21;
  type_4 *var_25;
  type_4 *var_26;
  long var_1;
  type_4 *var_18;
  type_3 var_11;
  type_4 *var_23;
  type_3 uStack_100;
  type_3 uStack_fc;
  type_3 uStack_c0;
  type_3 uStack_bc;
  type_3 uStack_b0;
  type_3 uStack_ac;
  int iStack_a8;
  type_3 var_8;
  long var_10;
  type_3 var_20;
  type_3 var_19;
  type_3 auStack_90 [7];
  type_3 uStack_74;
  type_5 bStack_71;
  type_6 auStack_68 [16];
  type_6 auStack_58 [16];
  type_7 uStack_48;
  long var_27;
  
  var_27 = *(long *)(var_1 + 0x28);
  auStack_68 = (type_6  [16])0x0;
  auStack_58 = (type_6  [16])0x0;
  uStack_48 = 0;
  if (var_2 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("key != NULL","src/ciphers/anubis.c",0x387);
  }
  if (var_4 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("skey != NULL","src/ciphers/anubis.c",0x388);
  }
  if (((var_5 & 3U) == 0) && (var_5 - 0x10U < 0x19)) {
    (var_4->rc5).rounds = var_5 << 3;
    var_6 = (var_5 << 3) >> 5;
    var_8 = var_6 + 8;
    (var_4->des).ek[1] = var_8;
    if ((var_7 == 0) || (var_8 == var_7)) {
      var_20 = (type_3)*var_2 << 0x18 ^ (type_3)var_2[3] ^ (type_3)var_2[1] << 0x10 ^ (type_3)var_2[2] << 8;
      var_19 = (type_3)var_2[4] << 0x18 ^ (type_3)var_2[7] ^ (type_3)var_2[5] << 0x10 ^ (type_3)var_2[6] << 8;
      auStack_90[0] =
           (type_3)var_2[8] << 0x18 ^ (type_3)var_2[0xb] ^ (type_3)var_2[9] << 0x10 ^ (type_3)var_2[10] << 8;
      auStack_90[1] =
           (type_3)var_2[0xc] << 0x18 ^ (type_3)var_2[0xf] ^ (type_3)var_2[0xd] << 0x10 ^ (type_3)var_2[0xe] << 8;
      if ((var_6 != 4) &&
         ((((auStack_90[2] =
                  (type_3)var_2[0x10] << 0x18 ^ (type_3)var_2[0x13] ^ (type_3)var_2[0x11] << 0x10 ^
                  (type_3)var_2[0x12] << 8, var_6 != 5 &&
            (auStack_90[3] =
                  (type_3)var_2[0x14] << 0x18 ^ (type_3)var_2[0x17] ^ (type_3)var_2[0x15] << 0x10 ^
                  (type_3)var_2[0x16] << 8, var_6 != 6)) &&
           (auStack_90[4] =
                 (type_3)var_2[0x18] << 0x18 ^ (type_3)var_2[0x1b] ^ (type_3)var_2[0x19] << 0x10 ^
                 (type_3)var_2[0x1a] << 8, var_6 != 7)) &&
          ((auStack_90[5] =
                 (type_3)var_2[0x1c] << 0x18 ^ (type_3)var_2[0x1f] ^ (type_3)var_2[0x1d] << 0x10 ^
                 (type_3)var_2[0x1e] << 8, var_6 != 8 &&
           (auStack_90[6] =
                 (type_3)var_2[0x20] << 0x18 ^ (type_3)var_2[0x23] ^ (type_3)var_2[0x21] << 0x10 ^
                 (type_3)var_2[0x22] << 8, var_6 == 10)))))) {
        uStack_74 = (type_3)var_2[0x24] << 0x18 ^ (type_3)var_2[0x27] ^ (type_3)var_2[0x25] << 0x10 ^
                    (type_3)var_2[0x26] << 8;
      }
      var_18 = var_17;
      var_10 = (long)var_6;
      var_23 = (var_4->des3).ek[0] + 2;
      uStack_ac = 0;
      uStack_100 = 0;
      uStack_fc = 0;
      uStack_c0 = 0;
      uStack_b0 = 0;
      uStack_bc = 0;
      do {
        var_9 = (&var_20)[var_6 + -1];
        uVar7 = var_9 >> 8 & 0xff;
        var_14 = T4[uVar7];
        var_16 = T4[var_9 & 0xff];
        var_11 = T4[var_9 >> 0x18];
        uVar8 = var_9 >> 0x10 & 0xff;
        var_13 = T4[uVar8];
        var_15 = (type_3 *)((long)&var_10 + var_10 * 4);
        do {
          var_12 = *var_15;
          var_11 = T5[var_11 >> 0x10 & 0xff] & 0xff0000 ^
                       (T5[var_11 >> 0x18] & 0xff000000 | (type_3)(type_5)T5[var_11 & 0xff]) ^
                       T4[var_12 >> 0x18] ^ T5[var_11 >> 8 & 0xff] & 0xff00;
          var_13 = ((type_3)(type_5)T5[var_13 & 0xff] | T5[var_13 >> 0x18] & 0xff000000) ^
                  (T5[var_13 >> 8 & 0xff] & 0xff00 | T5[var_13 >> 0x10 & 0xff] & 0xff0000) ^
                  T4[var_12 >> 0x10 & 0xff];
          var_14 = ((type_3)(type_5)T5[var_14 & 0xff] | T5[var_14 >> 0x18] & 0xff000000) ^
                  (T5[(type_5)(var_14 >> 8)] & 0xff00 | T5[var_14 >> 0x10 & 0xff] & 0xff0000) ^
                  T4[var_12 >> 8 & 0xff];
          var_15 = var_15 + -1;
          var_16 = T5[var_16 >> 0x10 & 0xff] & 0xff0000 ^
                  ((type_3)(type_5)T5[var_16 & 0xff] | T5[var_16 >> 0x18] & 0xff000000) ^ T4[var_12 & 0xff]
                  ^ T5[var_16 >> 8 & 0xff] & 0xff00;
        } while (&var_8 + (var_10 - (type_8)(var_6 - 2U)) != var_15);
        var_23[1] = var_13;
        *var_23 = var_11;
        var_23[2] = var_14;
        var_23[3] = var_16;
        if (var_17 + var_8 == var_18) break;
        var_21 = var_19 >> 0x10;
        var_12 = var_19 >> 8;
        var_22 = auStack_90[0] >> 0x10;
        if (((var_6 != 4) &&
            (uStack_100 = T1[auStack_90[1] >> 0x10 & 0xff] ^ T2[auStack_90[0] >> 8 & 0xff] ^
                          T0[auStack_90[2] >> 0x18] ^ T3[var_19 & 0xff], var_6 != 5)) &&
           (uStack_fc = T1[auStack_90[2] >> 0x10 & 0xff] ^ T2[auStack_90[1] >> 8 & 0xff] ^
                        T0[auStack_90[3] >> 0x18] ^ T3[auStack_90[0] & 0xff], var_6 != 6)) {
          var_11._0_1_ = (type_5)auStack_90[1];
          uStack_c0 = T1[auStack_90[3] >> 0x10 & 0xff] ^ T2[auStack_90[2] >> 8 & 0xff] ^
                      T0[auStack_90[4] >> 0x18] ^ T3[(type_5)var_11];
          if (((var_6 != 7) &&
              (uStack_bc = T3[auStack_90[2] & 0xff] ^
                           T2[auStack_90[3] >> 8 & 0xff] ^ T1[auStack_90[4] >> 0x10 & 0xff] ^
                           T0[auStack_90[5] >> 0x18], var_6 != 8)) &&
             (uStack_b0 = T3[auStack_90[3] & 0xff] ^
                          T2[auStack_90[4] >> 8 & 0xff] ^ T1[auStack_90[5] >> 0x10 & 0xff] ^
                          T0[auStack_90[6] >> 0x18], var_6 == 10)) {
            uStack_ac = T1[auStack_90[6] >> 0x10 & 0xff] ^ T2[auStack_90[5] >> 8 & 0xff] ^
                        T0[bStack_71] ^ T3[auStack_90[4] & 0xff];
          }
        }
        var_19 = T1[var_20 >> 0x10 & 0xff] ^ T0[var_19 >> 0x18] ^
                    T3[(&var_20)[(int)(var_6 - 2U)] & 0xff] ^ T2[uVar7];
        auStack_90[0] =
             T1[var_21 & 0xff] ^ T2[var_20 >> 8 & 0xff] ^ T0[auStack_90[0] >> 0x18] ^
             T3[var_9 & 0xff];
        auStack_90[1] =
             T1[var_22 & 0xff] ^ T2[var_12 & 0xff] ^ T0[auStack_90[1] >> 0x18] ^ T3[var_20 & 0xff]
        ;
        var_20 = T2[(&var_20)[(int)(var_6 - 2U)] >> 8 & 0xff] ^ T1[uVar8] ^
                    T0[var_20 >> 0x18] ^ T3[(type_5)(&var_20)[var_6 + -3]] ^ *var_18;
        if (((var_6 != 4) && (auStack_90[2] = uStack_100, var_6 != 5)) &&
           (((auStack_90[3] = uStack_fc, var_6 != 6 &&
             ((auStack_90[4] = uStack_c0, var_6 != 7 && (auStack_90[5] = uStack_bc, var_6 != 8))))
            && (auStack_90[6] = uStack_b0, var_6 == 10)))) {
          uStack_74 = uStack_ac;
        }
        var_18 = var_18 + 1;
        var_23 = var_23 + 4;
      } while (var_17 + (type_8)var_8 + 1 != var_18);
      var_14 = (var_4->des).ek[2];
      var_24 = var_10 * 0x10 + (long)var_4;
      (var_4->des3).ek[2][0xe] = *(type_4 *)(var_24 + 0x88);
      *(type_4 *)(var_24 + 0x1b8) = var_14;
      var_14 = (var_4->des).ek[3];
      (var_4->des3).ek[2][0xf] = *(type_4 *)((long)var_4 + (long)(int)var_8 * 0x10 + 0xc);
      var_16 = *(type_4 *)((long)var_4 + (long)(int)var_8 * 0x10 + 0x10);
      *(type_4 *)((long)var_4 + (long)(int)var_8 * 0x10 + 0x13c) = var_14;
      var_14 = (var_4->des).ek[4];
      (var_4->des3).ek[2][0x10] = var_16;
      var_16 = *(type_4 *)((long)var_4 + (long)(int)var_8 * 0x10 + 0x14);
      *(type_4 *)((long)var_4 + (long)(int)var_8 * 0x10 + 0x140) = var_14;
      var_14 = (var_4->des).ek[5];
      (var_4->des3).ek[2][0x11] = var_16;
      *(type_4 *)((long)var_4 + (long)(int)var_8 * 0x10 + 0x144) = var_14;
      var_25 = (var_4->des3).ek[2] + 0x12;
      do {
        var_9 = *(type_3 *)(var_24 + 0x78);
        var_26 = var_25 + 4;
        *var_25 = T3[(type_5)T4[var_9 & 0xff]] ^ T0[(type_5)T4[var_9 >> 0x18]] ^
                   T1[(type_5)T4[var_9 >> 0x10 & 0xff]] ^ T2[(type_5)T4[var_9 >> 8 & 0xff]];
        var_9 = *(type_3 *)(var_24 + 0x7c);
        var_25[1] = T3[(type_5)T4[var_9 & 0xff]] ^ T0[(type_5)T4[var_9 >> 0x18]] ^
                     T1[(type_5)T4[var_9 >> 0x10 & 0xff]] ^ T2[(type_5)T4[var_9 >> 8 & 0xff]];
        var_9 = *(type_3 *)(var_24 + 0x80);
        var_25[2] = T3[(type_5)T4[var_9 & 0xff]] ^ T0[(type_5)T4[var_9 >> 0x18]] ^
                     T1[(type_5)T4[var_9 >> 0x10 & 0xff]] ^ T2[(type_5)T4[var_9 >> 8 & 0xff]];
        var_9 = *(type_3 *)(var_24 + 0x84);
        var_25[3] = T0[(type_5)T4[var_9 >> 0x18]] ^ T3[(type_5)T4[var_9 & 0xff]] ^
                     T1[(type_5)T4[var_9 >> 0x10 & 0xff]] ^ T2[(type_5)T4[var_9 >> 8 & 0xff]];
        iStack_a8 = 0;
        var_24 = var_24 + -0x10;
        var_25 = var_26;
      } while (var_26 != (type_4 *)((long)var_4 + (type_8)(var_6 + 6) * 0x10 + 0x158));
    }
    else {
      iStack_a8 = 4;
    }
  }
  else {
    iStack_a8 = 3;
  }
  if (var_27 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_28();
  }
  return iStack_a8;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal))))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (pointer_expression argument: (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: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)) right: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (number_literal))))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) index: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (return_statement (identifier)))))

/* WARNING: Switch with 1 destination removed at 0x00114f10 */

uint MASKED(byte *param_1,uint param_2,uint param_3,int *param_4)

{
  uint uVar1;
  uint uVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  uint uVar6;
  int iVar7;
  ulong uVar8;
  uint uVar9;
  ulong uVar10;
  uint *puVar11;
  uint *puVar12;
  long in_FS_OFFSET;
  uint *puStack_130;
  uint uStack_128;
  uint *puStack_120;
  uint uStack_100;
  uint uStack_fc;
  uint uStack_c0;
  uint uStack_bc;
  uint uStack_b0;
  uint uStack_ac;
  uint uStack_a8;
  uint uStack_a4;
  long lStack_a0;
  uint auStack_98 [4];
  uint uStack_88;
  uint uStack_84;
  uint uStack_80;
  uint uStack_7c;
  uint uStack_78;
  undefined4 uStack_74;
  undefined1 auStack_68 [16];
  undefined1 auStack_58 [16];
  undefined8 uStack_48;
  long lStack_40;
  
  lStack_40 = *(long *)(in_FS_OFFSET + 0x28);
  auStack_68 = (undefined1  [16])0x0;
  auStack_58 = (undefined1  [16])0x0;
  uStack_48 = 0;
  if (param_1 == (byte *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("key != NULL","src/ciphers/anubis.c",0x387);
  }
  if (param_4 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("skey != NULL","src/ciphers/anubis.c",0x388);
  }
  uStack_a8 = param_2 & 3;
  if (((param_2 & 3) == 0) && (param_2 - 0x10 < 0x19)) {
    *param_4 = param_2 << 3;
    iVar7 = (int)(param_2 << 3) >> 5;
    uStack_a4 = iVar7 + 8;
    param_4[1] = uStack_a4;
    if ((param_3 == 0) || (uStack_a4 == param_3)) {
      auStack_98[0] =
           (uint)*param_1 << 0x18 ^ (uint)param_1[3] ^ (uint)param_1[1] << 0x10 ^
           (uint)param_1[2] << 8;
      auStack_98[1] =
           (uint)param_1[4] << 0x18 ^ (uint)param_1[7] ^ (uint)param_1[5] << 0x10 ^
           (uint)param_1[6] << 8;
      auStack_98[2] =
           (uint)param_1[8] << 0x18 ^ (uint)param_1[0xb] ^ (uint)param_1[9] << 0x10 ^
           (uint)param_1[10] << 8;
      auStack_98[3] =
           (uint)param_1[0xc] << 0x18 ^ (uint)param_1[0xf] ^ (uint)param_1[0xd] << 0x10 ^
           (uint)param_1[0xe] << 8;
      if ((iVar7 != 4) &&
         ((((uStack_88 = (uint)param_1[0x10] << 0x18 ^ (uint)param_1[0x13] ^
                         (uint)param_1[0x11] << 0x10 ^ (uint)param_1[0x12] << 8, iVar7 != 5 &&
            (uStack_84 = (uint)param_1[0x14] << 0x18 ^ (uint)param_1[0x17] ^
                         (uint)param_1[0x15] << 0x10 ^ (uint)param_1[0x16] << 8, iVar7 != 6)) &&
           (uStack_80 = (uint)param_1[0x18] << 0x18 ^ (uint)param_1[0x1b] ^
                        (uint)param_1[0x19] << 0x10 ^ (uint)param_1[0x1a] << 8, iVar7 != 7)) &&
          ((uStack_7c = (uint)param_1[0x1c] << 0x18 ^ (uint)param_1[0x1f] ^
                        (uint)param_1[0x1d] << 0x10 ^ (uint)param_1[0x1e] << 8, iVar7 != 8 &&
           (uStack_78 = (uint)param_1[0x20] << 0x18 ^ (uint)param_1[0x23] ^
                        (uint)param_1[0x21] << 0x10 ^ (uint)param_1[0x22] << 8, iVar7 == 10)))))) {
        uStack_74 = (uint)param_1[0x24] << 0x18 ^ (uint)param_1[0x27] ^ (uint)param_1[0x25] << 0x10
                    ^ (uint)param_1[0x26] << 8;
      }
      puStack_130 = &DAT_00193a80;
      lStack_a0 = (long)iVar7;
      puStack_120 = (uint *)(param_4 + 2);
      uStack_ac = 0;
      uStack_100 = 0;
      uStack_fc = 0;
      uStack_c0 = 0;
      uStack_b0 = 0;
      uStack_bc = 0;
      do {
        uVar1 = auStack_98[iVar7 + -1];
        uVar8 = (ulong)(uVar1 >> 8 & 0xff);
        uVar9 = *(uint *)(&DAT_00193ee0 + uVar8 * 4);
        uVar6 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 & 0xff) * 4);
        uStack_128 = *(uint *)(&DAT_00193ee0 + (ulong)(uVar1 >> 0x18) * 4);
        uVar10 = (ulong)(uVar1 >> 0x10 & 0xff);
        uVar4 = *(uint *)(&DAT_00193ee0 + uVar10 * 4);
        puVar11 = (uint *)((long)&lStack_a0 + lStack_a0 * 4);
        do {
          uVar2 = *puVar11;
          uStack_128 = *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x10 & 0xff) * 4) & 0xff0000
                       ^ (*(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 0x18) * 4) & 0xff000000 |
                         (uint)(byte)(&DAT_00193ae0)[(ulong)(uStack_128 & 0xff) * 4]) ^
                         *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x18) * 4) ^
                       *(uint *)(&DAT_00193ae0 + (ulong)(uStack_128 >> 8 & 0xff) * 4) & 0xff00;
          uVar4 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar4 & 0xff) * 4] |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x18) * 4) & 0xff000000) ^
                  (*(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 8 & 0xff) * 4) & 0xff00 |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) & 0xff0000) ^
                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 0x10 & 0xff) * 4);
          uVar9 = ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar9 & 0xff) * 4] |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x18) * 4) & 0xff000000) ^
                  (*(uint *)(&DAT_00193ae0 + (ulong)(byte)(uVar9 >> 8) * 4) & 0xff00 |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) & 0xff0000) ^
                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 >> 8 & 0xff) * 4);
          puVar11 = puVar11 + -1;
          uVar6 = *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x10 & 0xff) * 4) & 0xff0000 ^
                  ((uint)(byte)(&DAT_00193ae0)[(ulong)(uVar6 & 0xff) * 4] |
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 0x18) * 4) & 0xff000000) ^
                  *(uint *)(&DAT_00193ee0 + (ulong)(uVar2 & 0xff) * 4) ^
                  *(uint *)(&DAT_00193ae0 + (ulong)(uVar6 >> 8 & 0xff) * 4) & 0xff00;
        } while (&uStack_a4 + (lStack_a0 - (ulong)(iVar7 - 2U)) != puVar11);
        puStack_120[1] = uVar4;
        *puStack_120 = uStack_128;
        puStack_120[2] = uVar9;
        puStack_120[3] = uVar6;
        if (&DAT_00193a80 + uStack_a4 == puStack_130) break;
        uVar4 = auStack_98[1] >> 0x10;
        uVar9 = auStack_98[1] >> 8;
        uVar6 = auStack_98[2] >> 0x10;
        if (((iVar7 != 4) &&
            (uStack_100 = *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[3] >> 0x10 & 0xff) * 4) ^
                          (&DAT_001946e0)[auStack_98[2] >> 8 & 0xff] ^
                          *(uint *)(&DAT_00194ee0 + (ulong)(uStack_88 >> 0x18) * 4) ^
                          *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[1] & 0xff) * 4), iVar7 != 5))
           && (uStack_fc = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_88 >> 0x10 & 0xff) * 4) ^
                           (&DAT_001946e0)[auStack_98[3] >> 8 & 0xff] ^
                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_84 >> 0x18) * 4) ^
                           *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[2] & 0xff) * 4), iVar7 != 6)
           ) {
          uStack_128._0_1_ = (byte)auStack_98[3];
          uStack_c0 = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_84 >> 0x10 & 0xff) * 4) ^
                      (&DAT_001946e0)[uStack_88 >> 8 & 0xff] ^
                      *(uint *)(&DAT_00194ee0 + (ulong)(uStack_80 >> 0x18) * 4) ^
                      *(uint *)(&DAT_001942e0 + (ulong)(byte)uStack_128 * 4);
          if (((iVar7 != 7) &&
              (uStack_bc = *(uint *)(&DAT_001942e0 + (ulong)(uStack_88 & 0xff) * 4) ^
                           (&DAT_001946e0)[uStack_84 >> 8 & 0xff] ^
                           *(uint *)(&DAT_00194ae0 + (ulong)(uStack_80 >> 0x10 & 0xff) * 4) ^
                           *(uint *)(&DAT_00194ee0 + (ulong)(uStack_7c >> 0x18) * 4), iVar7 != 8))
             && (uStack_b0 = *(uint *)(&DAT_001942e0 + (ulong)(uStack_84 & 0xff) * 4) ^
                             (&DAT_001946e0)[uStack_80 >> 8 & 0xff] ^
                             *(uint *)(&DAT_00194ae0 + (ulong)(uStack_7c >> 0x10 & 0xff) * 4) ^
                             *(uint *)(&DAT_00194ee0 + (ulong)(uStack_78 >> 0x18) * 4), iVar7 == 10)
             ) {
            uStack_ac = *(uint *)(&DAT_00194ae0 + (ulong)(uStack_78 >> 0x10 & 0xff) * 4) ^
                        (&DAT_001946e0)[uStack_7c >> 8 & 0xff] ^
                        *(uint *)(&DAT_00194ee0 + (ulong)uStack_74._3_1_ * 4) ^
                        *(uint *)(&DAT_001942e0 + (ulong)(uStack_80 & 0xff) * 4);
          }
        }
        auStack_98[1] =
             *(uint *)(&DAT_00194ae0 + (ulong)(auStack_98[0] >> 0x10 & 0xff) * 4) ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[1] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[(int)(iVar7 - 2U)] & 0xff) * 4) ^
             (&DAT_001946e0)[uVar8];
        auStack_98[2] =
             *(uint *)(&DAT_00194ae0 + (ulong)(uVar4 & 0xff) * 4) ^
             (&DAT_001946e0)[auStack_98[0] >> 8 & 0xff] ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[2] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(uVar1 & 0xff) * 4);
        auStack_98[3] =
             *(uint *)(&DAT_00194ae0 + (ulong)(uVar6 & 0xff) * 4) ^ (&DAT_001946e0)[uVar9 & 0xff] ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[3] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(auStack_98[0] & 0xff) * 4);
        auStack_98[0] =
             (&DAT_001946e0)[auStack_98[(int)(iVar7 - 2U)] >> 8 & 0xff] ^
             *(uint *)(&DAT_00194ae0 + uVar10 * 4) ^
             *(uint *)(&DAT_00194ee0 + (ulong)(auStack_98[0] >> 0x18) * 4) ^
             *(uint *)(&DAT_001942e0 + (ulong)(byte)auStack_98[iVar7 + -3] * 4) ^ *puStack_130;
        if (((iVar7 != 4) && (uStack_88 = uStack_100, iVar7 != 5)) &&
           (((uStack_84 = uStack_fc, iVar7 != 6 &&
             ((uStack_80 = uStack_c0, iVar7 != 7 && (uStack_7c = uStack_bc, iVar7 != 8)))) &&
            (uStack_78 = uStack_b0, iVar7 == 10)))) {
          uStack_74 = uStack_ac;
        }
        puStack_130 = puStack_130 + 1;
        puStack_120 = puStack_120 + 4;
      } while ((uint *)(&DAT_00193a84 + (ulong)uStack_a4 * 4) != puStack_130);
      piVar5 = param_4 + lStack_a0 * 4;
      param_4[0x4e] = piVar5[0x22];
      piVar5[0x6e] = param_4[2];
      param_4[0x4f] = param_4[(long)(int)uStack_a4 * 4 + 3];
      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 4];
      param_4[(long)(int)uStack_a4 * 4 + 0x4f] = param_4[3];
      param_4[0x50] = iVar3;
      iVar3 = param_4[(long)(int)uStack_a4 * 4 + 5];
      param_4[(long)(int)uStack_a4 * 4 + 0x50] = param_4[4];
      param_4[0x51] = iVar3;
      param_4[(long)(int)uStack_a4 * 4 + 0x51] = param_4[5];
      puVar11 = (uint *)(param_4 + 0x52);
      do {
        uVar1 = piVar5[0x1e];
        puVar12 = puVar11 + 4;
        *puVar11 = *(uint *)(&DAT_001942e0 +
                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                   *(uint *)(&DAT_00194ee0 +
                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                   *(uint *)(&DAT_00194ae0 +
                            (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                   (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        uVar1 = piVar5[0x1f];
        puVar11[1] = *(uint *)(&DAT_001942e0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                     *(uint *)(&DAT_00194ee0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                     *(uint *)(&DAT_00194ae0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        uVar1 = piVar5[0x20];
        puVar11[2] = *(uint *)(&DAT_001942e0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                     *(uint *)(&DAT_00194ee0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                     *(uint *)(&DAT_00194ae0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        uVar1 = piVar5[0x21];
        puVar11[3] = *(uint *)(&DAT_00194ee0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x18) * 4] * 4) ^
                     *(uint *)(&DAT_001942e0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 & 0xff) * 4] * 4) ^
                     *(uint *)(&DAT_00194ae0 +
                              (ulong)(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 0x10 & 0xff) * 4] * 4) ^
                     (&DAT_001946e0)[(byte)(&DAT_00193ee0)[(ulong)(uVar1 >> 8 & 0xff) * 4]];
        piVar5 = piVar5 + -4;
        puVar11 = puVar12;
      } while (puVar12 != (uint *)(param_4 + (ulong)(iVar7 + 6) * 4 + 0x56));
    }
    else {
      uStack_a8 = 4;
    }
  }
  else {
    uStack_a8 = 3;
  }
  if (lStack_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return uStack_a8;
}

