
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void __regparm3 des_encipher(word32 *output,word32 L,word32 R,DESContext *sched)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  
  uVar1 = (L >> 4 ^ R) & 0xf0f0f0f;
  uVar2 = R ^ uVar1;
  uVar3 = L ^ uVar1 << 4;
  uVar1 = (uVar3 >> 0x10 ^ uVar2) & 0xffff;
  uVar2 = uVar1 ^ uVar2;
  uVar3 = uVar3 ^ uVar1 << 0x10;
  uVar1 = (uVar2 >> 2 ^ uVar3) & 0x33333333;
  uVar3 = uVar3 ^ uVar1;
  uVar2 = uVar2 ^ uVar1 * 4;
  uVar1 = (uVar2 >> 8 ^ uVar3) & 0xff00ff;
  uVar3 = uVar1 ^ uVar3;
  uVar2 = uVar2 ^ uVar1 << 8;
  uVar1 = (uVar3 >> 1 ^ uVar2) & 0x55555555;
  uVar2 = uVar2 ^ uVar1;
  uVar3 = uVar3 ^ uVar1 * 2;
  uVar4 = uVar2 << 1 | (uint)((int)uVar2 < 0);
  uVar2 = sched->k0246[0] ^ uVar4;
  uVar5 = uVar4 ^ sched->k1357[0];
  uVar1 = uVar2 >> 4;
  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^
          (uVar3 << 1 | (uint)((int)uVar3 < 0));
  uVar2 = sched->k1357[1] ^ uVar3;
  uVar5 = sched->k0246[1] ^ uVar3;
  uVar1 = uVar5 >> 4;
  uVar4 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |
           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;
  uVar5 = sched->k1357[2] ^ uVar4;
  uVar2 = sched->k0246[2] ^ uVar4;
  uVar1 = uVar2 >> 4;
  uVar3 = (SPboxes[6][uVar1 & 0x3f] |
           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;
  uVar2 = sched->k0246[3] ^ uVar3;
  uVar1 = uVar2 >> 4;
  uVar5 = sched->k1357[3] ^ uVar3;
  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;
  uVar5 = sched->k1357[4] ^ uVar4;
  uVar2 = sched->k0246[4] ^ uVar4;
  uVar1 = uVar2 >> 4;
  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar5 = sched->k1357[5] ^ uVar3;
  uVar2 = sched->k0246[5] ^ uVar3;
  uVar1 = uVar2 >> 4;
  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar5 = sched->k1357[6] ^ uVar4;
  uVar2 = sched->k0246[6] ^ uVar4;
  uVar1 = uVar2 >> 4;
  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar5 = sched->k1357[7] ^ uVar3;
  uVar2 = sched->k0246[7] ^ uVar3;
  uVar1 = uVar2 >> 4;
  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;
  uVar2 = sched->k0246[8] ^ uVar4;
  uVar5 = sched->k1357[8] ^ uVar4;
  uVar1 = uVar2 >> 4;
  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar2 = sched->k0246[9] ^ uVar3;
  uVar5 = sched->k1357[9] ^ uVar3;
  uVar1 = uVar2 >> 4;
  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar5 = sched->k1357[10] ^ uVar4;
  uVar2 = sched->k0246[10] ^ uVar4;
  uVar1 = uVar2 >> 4;
  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar5 = sched->k1357[0xb] ^ uVar3;
  uVar2 = sched->k0246[0xb] ^ uVar3;
  uVar1 = uVar2 >> 4;
  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;
  uVar5 = sched->k1357[0xc] ^ uVar4;
  uVar2 = sched->k0246[0xc] ^ uVar4;
  uVar1 = uVar2 >> 4;
  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;
  uVar2 = sched->k0246[0xd] ^ uVar3;
  uVar5 = uVar3 ^ sched->k1357[0xd];
  uVar1 = uVar2 >> 4;
  uVar4 = (SPboxes[6][uVar1 & 0x3f] |
           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;
  uVar2 = sched->k1357[0xe] ^ uVar4;
  uVar5 = sched->k0246[0xe] ^ uVar4;
  uVar1 = uVar5 >> 4;
  uVar3 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |
           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |
           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;
  uVar5 = sched->k1357[0xf] ^ uVar3;
  uVar2 = sched->k0246[0xf] ^ uVar3;
  uVar1 = uVar2 >> 4;
  uVar3 = uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f;
  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |
                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |
                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);
  uVar2 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;
  uVar1 = (uVar2 >> 1 ^ uVar3) & 0x55555555;
  uVar3 = uVar3 ^ uVar1;
  uVar2 = uVar2 ^ uVar1 * 2;
  uVar1 = (uVar3 >> 8 ^ uVar2) & 0xff00ff;
  uVar2 = uVar2 ^ uVar1;
  uVar3 = uVar3 ^ uVar1 << 8;
  uVar1 = (uVar3 >> 2 ^ uVar2) & 0x33333333;
  uVar3 = uVar3 ^ uVar1 * 4;
  uVar2 = uVar2 ^ uVar1;
  uVar1 = (uVar2 >> 0x10 ^ uVar3) & 0xffff;
  uVar3 = uVar3 ^ uVar1;
  uVar2 = uVar1 << 0x10 ^ uVar2;
  uVar1 = (uVar2 >> 4 ^ uVar3) & 0xf0f0f0f;
  output[1] = uVar1 ^ uVar3;
  *output = uVar2 ^ uVar1 << 4;
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void __regparm3 FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  
  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;
  param_3 = param_3 ^ uVar1;
  param_2 = param_2 ^ uVar1 << 4;
  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;
  param_3 = uVar1 ^ param_3;
  param_2 = param_2 ^ uVar1 << 0x10;
  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;
  param_2 = param_2 ^ uVar1;
  param_3 = param_3 ^ uVar1 * 4;
  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;
  param_2 = uVar1 ^ param_2;
  param_3 = param_3 ^ uVar1 << 8;
  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;
  param_3 = param_3 ^ uVar1;
  param_2 = param_2 ^ uVar1 * 2;
  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);
  uVar5 = uVar4 ^ param_4[0x10];
  uVar1 = (*param_4 ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^
          (param_2 << 1 | (uint)((int)param_2 < 0));
  uVar5 = param_4[0x11] ^ uVar2;
  uVar1 = (param_4[1] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x12] ^ uVar4;
  uVar1 = (param_4[2] ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;
  uVar1 = (param_4[3] ^ uVar2) >> 4;
  uVar5 = param_4[0x13] ^ uVar2;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x14] ^ uVar4;
  uVar1 = (param_4[4] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x15] ^ uVar2;
  uVar1 = (param_4[5] ^ uVar2) >> 4;
  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x16] ^ uVar4;
  uVar1 = (param_4[6] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x17] ^ uVar2;
  uVar1 = (param_4[7] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x18] ^ uVar4;
  uVar1 = (param_4[8] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x19] ^ uVar2;
  uVar1 = (param_4[9] ^ uVar2) >> 4;
  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x1a] ^ uVar4;
  uVar1 = (param_4[10] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x1b] ^ uVar2;
  uVar1 = (param_4[0xb] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x1c] ^ uVar4;
  uVar1 = (param_4[0xc] ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;
  uVar5 = uVar2 ^ param_4[0x1d];
  uVar1 = (param_4[0xd] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x1e] ^ uVar4;
  uVar1 = (param_4[0xe] ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;
  uVar5 = param_4[0x1f] ^ uVar2;
  uVar1 = (param_4[0xf] ^ uVar2) >> 4;
  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;
  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;
  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;
  uVar3 = uVar3 ^ uVar1;
  uVar5 = uVar5 ^ uVar1 * 2;
  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;
  uVar5 = uVar5 ^ uVar1;
  uVar3 = uVar3 ^ uVar1 << 8;
  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;
  uVar3 = uVar3 ^ uVar1 * 4;
  uVar5 = uVar5 ^ uVar1;
  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;
  uVar3 = uVar3 ^ uVar1;
  uVar5 = uVar1 << 0x10 ^ uVar5;
  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;
  param_1[1] = uVar1 ^ uVar3;
  *param_1 = uVar5 ^ uVar1 << 4;
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
CALL 0x0001b35d
ADD ESI,0x38a0c
PUSH EBX
SUB ESP,0xc
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,EDX
MOV EBX,dword ptr [ESP + 0x20]
SHR EAX,0x4
XOR EAX,ECX
AND EAX,0xf0f0f0f
MOV EBP,EAX
XOR ECX,EAX
SHL EBP,0x4
XOR EDX,EBP
MOV EAX,EDX
SHR EAX,0x10
XOR EAX,ECX
MOVZX EAX,AX
MOV EBP,EAX
XOR EAX,ECX
SHL EBP,0x10
XOR EDX,EBP
MOV EBP,EAX
SHR EBP,0x2
XOR EBP,EDX
AND EBP,0x33333333
LEA ECX,[EBP*0x4 + 0x0]
XOR EDX,EBP
XOR EAX,ECX
MOV EBP,EAX
SHR EBP,0x8
XOR EBP,EDX
AND EBP,0xff00ff
MOV ECX,EBP
XOR EBP,EDX
SHL ECX,0x8
XOR EAX,ECX
MOV ECX,EBP
SHR ECX,0x1
XOR ECX,EAX
AND ECX,0x55555555
XOR EAX,ECX
LEA EDX,[ECX + ECX*0x1]
MOV ECX,dword ptr [EBX]
MOV EDI,EAX
XOR EBP,EDX
LEA EAX,[ESI + 0xfffe731c]
ROL EDI,0x1
ROL EBP,0x1
MOV dword ptr [ESP],EDI
XOR ECX,EDI
XOR EDI,dword ptr [EBX + 0x40]
MOV EDX,EDI
MOV ESI,EDI
ROR ECX,0x4
SHR EDX,0x18
SHR ESI,0x10
AND ESI,0x3f
AND EDX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + ESI*0x4 + 0x300]
MOV ESI,EDI
SHR EDI,0x8
AND ESI,0x3f
AND EDI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x700]
MOV ESI,ECX
OR EDX,dword ptr [EAX + EDI*0x4 + 0x500]
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,ECX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,ECX
SHR ECX,0x8
SHR ESI,0x10
AND ECX,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x44]
XOR EDX,EBP
MOV ESI,dword ptr [EBX + 0x4]
XOR ECX,EDX
XOR ESI,EDX
MOV EDI,ECX
SHR ECX,0x18
MOV EBP,EDI
AND ECX,0x3f
ROR ESI,0x4
SHR EBP,0x10
MOV ECX,dword ptr [EAX + ECX*0x4 + 0x100]
AND EBP,0x3f
OR ECX,dword ptr [EAX + EBP*0x4 + 0x300]
MOV EBP,EDI
AND EBP,0x3f
SHR EDI,0x8
OR ECX,dword ptr [EAX + EBP*0x4 + 0x700]
MOV EBP,ESI
AND EDI,0x3f
AND EBP,0x3f
OR ECX,dword ptr [EAX + EDI*0x4 + 0x500]
OR ECX,dword ptr [EAX + EBP*0x4 + 0x600]
MOV EBP,ESI
SHR EBP,0x18
MOV EDI,EBP
MOV EBP,ESI
SHR ESI,0x8
AND EDI,0x3f
SHR EBP,0x10
AND ESI,0x3f
OR ECX,dword ptr [EAX + EDI*0x4]
MOV EDI,EBP
AND EDI,0x3f
OR ECX,dword ptr [EAX + EDI*0x4 + 0x200]
MOV EDI,dword ptr [EBX + 0x48]
OR ECX,dword ptr [EAX + ESI*0x4 + 0x400]
XOR ECX,dword ptr [ESP]
XOR EDI,ECX
MOV ESI,dword ptr [EBX + 0x8]
MOV dword ptr [ESP],ECX
MOV EBP,EDI
SHR EBP,0x18
XOR ESI,ECX
MOV ECX,EBP
MOV EBP,EDI
ROR ESI,0x4
SHR EBP,0x10
AND ECX,0x3f
AND EBP,0x3f
MOV ECX,dword ptr [EAX + ECX*0x4 + 0x100]
OR ECX,dword ptr [EAX + EBP*0x4 + 0x300]
MOV EBP,EDI
SHR EDI,0x8
AND EBP,0x3f
AND EDI,0x3f
OR ECX,dword ptr [EAX + EBP*0x4 + 0x700]
OR ECX,dword ptr [EAX + EDI*0x4 + 0x500]
MOV EDI,ESI
AND EDI,0x3f
MOV EBP,dword ptr [EAX + EDI*0x4 + 0x600]
MOV EDI,ESI
OR EBP,ECX
SHR EDI,0x18
MOV ECX,EDI
MOV EDI,ESI
SHR ESI,0x8
AND ECX,0x3f
SHR EDI,0x10
AND ESI,0x3f
OR EBP,dword ptr [EAX + ECX*0x4]
MOV ECX,EDI
AND ECX,0x3f
OR EBP,dword ptr [EAX + ECX*0x4 + 0x200]
OR EBP,dword ptr [EAX + ESI*0x4 + 0x400]
MOV ESI,dword ptr [EBX + 0xc]
XOR EBP,EDX
XOR ESI,EBP
MOV ECX,ESI
MOV ESI,dword ptr [EBX + 0x4c]
ROR ECX,0x4
XOR ESI,EBP
MOV EDX,ESI
MOV EDI,ESI
SHR EDX,0x18
SHR EDI,0x10
AND EDI,0x3f
AND EDX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
MOV ESI,ECX
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,ECX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,ECX
SHR ECX,0x8
SHR ESI,0x10
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
AND ECX,0x3f
MOV ESI,dword ptr [EBX + 0x50]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
XOR EDX,dword ptr [ESP]
XOR ESI,EDX
MOV ECX,dword ptr [EBX + 0x10]
MOV dword ptr [ESP],EDX
MOV EDI,ESI
SHR EDI,0x18
XOR ECX,EDX
MOV EDX,EDI
MOV EDI,ESI
ROR ECX,0x4
SHR EDI,0x10
AND EDX,0x3f
AND EDI,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
MOV EDI,ECX
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x600]
MOV EDI,ECX
SHR EDI,0x18
MOV ESI,EDI
MOV EDI,ECX
SHR ECX,0x8
AND ESI,0x3f
SHR EDI,0x10
AND ECX,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,EDI
MOV EDI,dword ptr [EBX + 0x54]
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
XOR EBP,EDX
MOV ECX,dword ptr [EBX + 0x14]
XOR EDI,EBP
MOV ESI,EDI
SHR EDI,0x18
XOR ECX,EBP
MOV EDX,EDI
MOV EDI,ESI
ROR ECX,0x4
AND EDX,0x3f
SHR EDI,0x10
AND EDI,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
MOV EDI,ECX
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x600]
MOV EDI,ECX
SHR EDI,0x18
MOV ESI,EDI
MOV EDI,ECX
SHR ECX,0x8
AND ESI,0x3f
SHR EDI,0x10
AND ECX,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,EDI
MOV EDI,dword ptr [ESP]
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
MOV ESI,dword ptr [EBX + 0x58]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x18]
XOR EDI,EDX
XOR ESI,EDI
MOV dword ptr [ESP],EDI
XOR ECX,EDI
MOV EDX,ESI
MOV EDI,ESI
ROR ECX,0x4
SHR EDX,0x18
SHR EDI,0x10
AND EDI,0x3f
AND EDX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
MOV ESI,ECX
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,ECX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,ECX
SHR ECX,0x8
SHR ESI,0x10
AND ECX,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
MOV ESI,dword ptr [EBX + 0x5c]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x1c]
XOR EBP,EDX
XOR ESI,EBP
XOR ECX,EBP
MOV EDX,ESI
MOV EDI,ESI
ROR ECX,0x4
SHR EDX,0x18
SHR EDI,0x10
AND EDI,0x3f
AND EDX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
MOV ESI,ECX
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,ECX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,ECX
SHR ESI,0x10
SHR ECX,0x8
AND ESI,0x3f
AND ECX,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
XOR EDX,dword ptr [ESP]
MOV ECX,dword ptr [EBX + 0x20]
MOV dword ptr [ESP],EDX
MOV ESI,dword ptr [EBX + 0x60]
XOR ECX,EDX
XOR ESI,EDX
ROR ECX,0x4
MOV EDI,ESI
SHR EDI,0x18
MOV EDX,EDI
MOV EDI,ESI
SHR EDI,0x10
AND EDX,0x3f
AND EDI,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
MOV EDI,ECX
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x600]
MOV EDI,ECX
SHR EDI,0x18
MOV ESI,EDI
MOV EDI,ECX
SHR ECX,0x8
AND ESI,0x3f
SHR EDI,0x10
AND ECX,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,EDI
MOV EDI,dword ptr [EBX + 0x64]
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x24]
XOR EBP,EDX
XOR ECX,EBP
XOR EDI,EBP
MOV ESI,EDI
SHR EDI,0x18
MOV EDX,EDI
MOV EDI,ESI
ROR ECX,0x4
SHR EDI,0x10
AND EDX,0x3f
AND EDI,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
MOV EDI,ECX
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x600]
MOV EDI,ECX
SHR EDI,0x18
MOV ESI,EDI
MOV EDI,ECX
SHR ECX,0x8
AND ESI,0x3f
SHR EDI,0x10
AND ECX,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,EDI
MOV EDI,dword ptr [ESP]
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
MOV ESI,dword ptr [EBX + 0x68]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x28]
XOR EDI,EDX
XOR ESI,EDI
XOR ECX,EDI
MOV dword ptr [ESP],EDI
MOV EDX,ESI
MOV EDI,ESI
ROR ECX,0x4
SHR EDX,0x18
SHR EDI,0x10
AND EDX,0x3f
AND EDI,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
MOV ESI,ECX
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,ECX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,ECX
SHR ECX,0x8
SHR ESI,0x10
AND ECX,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x2c]
MOV ESI,dword ptr [EBX + 0x6c]
XOR EBP,EDX
XOR ESI,EBP
XOR ECX,EBP
MOV EDX,ESI
MOV EDI,ESI
ROR ECX,0x4
SHR EDX,0x18
SHR EDI,0x10
AND EDI,0x3f
AND EDX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
MOV ESI,ECX
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,ECX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,ECX
SHR ECX,0x8
SHR ESI,0x10
AND ECX,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
MOV ESI,dword ptr [EBX + 0x70]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
XOR EDX,dword ptr [ESP]
XOR ESI,EDX
MOV ECX,dword ptr [EBX + 0x30]
MOV dword ptr [ESP],EDX
MOV EDI,ESI
SHR EDI,0x18
XOR ECX,EDX
MOV EDX,EDI
MOV EDI,ESI
ROR ECX,0x4
SHR EDI,0x10
AND EDX,0x3f
AND EDI,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
SHR ESI,0x8
AND EDI,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
MOV EDI,ECX
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x600]
MOV EDI,ECX
SHR EDI,0x18
MOV ESI,EDI
MOV EDI,ECX
AND ESI,0x3f
SHR EDI,0x10
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,EDI
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
SHR ECX,0x8
AND ECX,0x3f
OR EDX,dword ptr [EAX + ECX*0x4 + 0x400]
MOV ECX,dword ptr [EBX + 0x34]
MOV EDI,EDX
XOR EDI,EBP
XOR ECX,EDI
MOV dword ptr [ESP + 0x4],EDI
XOR EDI,dword ptr [EBX + 0x74]
MOV ESI,ECX
MOV ECX,EDI
SHR ECX,0x18
ROR ESI,0x4
MOV EDX,ECX
MOV ECX,EDI
SHR ECX,0x10
AND EDX,0x3f
AND ECX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + ECX*0x4 + 0x300]
MOV ECX,EDI
SHR EDI,0x8
AND ECX,0x3f
AND EDI,0x3f
OR EDX,dword ptr [EAX + ECX*0x4 + 0x700]
MOV ECX,ESI
OR EDX,dword ptr [EAX + EDI*0x4 + 0x500]
AND ECX,0x3f
MOV EBP,dword ptr [EAX + ECX*0x4 + 0x600]
OR EBP,EDX
MOV ECX,EBP
MOV EBP,ESI
SHR EBP,0x18
MOV EDX,EBP
MOV EBP,ESI
SHR ESI,0x8
AND EDX,0x3f
SHR EBP,0x10
AND ESI,0x3f
OR ECX,dword ptr [EAX + EDX*0x4]
MOV EDX,EBP
AND EDX,0x3f
OR ECX,dword ptr [EAX + EDX*0x4 + 0x200]
OR ECX,dword ptr [EAX + ESI*0x4 + 0x400]
XOR ECX,dword ptr [ESP]
MOV EDX,dword ptr [EBX + 0x78]
MOV ESI,dword ptr [EBX + 0x38]
XOR EDX,ECX
MOV EDI,EDX
XOR ESI,ECX
MOV EBP,EDI
ROR ESI,0x4
SHR EDX,0x18
SHR EBP,0x10
AND EBP,0x3f
AND EDX,0x3f
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EBP*0x4 + 0x300]
MOV EBP,EDI
SHR EDI,0x8
AND EBP,0x3f
AND EDI,0x3f
OR EDX,dword ptr [EAX + EBP*0x4 + 0x700]
MOV EBP,ESI
OR EDX,dword ptr [EAX + EDI*0x4 + 0x500]
AND EBP,0x3f
OR EDX,dword ptr [EAX + EBP*0x4 + 0x600]
MOV EBP,EDX
MOV EDX,ESI
SHR EDX,0x18
AND EDX,0x3f
OR EBP,dword ptr [EAX + EDX*0x4]
MOV EDX,ESI
SHR ESI,0x8
SHR EDX,0x10
AND ESI,0x3f
AND EDX,0x3f
OR EBP,dword ptr [EAX + EDX*0x4 + 0x200]
MOV EDX,dword ptr [EBX + 0x3c]
OR EBP,dword ptr [EAX + ESI*0x4 + 0x400]
MOV ESI,dword ptr [EBX + 0x7c]
XOR EBP,dword ptr [ESP + 0x4]
XOR ESI,EBP
XOR EDX,EBP
MOV EBX,EDX
MOV EDI,ESI
MOV EDX,ESI
SHR EDX,0x18
SHR EDI,0x10
AND EDI,0x3f
AND EDX,0x3f
ROR EBX,0x4
MOV EDX,dword ptr [EAX + EDX*0x4 + 0x100]
OR EDX,dword ptr [EAX + EDI*0x4 + 0x300]
MOV EDI,ESI
AND EDI,0x3f
OR EDX,dword ptr [EAX + EDI*0x4 + 0x700]
SHR ESI,0x8
AND ESI,0x3f
ROR EBP,0x1
OR EDX,dword ptr [EAX + ESI*0x4 + 0x500]
MOV ESI,EBX
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x600]
MOV ESI,EBX
SHR ESI,0x18
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4]
MOV ESI,EBX
SHR EBX,0x8
SHR ESI,0x10
AND EBX,0x3f
AND ESI,0x3f
OR EDX,dword ptr [EAX + ESI*0x4 + 0x200]
OR EDX,dword ptr [EAX + EBX*0x4 + 0x400]
XOR ECX,EDX
MOV EBX,dword ptr [ESP + 0x8]
ROR ECX,0x1
MOV EAX,ECX
SHR EAX,0x1
XOR EAX,EBP
AND EAX,0x55555555
XOR EBP,EAX
LEA EDX,[EAX + EAX*0x1]
XOR ECX,EDX
MOV EDX,EBP
SHR EDX,0x8
XOR EDX,ECX
AND EDX,0xff00ff
MOV EAX,EDX
XOR ECX,EDX
SHL EAX,0x8
XOR EBP,EAX
MOV EDX,EBP
SHR EDX,0x2
XOR EDX,ECX
AND EDX,0x33333333
LEA EAX,[EDX*0x4 + 0x0]
XOR EBP,EAX
XOR ECX,EDX
MOV EAX,ECX
SHR EAX,0x10
MOV EDX,EAX
XOR EDX,EBP
MOVZX EAX,DX
MOV EDX,EAX
XOR EBP,EAX
SHL EDX,0x10
XOR EDX,ECX
MOV EAX,EDX
SHR EAX,0x4
XOR EAX,EBP
AND EAX,0xf0f0f0f
MOV ECX,EAX
XOR EAX,EBP
SHL ECX,0x4
MOV dword ptr [EBX + 0x4],EAX
XOR EDX,ECX
MOV dword ptr [EBX],EDX
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nvoid __regparm3 FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)" identifier (parameter_list "(uint *param_1,uint param_2,uint param_3,uint *param_4)" ( (parameter_declaration "uint *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 "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f" identifier = (binary_expression "(param_2 >> 4 ^ param_3) & 0xf0f0f0f" (parenthesized_expression "(param_2 >> 4 ^ param_3)" ( (binary_expression "param_2 >> 4 ^ param_3" (binary_expression "param_2 >> 4" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_3 = param_3 ^ uVar1;" (assignment_expression "param_3 = param_3 ^ uVar1" identifier = (binary_expression "param_3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "param_2 = param_2 ^ uVar1 << 4;" (assignment_expression "param_2 = param_2 ^ uVar1 << 4" identifier = (binary_expression "param_2 ^ uVar1 << 4" identifier ^ (binary_expression "uVar1 << 4" identifier << number_literal))) ;) (expression_statement "uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;" (assignment_expression "uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff" identifier = (binary_expression "(param_2 >> 0x10 ^ param_3) & 0xffff" (parenthesized_expression "(param_2 >> 0x10 ^ param_3)" ( (binary_expression "param_2 >> 0x10 ^ param_3" (binary_expression "param_2 >> 0x10" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_3 = uVar1 ^ param_3;" (assignment_expression "param_3 = uVar1 ^ param_3" identifier = (binary_expression "uVar1 ^ param_3" identifier ^ identifier)) ;) (expression_statement "param_2 = param_2 ^ uVar1 << 0x10;" (assignment_expression "param_2 = param_2 ^ uVar1 << 0x10" identifier = (binary_expression "param_2 ^ uVar1 << 0x10" identifier ^ (binary_expression "uVar1 << 0x10" identifier << number_literal))) ;) (expression_statement "uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;" (assignment_expression "uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333" identifier = (binary_expression "(param_3 >> 2 ^ param_2) & 0x33333333" (parenthesized_expression "(param_3 >> 2 ^ param_2)" ( (binary_expression "param_3 >> 2 ^ param_2" (binary_expression "param_3 >> 2" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_2 = param_2 ^ uVar1;" (assignment_expression "param_2 = param_2 ^ uVar1" identifier = (binary_expression "param_2 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "param_3 = param_3 ^ uVar1 * 4;" (assignment_expression "param_3 = param_3 ^ uVar1 * 4" identifier = (binary_expression "param_3 ^ uVar1 * 4" identifier ^ (binary_expression "uVar1 * 4" identifier * number_literal))) ;) (expression_statement "uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;" (assignment_expression "uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff" identifier = (binary_expression "(param_3 >> 8 ^ param_2) & 0xff00ff" (parenthesized_expression "(param_3 >> 8 ^ param_2)" ( (binary_expression "param_3 >> 8 ^ param_2" (binary_expression "param_3 >> 8" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_2 = uVar1 ^ param_2;" (assignment_expression "param_2 = uVar1 ^ param_2" identifier = (binary_expression "uVar1 ^ param_2" identifier ^ identifier)) ;) (expression_statement "param_3 = param_3 ^ uVar1 << 8;" (assignment_expression "param_3 = param_3 ^ uVar1 << 8" identifier = (binary_expression "param_3 ^ uVar1 << 8" identifier ^ (binary_expression "uVar1 << 8" identifier << number_literal))) ;) (expression_statement "uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;" (assignment_expression "uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555" identifier = (binary_expression "(param_2 >> 1 ^ param_3) & 0x55555555" (parenthesized_expression "(param_2 >> 1 ^ param_3)" ( (binary_expression "param_2 >> 1 ^ param_3" (binary_expression "param_2 >> 1" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_3 = param_3 ^ uVar1;" (assignment_expression "param_3 = param_3 ^ uVar1" identifier = (binary_expression "param_3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "param_2 = param_2 ^ uVar1 * 2;" (assignment_expression "param_2 = param_2 ^ uVar1 * 2" identifier = (binary_expression "param_2 ^ uVar1 * 2" identifier ^ (binary_expression "uVar1 * 2" identifier * number_literal))) ;) (expression_statement "uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);" (assignment_expression "uVar4 = param_3 << 1 | (uint)((int)param_3 < 0)" identifier = (binary_expression "param_3 << 1 | (uint)((int)param_3 < 0)" (binary_expression "param_3 << 1" identifier << number_literal) | (call_expression "(uint)((int)param_3 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_3 < 0)" ( (binary_expression "(int)param_3 < 0" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;) (expression_statement "uVar5 = uVar4 ^ param_4[0x10];" (assignment_expression "uVar5 = uVar4 ^ param_4[0x10]" identifier = (binary_expression "uVar4 ^ param_4[0x10]" identifier ^ (subscript_expression "param_4[0x10]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (*param_4 ^ uVar4) >> 4;" (assignment_expression "uVar1 = (*param_4 ^ uVar4) >> 4" identifier = (binary_expression "(*param_4 ^ uVar4) >> 4" (parenthesized_expression "(*param_4 ^ uVar4)" ( (binary_expression "*param_4 ^ uVar4" (pointer_expression "*param_4" * identifier) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0))" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0))" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (*param_4 ^ uVar4) << 0x1c" identifier | (binary_expression "(*param_4 ^ uVar4) << 0x1c" (parenthesized_expression "(*param_4 ^ uVar4)" ( (binary_expression "*param_4 ^ uVar4" (pointer_expression "*param_4" * identifier) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ (parenthesized_expression "(param_2 << 1 | (uint)((int)param_2 < 0))" ( (binary_expression "param_2 << 1 | (uint)((int)param_2 < 0)" (binary_expression "param_2 << 1" identifier << number_literal) | (call_expression "(uint)((int)param_2 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_2 < 0)" ( (binary_expression "(int)param_2 < 0" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )))) )))) ;) (expression_statement "uVar5 = param_4[0x11] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x11] ^ uVar2" identifier = (binary_expression "param_4[0x11] ^ uVar2" (subscript_expression "param_4[0x11]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[1] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[1] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[1] ^ uVar2) >> 4" (parenthesized_expression "(param_4[1] ^ uVar2)" ( (binary_expression "param_4[1] ^ uVar2" (subscript_expression "param_4[1]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[1] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[1] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[1] ^ uVar2)" ( (binary_expression "param_4[1] ^ uVar2" (subscript_expression "param_4[1]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x12] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x12] ^ uVar4" identifier = (binary_expression "param_4[0x12] ^ uVar4" (subscript_expression "param_4[0x12]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[2] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[2] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[2] ^ uVar4) >> 4" (parenthesized_expression "(param_4[2] ^ uVar4)" ( (binary_expression "param_4[2] ^ uVar4" (subscript_expression "param_4[2]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" identifier = (binary_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[2] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[2] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[2] ^ uVar4)" ( (binary_expression "param_4[2] ^ uVar4" (subscript_expression "param_4[2]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[3] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[3] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[3] ^ uVar2) >> 4" (parenthesized_expression "(param_4[3] ^ uVar2)" ( (binary_expression "param_4[3] ^ uVar2" (subscript_expression "param_4[3]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar5 = param_4[0x13] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x13] ^ uVar2" identifier = (binary_expression "param_4[0x13] ^ uVar2" (subscript_expression "param_4[0x13]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[3] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[3] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[3] ^ uVar2)" ( (binary_expression "param_4[3] ^ uVar2" (subscript_expression "param_4[3]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x14] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x14] ^ uVar4" identifier = (binary_expression "param_4[0x14] ^ uVar4" (subscript_expression "param_4[0x14]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[4] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[4] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[4] ^ uVar4) >> 4" (parenthesized_expression "(param_4[4] ^ uVar4)" ( (binary_expression "param_4[4] ^ uVar4" (subscript_expression "param_4[4]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[4] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[4] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[4] ^ uVar4)" ( (binary_expression "param_4[4] ^ uVar4" (subscript_expression "param_4[4]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x15] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x15] ^ uVar2" identifier = (binary_expression "param_4[0x15] ^ uVar2" (subscript_expression "param_4[0x15]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[5] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[5] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[5] ^ uVar2) >> 4" (parenthesized_expression "(param_4[5] ^ uVar2)" ( (binary_expression "param_4[5] ^ uVar2" (subscript_expression "param_4[5]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[5] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[5] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[5] ^ uVar2)" ( (binary_expression "param_4[5] ^ uVar2" (subscript_expression "param_4[5]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x16] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x16] ^ uVar4" identifier = (binary_expression "param_4[0x16] ^ uVar4" (subscript_expression "param_4[0x16]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[6] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[6] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[6] ^ uVar4) >> 4" (parenthesized_expression "(param_4[6] ^ uVar4)" ( (binary_expression "param_4[6] ^ uVar4" (subscript_expression "param_4[6]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[6] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[6] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[6] ^ uVar4)" ( (binary_expression "param_4[6] ^ uVar4" (subscript_expression "param_4[6]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x17] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x17] ^ uVar2" identifier = (binary_expression "param_4[0x17] ^ uVar2" (subscript_expression "param_4[0x17]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[7] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[7] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[7] ^ uVar2) >> 4" (parenthesized_expression "(param_4[7] ^ uVar2)" ( (binary_expression "param_4[7] ^ uVar2" (subscript_expression "param_4[7]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[7] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[7] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[7] ^ uVar2)" ( (binary_expression "param_4[7] ^ uVar2" (subscript_expression "param_4[7]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x18] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x18] ^ uVar4" identifier = (binary_expression "param_4[0x18] ^ uVar4" (subscript_expression "param_4[0x18]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[8] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[8] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[8] ^ uVar4) >> 4" (parenthesized_expression "(param_4[8] ^ uVar4)" ( (binary_expression "param_4[8] ^ uVar4" (subscript_expression "param_4[8]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[8] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[8] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[8] ^ uVar4)" ( (binary_expression "param_4[8] ^ uVar4" (subscript_expression "param_4[8]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x19] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x19] ^ uVar2" identifier = (binary_expression "param_4[0x19] ^ uVar2" (subscript_expression "param_4[0x19]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[9] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[9] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[9] ^ uVar2) >> 4" (parenthesized_expression "(param_4[9] ^ uVar2)" ( (binary_expression "param_4[9] ^ uVar2" (subscript_expression "param_4[9]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[9] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[9] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[9] ^ uVar2)" ( (binary_expression "param_4[9] ^ uVar2" (subscript_expression "param_4[9]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x1a] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1a] ^ uVar4" identifier = (binary_expression "param_4[0x1a] ^ uVar4" (subscript_expression "param_4[0x1a]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[10] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[10] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[10] ^ uVar4) >> 4" (parenthesized_expression "(param_4[10] ^ uVar4)" ( (binary_expression "param_4[10] ^ uVar4" (subscript_expression "param_4[10]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[10] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[10] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[10] ^ uVar4)" ( (binary_expression "param_4[10] ^ uVar4" (subscript_expression "param_4[10]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x1b] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x1b] ^ uVar2" identifier = (binary_expression "param_4[0x1b] ^ uVar2" (subscript_expression "param_4[0x1b]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xb] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xb] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[0xb] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xb] ^ uVar2)" ( (binary_expression "param_4[0xb] ^ uVar2" (subscript_expression "param_4[0xb]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xb] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[0xb] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xb] ^ uVar2)" ( (binary_expression "param_4[0xb] ^ uVar2" (subscript_expression "param_4[0xb]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x1c] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1c] ^ uVar4" identifier = (binary_expression "param_4[0x1c] ^ uVar4" (subscript_expression "param_4[0x1c]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xc] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[0xc] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[0xc] ^ uVar4) >> 4" (parenthesized_expression "(param_4[0xc] ^ uVar4)" ( (binary_expression "param_4[0xc] ^ uVar4" (subscript_expression "param_4[0xc]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xc] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[0xc] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[0xc] ^ uVar4)" ( (binary_expression "param_4[0xc] ^ uVar4" (subscript_expression "param_4[0xc]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = uVar2 ^ param_4[0x1d];" (assignment_expression "uVar5 = uVar2 ^ param_4[0x1d]" identifier = (binary_expression "uVar2 ^ param_4[0x1d]" identifier ^ (subscript_expression "param_4[0x1d]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (param_4[0xd] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xd] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[0xd] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xd] ^ uVar2)" ( (binary_expression "param_4[0xd] ^ uVar2" (subscript_expression "param_4[0xd]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xd] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[0xd] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xd] ^ uVar2)" ( (binary_expression "param_4[0xd] ^ uVar2" (subscript_expression "param_4[0xd]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x1e] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1e] ^ uVar4" identifier = (binary_expression "param_4[0x1e] ^ uVar4" (subscript_expression "param_4[0x1e]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xe] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[0xe] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[0xe] ^ uVar4) >> 4" (parenthesized_expression "(param_4[0xe] ^ uVar4)" ( (binary_expression "param_4[0xe] ^ uVar4" (subscript_expression "param_4[0xe]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xe] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[0xe] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[0xe] ^ uVar4)" ( (binary_expression "param_4[0xe] ^ uVar4" (subscript_expression "param_4[0xe]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x1f] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x1f] ^ uVar2" identifier = (binary_expression "param_4[0x1f] ^ uVar2" (subscript_expression "param_4[0x1f]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xf] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xf] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[0xf] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xf] ^ uVar2)" ( (binary_expression "param_4[0xf] ^ uVar2" (subscript_expression "param_4[0xf]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;" (assignment_expression "uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f" identifier = (binary_expression "uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f" (binary_expression "uVar2 >> 1" identifier >> number_literal) | (binary_expression "(uint)((uVar2 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar2 & 1) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar2 & 1) != 0)" ( (binary_expression "(uVar2 & 1) != 0" (parenthesized_expression "(uVar2 & 1)" ( (binary_expression "uVar2 & 1" identifier & number_literal) )) != number_literal) ))) << number_literal))) ;) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xf] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[0xf] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xf] ^ uVar2)" ( (binary_expression "param_4[0xf] ^ uVar2" (subscript_expression "param_4[0xf]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;" (assignment_expression "uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" identifier = (binary_expression "uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" (binary_expression "uVar4 >> 1" identifier >> number_literal) | (binary_expression "(uint)((uVar4 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar4 & 1) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 & 1) != 0)" ( (binary_expression "(uVar4 & 1) != 0" (parenthesized_expression "(uVar4 & 1)" ( (binary_expression "uVar4 & 1" identifier & number_literal) )) != number_literal) ))) << number_literal))) ;) (expression_statement "uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;" (assignment_expression "uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555" identifier = (binary_expression "(uVar5 >> 1 ^ uVar3) & 0x55555555" (parenthesized_expression "(uVar5 >> 1 ^ uVar3)" ( (binary_expression "uVar5 >> 1 ^ uVar3" (binary_expression "uVar5 >> 1" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar5 ^ uVar1 * 2;" (assignment_expression "uVar5 = uVar5 ^ uVar1 * 2" identifier = (binary_expression "uVar5 ^ uVar1 * 2" identifier ^ (binary_expression "uVar1 * 2" identifier * number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;" (assignment_expression "uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff" identifier = (binary_expression "(uVar3 >> 8 ^ uVar5) & 0xff00ff" (parenthesized_expression "(uVar3 >> 8 ^ uVar5)" ( (binary_expression "uVar3 >> 8 ^ uVar5" (binary_expression "uVar3 >> 8" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar5 = uVar5 ^ uVar1;" (assignment_expression "uVar5 = uVar5 ^ uVar1" identifier = (binary_expression "uVar5 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 << 8;" (assignment_expression "uVar3 = uVar3 ^ uVar1 << 8" identifier = (binary_expression "uVar3 ^ uVar1 << 8" identifier ^ (binary_expression "uVar1 << 8" identifier << number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;" (assignment_expression "uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333" identifier = (binary_expression "(uVar3 >> 2 ^ uVar5) & 0x33333333" (parenthesized_expression "(uVar3 >> 2 ^ uVar5)" ( (binary_expression "uVar3 >> 2 ^ uVar5" (binary_expression "uVar3 >> 2" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 * 4;" (assignment_expression "uVar3 = uVar3 ^ uVar1 * 4" identifier = (binary_expression "uVar3 ^ uVar1 * 4" identifier ^ (binary_expression "uVar1 * 4" identifier * number_literal))) ;) (expression_statement "uVar5 = uVar5 ^ uVar1;" (assignment_expression "uVar5 = uVar5 ^ uVar1" identifier = (binary_expression "uVar5 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;" (assignment_expression "uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff" identifier = (binary_expression "(uVar5 >> 0x10 ^ uVar3) & 0xffff" (parenthesized_expression "(uVar5 >> 0x10 ^ uVar3)" ( (binary_expression "uVar5 >> 0x10 ^ uVar3" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar1 << 0x10 ^ uVar5;" (assignment_expression "uVar5 = uVar1 << 0x10 ^ uVar5" identifier = (binary_expression "uVar1 << 0x10 ^ uVar5" (binary_expression "uVar1 << 0x10" identifier << number_literal) ^ identifier)) ;) (expression_statement "uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f" identifier = (binary_expression "(uVar5 >> 4 ^ uVar3) & 0xf0f0f0f" (parenthesized_expression "(uVar5 >> 4 ^ uVar3)" ( (binary_expression "uVar5 >> 4 ^ uVar3" (binary_expression "uVar5 >> 4" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_1[1] = uVar1 ^ uVar3;" (assignment_expression "param_1[1] = uVar1 ^ uVar3" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "uVar1 ^ uVar3" identifier ^ identifier)) ;) (expression_statement "*param_1 = uVar5 ^ uVar1 << 4;" (assignment_expression "*param_1 = uVar5 ^ uVar1 << 4" (pointer_expression "*param_1" * identifier) = (binary_expression "uVar5 ^ uVar1 << 4" identifier ^ (binary_expression "uVar1 << 4" identifier << number_literal))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nvoid __regparm3 des_encipher(word32 *output,word32 L,word32 R,DESContext *sched)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (L >> 4 ^ R) & 0xf0f0f0f;\n  uVar2 = R ^ uVar1;\n  uVar3 = L ^ uVar1 << 4;\n  uVar1 = (uVar3 >> 0x10 ^ uVar2) & 0xffff;\n  uVar2 = uVar1 ^ uVar2;\n  uVar3 = uVar3 ^ uVar1 << 0x10;\n  uVar1 = (uVar2 >> 2 ^ uVar3) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar2 ^ uVar1 * 4;\n  uVar1 = (uVar2 >> 8 ^ uVar3) & 0xff00ff;\n  uVar3 = uVar1 ^ uVar3;\n  uVar2 = uVar2 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 1 ^ uVar2) & 0x55555555;\n  uVar2 = uVar2 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 * 2;\n  uVar4 = uVar2 << 1 | (uint)((int)uVar2 < 0);\n  uVar2 = sched->k0246[0] ^ uVar4;\n  uVar5 = uVar4 ^ sched->k1357[0];\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^\n          (uVar3 << 1 | (uint)((int)uVar3 < 0));\n  uVar2 = sched->k1357[1] ^ uVar3;\n  uVar5 = sched->k0246[1] ^ uVar3;\n  uVar1 = uVar5 >> 4;\n  uVar4 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[2] ^ uVar4;\n  uVar2 = sched->k0246[2] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar2 = sched->k0246[3] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar5 = sched->k1357[3] ^ uVar3;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[4] ^ uVar4;\n  uVar2 = sched->k0246[4] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[5] ^ uVar3;\n  uVar2 = sched->k0246[5] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[6] ^ uVar4;\n  uVar2 = sched->k0246[6] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[7] ^ uVar3;\n  uVar2 = sched->k0246[7] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar2 = sched->k0246[8] ^ uVar4;\n  uVar5 = sched->k1357[8] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar2 = sched->k0246[9] ^ uVar3;\n  uVar5 = sched->k1357[9] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[10] ^ uVar4;\n  uVar2 = sched->k0246[10] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[0xb] ^ uVar3;\n  uVar2 = sched->k0246[0xb] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[0xc] ^ uVar4;\n  uVar2 = sched->k0246[0xc] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar2 = sched->k0246[0xd] ^ uVar3;\n  uVar5 = uVar3 ^ sched->k1357[0xd];\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar2 = sched->k1357[0xe] ^ uVar4;\n  uVar5 = sched->k0246[0xe] ^ uVar4;\n  uVar1 = uVar5 >> 4;\n  uVar3 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar5 = sched->k1357[0xf] ^ uVar3;\n  uVar2 = sched->k0246[0xf] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar2 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar2 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar2 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar2) & 0xff00ff;\n  uVar2 = uVar2 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar2) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar2 = uVar2 ^ uVar1;\n  uVar1 = (uVar2 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar1 << 0x10 ^ uVar2;\n  uVar1 = (uVar2 >> 4 ^ uVar3) & 0xf0f0f0f;\n  output[1] = uVar1 ^ uVar3;\n  *output = uVar2 ^ uVar1 << 4;\n  return;\n}\n\n" comment (function_definition "void __regparm3 des_encipher(word32 *output,word32 L,word32 R,DESContext *sched)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (L >> 4 ^ R) & 0xf0f0f0f;\n  uVar2 = R ^ uVar1;\n  uVar3 = L ^ uVar1 << 4;\n  uVar1 = (uVar3 >> 0x10 ^ uVar2) & 0xffff;\n  uVar2 = uVar1 ^ uVar2;\n  uVar3 = uVar3 ^ uVar1 << 0x10;\n  uVar1 = (uVar2 >> 2 ^ uVar3) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar2 ^ uVar1 * 4;\n  uVar1 = (uVar2 >> 8 ^ uVar3) & 0xff00ff;\n  uVar3 = uVar1 ^ uVar3;\n  uVar2 = uVar2 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 1 ^ uVar2) & 0x55555555;\n  uVar2 = uVar2 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 * 2;\n  uVar4 = uVar2 << 1 | (uint)((int)uVar2 < 0);\n  uVar2 = sched->k0246[0] ^ uVar4;\n  uVar5 = uVar4 ^ sched->k1357[0];\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^\n          (uVar3 << 1 | (uint)((int)uVar3 < 0));\n  uVar2 = sched->k1357[1] ^ uVar3;\n  uVar5 = sched->k0246[1] ^ uVar3;\n  uVar1 = uVar5 >> 4;\n  uVar4 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[2] ^ uVar4;\n  uVar2 = sched->k0246[2] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar2 = sched->k0246[3] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar5 = sched->k1357[3] ^ uVar3;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[4] ^ uVar4;\n  uVar2 = sched->k0246[4] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[5] ^ uVar3;\n  uVar2 = sched->k0246[5] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[6] ^ uVar4;\n  uVar2 = sched->k0246[6] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[7] ^ uVar3;\n  uVar2 = sched->k0246[7] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar2 = sched->k0246[8] ^ uVar4;\n  uVar5 = sched->k1357[8] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar2 = sched->k0246[9] ^ uVar3;\n  uVar5 = sched->k1357[9] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[10] ^ uVar4;\n  uVar2 = sched->k0246[10] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[0xb] ^ uVar3;\n  uVar2 = sched->k0246[0xb] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[0xc] ^ uVar4;\n  uVar2 = sched->k0246[0xc] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar2 = sched->k0246[0xd] ^ uVar3;\n  uVar5 = uVar3 ^ sched->k1357[0xd];\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar2 = sched->k1357[0xe] ^ uVar4;\n  uVar5 = sched->k0246[0xe] ^ uVar4;\n  uVar1 = uVar5 >> 4;\n  uVar3 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar5 = sched->k1357[0xf] ^ uVar3;\n  uVar2 = sched->k0246[0xf] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar2 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar2 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar2 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar2) & 0xff00ff;\n  uVar2 = uVar2 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar2) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar2 = uVar2 ^ uVar1;\n  uVar1 = (uVar2 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar1 << 0x10 ^ uVar2;\n  uVar1 = (uVar2 >> 4 ^ uVar3) & 0xf0f0f0f;\n  output[1] = uVar1 ^ uVar3;\n  *output = uVar2 ^ uVar1 << 4;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "des_encipher(word32 *output,word32 L,word32 R,DESContext *sched)" identifier (parameter_list "(word32 *output,word32 L,word32 R,DESContext *sched)" ( (parameter_declaration "word32 *output" type_identifier (pointer_declarator "*output" * identifier)) , (parameter_declaration "word32 L" type_identifier identifier) , (parameter_declaration "word32 R" type_identifier identifier) , (parameter_declaration "DESContext *sched" type_identifier (pointer_declarator "*sched" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (L >> 4 ^ R) & 0xf0f0f0f;\n  uVar2 = R ^ uVar1;\n  uVar3 = L ^ uVar1 << 4;\n  uVar1 = (uVar3 >> 0x10 ^ uVar2) & 0xffff;\n  uVar2 = uVar1 ^ uVar2;\n  uVar3 = uVar3 ^ uVar1 << 0x10;\n  uVar1 = (uVar2 >> 2 ^ uVar3) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar2 ^ uVar1 * 4;\n  uVar1 = (uVar2 >> 8 ^ uVar3) & 0xff00ff;\n  uVar3 = uVar1 ^ uVar3;\n  uVar2 = uVar2 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 1 ^ uVar2) & 0x55555555;\n  uVar2 = uVar2 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 * 2;\n  uVar4 = uVar2 << 1 | (uint)((int)uVar2 < 0);\n  uVar2 = sched->k0246[0] ^ uVar4;\n  uVar5 = uVar4 ^ sched->k1357[0];\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^\n          (uVar3 << 1 | (uint)((int)uVar3 < 0));\n  uVar2 = sched->k1357[1] ^ uVar3;\n  uVar5 = sched->k0246[1] ^ uVar3;\n  uVar1 = uVar5 >> 4;\n  uVar4 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[2] ^ uVar4;\n  uVar2 = sched->k0246[2] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar2 = sched->k0246[3] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar5 = sched->k1357[3] ^ uVar3;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[4] ^ uVar4;\n  uVar2 = sched->k0246[4] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[5] ^ uVar3;\n  uVar2 = sched->k0246[5] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[6] ^ uVar4;\n  uVar2 = sched->k0246[6] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[7] ^ uVar3;\n  uVar2 = sched->k0246[7] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar2 = sched->k0246[8] ^ uVar4;\n  uVar5 = sched->k1357[8] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar2 = sched->k0246[9] ^ uVar3;\n  uVar5 = sched->k1357[9] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[10] ^ uVar4;\n  uVar2 = sched->k0246[10] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar5 = sched->k1357[0xb] ^ uVar3;\n  uVar2 = sched->k0246[0xb] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar5 = sched->k1357[0xc] ^ uVar4;\n  uVar2 = sched->k0246[0xc] ^ uVar4;\n  uVar1 = uVar2 >> 4;\n  uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar2 = sched->k0246[0xd] ^ uVar3;\n  uVar5 = uVar3 ^ sched->k1357[0xd];\n  uVar1 = uVar2 >> 4;\n  uVar4 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;\n  uVar2 = sched->k1357[0xe] ^ uVar4;\n  uVar5 = sched->k0246[0xe] ^ uVar4;\n  uVar1 = uVar5 >> 4;\n  uVar3 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;\n  uVar5 = sched->k1357[0xf] ^ uVar3;\n  uVar2 = sched->k0246[0xf] ^ uVar3;\n  uVar1 = uVar2 >> 4;\n  uVar3 = uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);\n  uVar2 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar2 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar2 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar2) & 0xff00ff;\n  uVar2 = uVar2 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar2) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar2 = uVar2 ^ uVar1;\n  uVar1 = (uVar2 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar2 = uVar1 << 0x10 ^ uVar2;\n  uVar1 = (uVar2 >> 4 ^ uVar3) & 0xf0f0f0f;\n  output[1] = uVar1 ^ uVar3;\n  *output = uVar2 ^ uVar1 << 4;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "uVar1 = (L >> 4 ^ R) & 0xf0f0f0f;" (assignment_expression "uVar1 = (L >> 4 ^ R) & 0xf0f0f0f" identifier = (binary_expression "(L >> 4 ^ R) & 0xf0f0f0f" (parenthesized_expression "(L >> 4 ^ R)" ( (binary_expression "L >> 4 ^ R" (binary_expression "L >> 4" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar2 = R ^ uVar1;" (assignment_expression "uVar2 = R ^ uVar1" identifier = (binary_expression "R ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar3 = L ^ uVar1 << 4;" (assignment_expression "uVar3 = L ^ uVar1 << 4" identifier = (binary_expression "L ^ uVar1 << 4" identifier ^ (binary_expression "uVar1 << 4" identifier << number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 0x10 ^ uVar2) & 0xffff;" (assignment_expression "uVar1 = (uVar3 >> 0x10 ^ uVar2) & 0xffff" identifier = (binary_expression "(uVar3 >> 0x10 ^ uVar2) & 0xffff" (parenthesized_expression "(uVar3 >> 0x10 ^ uVar2)" ( (binary_expression "uVar3 >> 0x10 ^ uVar2" (binary_expression "uVar3 >> 0x10" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar2 = uVar1 ^ uVar2;" (assignment_expression "uVar2 = uVar1 ^ uVar2" identifier = (binary_expression "uVar1 ^ uVar2" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 << 0x10;" (assignment_expression "uVar3 = uVar3 ^ uVar1 << 0x10" identifier = (binary_expression "uVar3 ^ uVar1 << 0x10" identifier ^ (binary_expression "uVar1 << 0x10" identifier << number_literal))) ;) (expression_statement "uVar1 = (uVar2 >> 2 ^ uVar3) & 0x33333333;" (assignment_expression "uVar1 = (uVar2 >> 2 ^ uVar3) & 0x33333333" identifier = (binary_expression "(uVar2 >> 2 ^ uVar3) & 0x33333333" (parenthesized_expression "(uVar2 >> 2 ^ uVar3)" ( (binary_expression "uVar2 >> 2 ^ uVar3" (binary_expression "uVar2 >> 2" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar2 = uVar2 ^ uVar1 * 4;" (assignment_expression "uVar2 = uVar2 ^ uVar1 * 4" identifier = (binary_expression "uVar2 ^ uVar1 * 4" identifier ^ (binary_expression "uVar1 * 4" identifier * number_literal))) ;) (expression_statement "uVar1 = (uVar2 >> 8 ^ uVar3) & 0xff00ff;" (assignment_expression "uVar1 = (uVar2 >> 8 ^ uVar3) & 0xff00ff" identifier = (binary_expression "(uVar2 >> 8 ^ uVar3) & 0xff00ff" (parenthesized_expression "(uVar2 >> 8 ^ uVar3)" ( (binary_expression "uVar2 >> 8 ^ uVar3" (binary_expression "uVar2 >> 8" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar1 ^ uVar3" identifier = (binary_expression "uVar1 ^ uVar3" identifier ^ identifier)) ;) (expression_statement "uVar2 = uVar2 ^ uVar1 << 8;" (assignment_expression "uVar2 = uVar2 ^ uVar1 << 8" identifier = (binary_expression "uVar2 ^ uVar1 << 8" identifier ^ (binary_expression "uVar1 << 8" identifier << number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 1 ^ uVar2) & 0x55555555;" (assignment_expression "uVar1 = (uVar3 >> 1 ^ uVar2) & 0x55555555" identifier = (binary_expression "(uVar3 >> 1 ^ uVar2) & 0x55555555" (parenthesized_expression "(uVar3 >> 1 ^ uVar2)" ( (binary_expression "uVar3 >> 1 ^ uVar2" (binary_expression "uVar3 >> 1" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ uVar1;" (assignment_expression "uVar2 = uVar2 ^ uVar1" identifier = (binary_expression "uVar2 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 * 2;" (assignment_expression "uVar3 = uVar3 ^ uVar1 * 2" identifier = (binary_expression "uVar3 ^ uVar1 * 2" identifier ^ (binary_expression "uVar1 * 2" identifier * number_literal))) ;) (expression_statement "uVar4 = uVar2 << 1 | (uint)((int)uVar2 < 0);" (assignment_expression "uVar4 = uVar2 << 1 | (uint)((int)uVar2 < 0)" identifier = (binary_expression "uVar2 << 1 | (uint)((int)uVar2 < 0)" (binary_expression "uVar2 << 1" identifier << number_literal) | (call_expression "(uint)((int)uVar2 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar2 < 0)" ( (binary_expression "(int)uVar2 < 0" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;) (expression_statement "uVar2 = sched->k0246[0] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[0] ^ uVar4" identifier = (binary_expression "sched->k0246[0] ^ uVar4" (subscript_expression "sched->k0246[0]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar5 = uVar4 ^ sched->k1357[0];" (assignment_expression "uVar5 = uVar4 ^ sched->k1357[0]" identifier = (binary_expression "uVar4 ^ sched->k1357[0]" identifier ^ (subscript_expression "sched->k1357[0]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^\n          (uVar3 << 1 | (uint)((int)uVar3 < 0));" (assignment_expression "uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^\n          (uVar3 << 1 | (uint)((int)uVar3 < 0))" identifier = (binary_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^\n          (uVar3 << 1 | (uint)((int)uVar3 < 0))" (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ (parenthesized_expression "(uVar3 << 1 | (uint)((int)uVar3 < 0))" ( (binary_expression "uVar3 << 1 | (uint)((int)uVar3 < 0)" (binary_expression "uVar3 << 1" identifier << number_literal) | (call_expression "(uint)((int)uVar3 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )))) )))) ;) (expression_statement "uVar2 = sched->k1357[1] ^ uVar3;" (assignment_expression "uVar2 = sched->k1357[1] ^ uVar3" identifier = (binary_expression "sched->k1357[1] ^ uVar3" (subscript_expression "sched->k1357[1]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar5 = sched->k0246[1] ^ uVar3;" (assignment_expression "uVar5 = sched->k0246[1] ^ uVar3" identifier = (binary_expression "sched->k0246[1] ^ uVar3" (subscript_expression "sched->k0246[1]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar5 >> 4;" (assignment_expression "uVar1 = uVar5 >> 4" identifier = (binary_expression "uVar5 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar4 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;" (assignment_expression "uVar4 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" identifier = (binary_expression "(SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" (parenthesized_expression "(SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar2 >> 0x18 & 0x3f" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar2 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar2 >> 0x10 & 0x3f" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar2 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar2 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar2 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar2 >> 8 & 0x3f" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar5 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar5 << 0x1c)" ( (binary_expression "uVar1 | uVar5 << 0x1c" identifier | (binary_expression "uVar5 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar5 = sched->k1357[2] ^ uVar4;" (assignment_expression "uVar5 = sched->k1357[2] ^ uVar4" identifier = (binary_expression "sched->k1357[2] ^ uVar4" (subscript_expression "sched->k1357[2]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[2] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[2] ^ uVar4" identifier = (binary_expression "sched->k0246[2] ^ uVar4" (subscript_expression "sched->k0246[2]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;" (assignment_expression "uVar3 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3" identifier = (binary_expression "(SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3" (parenthesized_expression "(SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ]) | (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[3] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[3] ^ uVar3" identifier = (binary_expression "sched->k0246[3] ^ uVar3" (subscript_expression "sched->k0246[3]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar5 = sched->k1357[3] ^ uVar3;" (assignment_expression "uVar5 = sched->k1357[3] ^ uVar3" identifier = (binary_expression "sched->k1357[3] ^ uVar3" (subscript_expression "sched->k1357[3]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;" (assignment_expression "uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" identifier = (binary_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar5 = sched->k1357[4] ^ uVar4;" (assignment_expression "uVar5 = sched->k1357[4] ^ uVar4" identifier = (binary_expression "sched->k1357[4] ^ uVar4" (subscript_expression "sched->k1357[4]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[4] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[4] ^ uVar4" identifier = (binary_expression "sched->k0246[4] ^ uVar4" (subscript_expression "sched->k0246[4]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar5 = sched->k1357[5] ^ uVar3;" (assignment_expression "uVar5 = sched->k1357[5] ^ uVar3" identifier = (binary_expression "sched->k1357[5] ^ uVar3" (subscript_expression "sched->k1357[5]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[5] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[5] ^ uVar3" identifier = (binary_expression "sched->k0246[5] ^ uVar3" (subscript_expression "sched->k0246[5]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar5 = sched->k1357[6] ^ uVar4;" (assignment_expression "uVar5 = sched->k1357[6] ^ uVar4" identifier = (binary_expression "sched->k1357[6] ^ uVar4" (subscript_expression "sched->k1357[6]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[6] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[6] ^ uVar4" identifier = (binary_expression "sched->k0246[6] ^ uVar4" (subscript_expression "sched->k0246[6]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar5 = sched->k1357[7] ^ uVar3;" (assignment_expression "uVar5 = sched->k1357[7] ^ uVar3" identifier = (binary_expression "sched->k1357[7] ^ uVar3" (subscript_expression "sched->k1357[7]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[7] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[7] ^ uVar3" identifier = (binary_expression "sched->k0246[7] ^ uVar3" (subscript_expression "sched->k0246[7]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;" (assignment_expression "uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" identifier = (binary_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[8] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[8] ^ uVar4" identifier = (binary_expression "sched->k0246[8] ^ uVar4" (subscript_expression "sched->k0246[8]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar5 = sched->k1357[8] ^ uVar4;" (assignment_expression "uVar5 = sched->k1357[8] ^ uVar4" identifier = (binary_expression "sched->k1357[8] ^ uVar4" (subscript_expression "sched->k1357[8]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar2 = sched->k0246[9] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[9] ^ uVar3" identifier = (binary_expression "sched->k0246[9] ^ uVar3" (subscript_expression "sched->k0246[9]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar5 = sched->k1357[9] ^ uVar3;" (assignment_expression "uVar5 = sched->k1357[9] ^ uVar3" identifier = (binary_expression "sched->k1357[9] ^ uVar3" (subscript_expression "sched->k1357[9]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar5 = sched->k1357[10] ^ uVar4;" (assignment_expression "uVar5 = sched->k1357[10] ^ uVar4" identifier = (binary_expression "sched->k1357[10] ^ uVar4" (subscript_expression "sched->k1357[10]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[10] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[10] ^ uVar4" identifier = (binary_expression "sched->k0246[10] ^ uVar4" (subscript_expression "sched->k0246[10]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar3 = uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar3 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar5 = sched->k1357[0xb] ^ uVar3;" (assignment_expression "uVar5 = sched->k1357[0xb] ^ uVar3" identifier = (binary_expression "sched->k1357[0xb] ^ uVar3" (subscript_expression "sched->k1357[0xb]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[0xb] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[0xb] ^ uVar3" identifier = (binary_expression "sched->k0246[0xb] ^ uVar3" (subscript_expression "sched->k0246[0xb]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;" (assignment_expression "uVar4 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" identifier = (binary_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar5 = sched->k1357[0xc] ^ uVar4;" (assignment_expression "uVar5 = sched->k1357[0xc] ^ uVar4" identifier = (binary_expression "sched->k1357[0xc] ^ uVar4" (subscript_expression "sched->k1357[0xc]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[0xc] ^ uVar4;" (assignment_expression "uVar2 = sched->k0246[0xc] ^ uVar4" identifier = (binary_expression "sched->k0246[0xc] ^ uVar4" (subscript_expression "sched->k0246[0xc]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;" (assignment_expression "uVar3 = (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3" identifier = (binary_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3" (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[0xd] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[0xd] ^ uVar3" identifier = (binary_expression "sched->k0246[0xd] ^ uVar3" (subscript_expression "sched->k0246[0xd]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar5 = uVar3 ^ sched->k1357[0xd];" (assignment_expression "uVar5 = uVar3 ^ sched->k1357[0xd]" identifier = (binary_expression "uVar3 ^ sched->k1357[0xd]" identifier ^ (subscript_expression "sched->k1357[0xd]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar4 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4;" (assignment_expression "uVar4 = (SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" identifier = (binary_expression "(SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar4" (parenthesized_expression "(SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (binary_expression "SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ]) | (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar2 = sched->k1357[0xe] ^ uVar4;" (assignment_expression "uVar2 = sched->k1357[0xe] ^ uVar4" identifier = (binary_expression "sched->k1357[0xe] ^ uVar4" (subscript_expression "sched->k1357[0xe]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar5 = sched->k0246[0xe] ^ uVar4;" (assignment_expression "uVar5 = sched->k0246[0xe] ^ uVar4" identifier = (binary_expression "sched->k0246[0xe] ^ uVar4" (subscript_expression "sched->k0246[0xe]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar5 >> 4;" (assignment_expression "uVar1 = uVar5 >> 4" identifier = (binary_expression "uVar5 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3;" (assignment_expression "uVar3 = (SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3" identifier = (binary_expression "(SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]) ^ uVar3" (parenthesized_expression "(SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f] |\n           SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f] |\n           SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f] | SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f] | SPboxes[5][uVar2 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f] |\n           SPboxes[7][uVar2 & 0x3f]" (binary_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f] | SPboxes[3][uVar2 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar2 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar2 >> 0x18 & 0x3f" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar2 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar2 >> 0x10 & 0x3f" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar2 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar2 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar2 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar2 >> 8 & 0x3f" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar5 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar5 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar5 << 0x1c)" ( (binary_expression "uVar1 | uVar5 << 0x1c" identifier | (binary_expression "uVar5 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )) ^ identifier)) ;) (expression_statement "uVar5 = sched->k1357[0xf] ^ uVar3;" (assignment_expression "uVar5 = sched->k1357[0xf] ^ uVar3" identifier = (binary_expression "sched->k1357[0xf] ^ uVar3" (subscript_expression "sched->k1357[0xf]" (field_expression "sched->k1357" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar2 = sched->k0246[0xf] ^ uVar3;" (assignment_expression "uVar2 = sched->k0246[0xf] ^ uVar3" identifier = (binary_expression "sched->k0246[0xf] ^ uVar3" (subscript_expression "sched->k0246[0xf]" (field_expression "sched->k0246" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = uVar2 >> 4;" (assignment_expression "uVar1 = uVar2 >> 4" identifier = (binary_expression "uVar2 >> 4" identifier >> number_literal)) ;) (expression_statement "uVar3 = uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f;" (assignment_expression "uVar3 = uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f" identifier = (binary_expression "uVar3 >> 1 | (uint)((uVar3 & 1) != 0) << 0x1f" (binary_expression "uVar3 >> 1" identifier >> number_literal) | (binary_expression "(uint)((uVar3 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar3 & 1) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar3 & 1) != 0)" ( (binary_expression "(uVar3 & 1) != 0" (parenthesized_expression "(uVar3 & 1)" ( (binary_expression "uVar3 & 1" identifier & number_literal) )) != number_literal) ))) << number_literal))) ;) (expression_statement "uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]);" (assignment_expression "uVar4 = uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier = (binary_expression "uVar4 ^ (SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" identifier ^ (parenthesized_expression "(SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8])" ( (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10] | SPboxes[4][(uVar1 & 0x3f00) >> 8]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f] |\n                   SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f] | SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f] |\n                   SPboxes[6][uVar1 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f] | SPboxes[5][uVar5 >> 8 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f] |\n                   SPboxes[7][uVar5 & 0x3f]" (binary_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f] | SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[1][uVar5 >> 0x18 & 0x3f]" (subscript_expression "SPboxes[1]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) ]) | (subscript_expression "SPboxes[3][uVar5 >> 0x10 & 0x3f]" (subscript_expression "SPboxes[3]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[7][uVar5 & 0x3f]" (subscript_expression "SPboxes[7]" identifier [ number_literal ]) [ (binary_expression "uVar5 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[5][uVar5 >> 8 & 0x3f]" (subscript_expression "SPboxes[5]" identifier [ number_literal ]) [ (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[6][uVar1 & 0x3f]" (subscript_expression "SPboxes[6]" identifier [ number_literal ]) [ (binary_expression "uVar1 & 0x3f" identifier & number_literal) ])) | (subscript_expression "SPboxes[0][(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f]" (subscript_expression "SPboxes[0]" identifier [ number_literal ]) [ (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | uVar2 << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | uVar2 << 0x1c)" ( (binary_expression "uVar1 | uVar2 << 0x1c" identifier | (binary_expression "uVar2 << 0x1c" identifier << number_literal)) )) >> number_literal) & number_literal) ])) | (subscript_expression "SPboxes[2][(uVar1 & 0x3f0000) >> 0x10]" (subscript_expression "SPboxes[2]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) ])) | (subscript_expression "SPboxes[4][(uVar1 & 0x3f00) >> 8]" (subscript_expression "SPboxes[4]" identifier [ number_literal ]) [ (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) ])) )))) ;) (expression_statement "uVar2 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;" (assignment_expression "uVar2 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" identifier = (binary_expression "uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" (binary_expression "uVar4 >> 1" identifier >> number_literal) | (binary_expression "(uint)((uVar4 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar4 & 1) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 & 1) != 0)" ( (binary_expression "(uVar4 & 1) != 0" (parenthesized_expression "(uVar4 & 1)" ( (binary_expression "uVar4 & 1" identifier & number_literal) )) != number_literal) ))) << number_literal))) ;) (expression_statement "uVar1 = (uVar2 >> 1 ^ uVar3) & 0x55555555;" (assignment_expression "uVar1 = (uVar2 >> 1 ^ uVar3) & 0x55555555" identifier = (binary_expression "(uVar2 >> 1 ^ uVar3) & 0x55555555" (parenthesized_expression "(uVar2 >> 1 ^ uVar3)" ( (binary_expression "uVar2 >> 1 ^ uVar3" (binary_expression "uVar2 >> 1" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar2 = uVar2 ^ uVar1 * 2;" (assignment_expression "uVar2 = uVar2 ^ uVar1 * 2" identifier = (binary_expression "uVar2 ^ uVar1 * 2" identifier ^ (binary_expression "uVar1 * 2" identifier * number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 8 ^ uVar2) & 0xff00ff;" (assignment_expression "uVar1 = (uVar3 >> 8 ^ uVar2) & 0xff00ff" identifier = (binary_expression "(uVar3 >> 8 ^ uVar2) & 0xff00ff" (parenthesized_expression "(uVar3 >> 8 ^ uVar2)" ( (binary_expression "uVar3 >> 8 ^ uVar2" (binary_expression "uVar3 >> 8" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ uVar1;" (assignment_expression "uVar2 = uVar2 ^ uVar1" identifier = (binary_expression "uVar2 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 << 8;" (assignment_expression "uVar3 = uVar3 ^ uVar1 << 8" identifier = (binary_expression "uVar3 ^ uVar1 << 8" identifier ^ (binary_expression "uVar1 << 8" identifier << number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 2 ^ uVar2) & 0x33333333;" (assignment_expression "uVar1 = (uVar3 >> 2 ^ uVar2) & 0x33333333" identifier = (binary_expression "(uVar3 >> 2 ^ uVar2) & 0x33333333" (parenthesized_expression "(uVar3 >> 2 ^ uVar2)" ( (binary_expression "uVar3 >> 2 ^ uVar2" (binary_expression "uVar3 >> 2" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 * 4;" (assignment_expression "uVar3 = uVar3 ^ uVar1 * 4" identifier = (binary_expression "uVar3 ^ uVar1 * 4" identifier ^ (binary_expression "uVar1 * 4" identifier * number_literal))) ;) (expression_statement "uVar2 = uVar2 ^ uVar1;" (assignment_expression "uVar2 = uVar2 ^ uVar1" identifier = (binary_expression "uVar2 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = (uVar2 >> 0x10 ^ uVar3) & 0xffff;" (assignment_expression "uVar1 = (uVar2 >> 0x10 ^ uVar3) & 0xffff" identifier = (binary_expression "(uVar2 >> 0x10 ^ uVar3) & 0xffff" (parenthesized_expression "(uVar2 >> 0x10 ^ uVar3)" ( (binary_expression "uVar2 >> 0x10 ^ uVar3" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar2 = uVar1 << 0x10 ^ uVar2;" (assignment_expression "uVar2 = uVar1 << 0x10 ^ uVar2" identifier = (binary_expression "uVar1 << 0x10 ^ uVar2" (binary_expression "uVar1 << 0x10" identifier << number_literal) ^ identifier)) ;) (expression_statement "uVar1 = (uVar2 >> 4 ^ uVar3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (uVar2 >> 4 ^ uVar3) & 0xf0f0f0f" identifier = (binary_expression "(uVar2 >> 4 ^ uVar3) & 0xf0f0f0f" (parenthesized_expression "(uVar2 >> 4 ^ uVar3)" ( (binary_expression "uVar2 >> 4 ^ uVar3" (binary_expression "uVar2 >> 4" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "output[1] = uVar1 ^ uVar3;" (assignment_expression "output[1] = uVar1 ^ uVar3" (subscript_expression "output[1]" identifier [ number_literal ]) = (binary_expression "uVar1 ^ uVar3" identifier ^ identifier)) ;) (expression_statement "*output = uVar2 ^ uVar1 << 4;" (assignment_expression "*output = uVar2 ^ uVar1 << 4" (pointer_expression "*output" * identifier) = (binary_expression "uVar2 ^ uVar1 << 4" identifier ^ (binary_expression "uVar1 << 4" identifier << number_literal))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)" identifier (parameter_list "(uint *param_1,uint param_2,uint param_3,uint *param_4)" ( (parameter_declaration "uint *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 "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f" identifier = (binary_expression "(param_2 >> 4 ^ param_3) & 0xf0f0f0f" (parenthesized_expression "(param_2 >> 4 ^ param_3)" ( (binary_expression "param_2 >> 4 ^ param_3" (binary_expression "param_2 >> 4" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_3 = param_3 ^ uVar1;" (assignment_expression "param_3 = param_3 ^ uVar1" identifier = (binary_expression "param_3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "param_2 = param_2 ^ uVar1 << 4;" (assignment_expression "param_2 = param_2 ^ uVar1 << 4" identifier = (binary_expression "param_2 ^ uVar1 << 4" identifier ^ (binary_expression "uVar1 << 4" identifier << number_literal))) ;) (expression_statement "uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;" (assignment_expression "uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff" identifier = (binary_expression "(param_2 >> 0x10 ^ param_3) & 0xffff" (parenthesized_expression "(param_2 >> 0x10 ^ param_3)" ( (binary_expression "param_2 >> 0x10 ^ param_3" (binary_expression "param_2 >> 0x10" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_3 = uVar1 ^ param_3;" (assignment_expression "param_3 = uVar1 ^ param_3" identifier = (binary_expression "uVar1 ^ param_3" identifier ^ identifier)) ;) (expression_statement "param_2 = param_2 ^ uVar1 << 0x10;" (assignment_expression "param_2 = param_2 ^ uVar1 << 0x10" identifier = (binary_expression "param_2 ^ uVar1 << 0x10" identifier ^ (binary_expression "uVar1 << 0x10" identifier << number_literal))) ;) (expression_statement "uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;" (assignment_expression "uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333" identifier = (binary_expression "(param_3 >> 2 ^ param_2) & 0x33333333" (parenthesized_expression "(param_3 >> 2 ^ param_2)" ( (binary_expression "param_3 >> 2 ^ param_2" (binary_expression "param_3 >> 2" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_2 = param_2 ^ uVar1;" (assignment_expression "param_2 = param_2 ^ uVar1" identifier = (binary_expression "param_2 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "param_3 = param_3 ^ uVar1 * 4;" (assignment_expression "param_3 = param_3 ^ uVar1 * 4" identifier = (binary_expression "param_3 ^ uVar1 * 4" identifier ^ (binary_expression "uVar1 * 4" identifier * number_literal))) ;) (expression_statement "uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;" (assignment_expression "uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff" identifier = (binary_expression "(param_3 >> 8 ^ param_2) & 0xff00ff" (parenthesized_expression "(param_3 >> 8 ^ param_2)" ( (binary_expression "param_3 >> 8 ^ param_2" (binary_expression "param_3 >> 8" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_2 = uVar1 ^ param_2;" (assignment_expression "param_2 = uVar1 ^ param_2" identifier = (binary_expression "uVar1 ^ param_2" identifier ^ identifier)) ;) (expression_statement "param_3 = param_3 ^ uVar1 << 8;" (assignment_expression "param_3 = param_3 ^ uVar1 << 8" identifier = (binary_expression "param_3 ^ uVar1 << 8" identifier ^ (binary_expression "uVar1 << 8" identifier << number_literal))) ;) (expression_statement "uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;" (assignment_expression "uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555" identifier = (binary_expression "(param_2 >> 1 ^ param_3) & 0x55555555" (parenthesized_expression "(param_2 >> 1 ^ param_3)" ( (binary_expression "param_2 >> 1 ^ param_3" (binary_expression "param_2 >> 1" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_3 = param_3 ^ uVar1;" (assignment_expression "param_3 = param_3 ^ uVar1" identifier = (binary_expression "param_3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "param_2 = param_2 ^ uVar1 * 2;" (assignment_expression "param_2 = param_2 ^ uVar1 * 2" identifier = (binary_expression "param_2 ^ uVar1 * 2" identifier ^ (binary_expression "uVar1 * 2" identifier * number_literal))) ;) (expression_statement "uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);" (assignment_expression "uVar4 = param_3 << 1 | (uint)((int)param_3 < 0)" identifier = (binary_expression "param_3 << 1 | (uint)((int)param_3 < 0)" (binary_expression "param_3 << 1" identifier << number_literal) | (call_expression "(uint)((int)param_3 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_3 < 0)" ( (binary_expression "(int)param_3 < 0" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;) (expression_statement "uVar5 = uVar4 ^ param_4[0x10];" (assignment_expression "uVar5 = uVar4 ^ param_4[0x10]" identifier = (binary_expression "uVar4 ^ param_4[0x10]" identifier ^ (subscript_expression "param_4[0x10]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (*param_4 ^ uVar4) >> 4;" (assignment_expression "uVar1 = (*param_4 ^ uVar4) >> 4" identifier = (binary_expression "(*param_4 ^ uVar4) >> 4" (parenthesized_expression "(*param_4 ^ uVar4)" ( (binary_expression "*param_4 ^ uVar4" (pointer_expression "*param_4" * identifier) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0))" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0))" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (*param_4 ^ uVar4) << 0x1c" identifier | (binary_expression "(*param_4 ^ uVar4) << 0x1c" (parenthesized_expression "(*param_4 ^ uVar4)" ( (binary_expression "*param_4 ^ uVar4" (pointer_expression "*param_4" * identifier) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ (parenthesized_expression "(param_2 << 1 | (uint)((int)param_2 < 0))" ( (binary_expression "param_2 << 1 | (uint)((int)param_2 < 0)" (binary_expression "param_2 << 1" identifier << number_literal) | (call_expression "(uint)((int)param_2 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_2 < 0)" ( (binary_expression "(int)param_2 < 0" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )))) )))) ;) (expression_statement "uVar5 = param_4[0x11] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x11] ^ uVar2" identifier = (binary_expression "param_4[0x11] ^ uVar2" (subscript_expression "param_4[0x11]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[1] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[1] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[1] ^ uVar2) >> 4" (parenthesized_expression "(param_4[1] ^ uVar2)" ( (binary_expression "param_4[1] ^ uVar2" (subscript_expression "param_4[1]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[1] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[1] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[1] ^ uVar2)" ( (binary_expression "param_4[1] ^ uVar2" (subscript_expression "param_4[1]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x12] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x12] ^ uVar4" identifier = (binary_expression "param_4[0x12] ^ uVar4" (subscript_expression "param_4[0x12]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[2] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[2] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[2] ^ uVar4) >> 4" (parenthesized_expression "(param_4[2] ^ uVar4)" ( (binary_expression "param_4[2] ^ uVar4" (subscript_expression "param_4[2]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" identifier = (binary_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[2] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[2] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[2] ^ uVar4)" ( (binary_expression "param_4[2] ^ uVar4" (subscript_expression "param_4[2]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[3] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[3] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[3] ^ uVar2) >> 4" (parenthesized_expression "(param_4[3] ^ uVar2)" ( (binary_expression "param_4[3] ^ uVar2" (subscript_expression "param_4[3]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar5 = param_4[0x13] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x13] ^ uVar2" identifier = (binary_expression "param_4[0x13] ^ uVar2" (subscript_expression "param_4[0x13]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[3] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[3] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[3] ^ uVar2)" ( (binary_expression "param_4[3] ^ uVar2" (subscript_expression "param_4[3]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x14] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x14] ^ uVar4" identifier = (binary_expression "param_4[0x14] ^ uVar4" (subscript_expression "param_4[0x14]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[4] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[4] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[4] ^ uVar4) >> 4" (parenthesized_expression "(param_4[4] ^ uVar4)" ( (binary_expression "param_4[4] ^ uVar4" (subscript_expression "param_4[4]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[4] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[4] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[4] ^ uVar4)" ( (binary_expression "param_4[4] ^ uVar4" (subscript_expression "param_4[4]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x15] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x15] ^ uVar2" identifier = (binary_expression "param_4[0x15] ^ uVar2" (subscript_expression "param_4[0x15]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[5] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[5] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[5] ^ uVar2) >> 4" (parenthesized_expression "(param_4[5] ^ uVar2)" ( (binary_expression "param_4[5] ^ uVar2" (subscript_expression "param_4[5]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[5] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[5] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[5] ^ uVar2)" ( (binary_expression "param_4[5] ^ uVar2" (subscript_expression "param_4[5]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x16] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x16] ^ uVar4" identifier = (binary_expression "param_4[0x16] ^ uVar4" (subscript_expression "param_4[0x16]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[6] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[6] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[6] ^ uVar4) >> 4" (parenthesized_expression "(param_4[6] ^ uVar4)" ( (binary_expression "param_4[6] ^ uVar4" (subscript_expression "param_4[6]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[6] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[6] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[6] ^ uVar4)" ( (binary_expression "param_4[6] ^ uVar4" (subscript_expression "param_4[6]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x17] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x17] ^ uVar2" identifier = (binary_expression "param_4[0x17] ^ uVar2" (subscript_expression "param_4[0x17]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[7] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[7] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[7] ^ uVar2) >> 4" (parenthesized_expression "(param_4[7] ^ uVar2)" ( (binary_expression "param_4[7] ^ uVar2" (subscript_expression "param_4[7]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[7] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[7] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[7] ^ uVar2)" ( (binary_expression "param_4[7] ^ uVar2" (subscript_expression "param_4[7]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x18] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x18] ^ uVar4" identifier = (binary_expression "param_4[0x18] ^ uVar4" (subscript_expression "param_4[0x18]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[8] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[8] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[8] ^ uVar4) >> 4" (parenthesized_expression "(param_4[8] ^ uVar4)" ( (binary_expression "param_4[8] ^ uVar4" (subscript_expression "param_4[8]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[8] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[8] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[8] ^ uVar4)" ( (binary_expression "param_4[8] ^ uVar4" (subscript_expression "param_4[8]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x19] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x19] ^ uVar2" identifier = (binary_expression "param_4[0x19] ^ uVar2" (subscript_expression "param_4[0x19]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[9] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[9] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[9] ^ uVar2) >> 4" (parenthesized_expression "(param_4[9] ^ uVar2)" ( (binary_expression "param_4[9] ^ uVar2" (subscript_expression "param_4[9]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[9] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[9] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[9] ^ uVar2)" ( (binary_expression "param_4[9] ^ uVar2" (subscript_expression "param_4[9]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x1a] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1a] ^ uVar4" identifier = (binary_expression "param_4[0x1a] ^ uVar4" (subscript_expression "param_4[0x1a]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[10] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[10] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[10] ^ uVar4) >> 4" (parenthesized_expression "(param_4[10] ^ uVar4)" ( (binary_expression "param_4[10] ^ uVar4" (subscript_expression "param_4[10]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[10] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[10] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[10] ^ uVar4)" ( (binary_expression "param_4[10] ^ uVar4" (subscript_expression "param_4[10]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = param_4[0x1b] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x1b] ^ uVar2" identifier = (binary_expression "param_4[0x1b] ^ uVar2" (subscript_expression "param_4[0x1b]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xb] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xb] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[0xb] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xb] ^ uVar2)" ( (binary_expression "param_4[0xb] ^ uVar2" (subscript_expression "param_4[0xb]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xb] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[0xb] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xb] ^ uVar2)" ( (binary_expression "param_4[0xb] ^ uVar2" (subscript_expression "param_4[0xb]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x1c] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1c] ^ uVar4" identifier = (binary_expression "param_4[0x1c] ^ uVar4" (subscript_expression "param_4[0x1c]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xc] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[0xc] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[0xc] ^ uVar4) >> 4" (parenthesized_expression "(param_4[0xc] ^ uVar4)" ( (binary_expression "param_4[0xc] ^ uVar4" (subscript_expression "param_4[0xc]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xc] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[0xc] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[0xc] ^ uVar4)" ( (binary_expression "param_4[0xc] ^ uVar4" (subscript_expression "param_4[0xc]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = uVar2 ^ param_4[0x1d];" (assignment_expression "uVar5 = uVar2 ^ param_4[0x1d]" identifier = (binary_expression "uVar2 ^ param_4[0x1d]" identifier ^ (subscript_expression "param_4[0x1d]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (param_4[0xd] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xd] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[0xd] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xd] ^ uVar2)" ( (binary_expression "param_4[0xd] ^ uVar2" (subscript_expression "param_4[0xd]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" identifier = (binary_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xd] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[0xd] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xd] ^ uVar2)" ( (binary_expression "param_4[0xd] ^ uVar2" (subscript_expression "param_4[0xd]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x1e] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1e] ^ uVar4" identifier = (binary_expression "param_4[0x1e] ^ uVar4" (subscript_expression "param_4[0x1e]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xe] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[0xe] ^ uVar4) >> 4" identifier = (binary_expression "(param_4[0xe] ^ uVar4) >> 4" (parenthesized_expression "(param_4[0xe] ^ uVar4)" ( (binary_expression "param_4[0xe] ^ uVar4" (subscript_expression "param_4[0xe]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" identifier = (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xe] ^ uVar4) << 0x1c" identifier | (binary_expression "(param_4[0xe] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[0xe] ^ uVar4)" ( (binary_expression "param_4[0xe] ^ uVar4" (subscript_expression "param_4[0xe]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )) ^ identifier)) ;) (expression_statement "uVar5 = param_4[0x1f] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x1f] ^ uVar2" identifier = (binary_expression "param_4[0x1f] ^ uVar2" (subscript_expression "param_4[0x1f]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uVar1 = (param_4[0xf] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xf] ^ uVar2) >> 4" identifier = (binary_expression "(param_4[0xf] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xf] ^ uVar2)" ( (binary_expression "param_4[0xf] ^ uVar2" (subscript_expression "param_4[0xf]" identifier [ number_literal ]) ^ identifier) )) >> number_literal)) ;) (expression_statement "uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;" (assignment_expression "uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f" identifier = (binary_expression "uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f" (binary_expression "uVar2 >> 1" identifier >> number_literal) | (binary_expression "(uint)((uVar2 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar2 & 1) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar2 & 1) != 0)" ( (binary_expression "(uVar2 & 1) != 0" (parenthesized_expression "(uVar2 & 1)" ( (binary_expression "uVar2 & 1" identifier & number_literal) )) != number_literal) ))) << number_literal))) ;) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier = (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" identifier ^ (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" ( (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" & identifier) + (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" ( (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) & number_literal) )) * number_literal)) )))) | (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" ( (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" & identifier) + (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" ( (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" ( (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" & identifier) + (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" ( (binary_expression "uVar5 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" ( (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" & identifier) + (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" ( (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" ( (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" & identifier) + (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" ( (binary_expression "uVar1 & 0x3f" identifier & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" * (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" ( (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" & identifier) + (binary_expression "((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" ( (binary_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c)" ( (binary_expression "uVar1 | (param_4[0xf] ^ uVar2) << 0x1c" identifier | (binary_expression "(param_4[0xf] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xf] ^ uVar2)" ( (binary_expression "param_4[0xf] ^ uVar2" (subscript_expression "param_4[0xf]" identifier [ number_literal ]) ^ identifier) )) << number_literal)) )) >> number_literal) & number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" ( (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" & identifier) + (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" ( (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" ( (binary_expression "uVar1 & 0x3f0000" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) | (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" * (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" ( (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" & identifier) + (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" ( (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" ( (binary_expression "uVar1 & 0x3f00" identifier & number_literal) )) >> number_literal) )) * number_literal)) ))))) )))) ;) (expression_statement "uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;" (assignment_expression "uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" identifier = (binary_expression "uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" (binary_expression "uVar4 >> 1" identifier >> number_literal) | (binary_expression "(uint)((uVar4 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar4 & 1) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 & 1) != 0)" ( (binary_expression "(uVar4 & 1) != 0" (parenthesized_expression "(uVar4 & 1)" ( (binary_expression "uVar4 & 1" identifier & number_literal) )) != number_literal) ))) << number_literal))) ;) (expression_statement "uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;" (assignment_expression "uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555" identifier = (binary_expression "(uVar5 >> 1 ^ uVar3) & 0x55555555" (parenthesized_expression "(uVar5 >> 1 ^ uVar3)" ( (binary_expression "uVar5 >> 1 ^ uVar3" (binary_expression "uVar5 >> 1" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar5 ^ uVar1 * 2;" (assignment_expression "uVar5 = uVar5 ^ uVar1 * 2" identifier = (binary_expression "uVar5 ^ uVar1 * 2" identifier ^ (binary_expression "uVar1 * 2" identifier * number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;" (assignment_expression "uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff" identifier = (binary_expression "(uVar3 >> 8 ^ uVar5) & 0xff00ff" (parenthesized_expression "(uVar3 >> 8 ^ uVar5)" ( (binary_expression "uVar3 >> 8 ^ uVar5" (binary_expression "uVar3 >> 8" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar5 = uVar5 ^ uVar1;" (assignment_expression "uVar5 = uVar5 ^ uVar1" identifier = (binary_expression "uVar5 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 << 8;" (assignment_expression "uVar3 = uVar3 ^ uVar1 << 8" identifier = (binary_expression "uVar3 ^ uVar1 << 8" identifier ^ (binary_expression "uVar1 << 8" identifier << number_literal))) ;) (expression_statement "uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;" (assignment_expression "uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333" identifier = (binary_expression "(uVar3 >> 2 ^ uVar5) & 0x33333333" (parenthesized_expression "(uVar3 >> 2 ^ uVar5)" ( (binary_expression "uVar3 >> 2 ^ uVar5" (binary_expression "uVar3 >> 2" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1 * 4;" (assignment_expression "uVar3 = uVar3 ^ uVar1 * 4" identifier = (binary_expression "uVar3 ^ uVar1 * 4" identifier ^ (binary_expression "uVar1 * 4" identifier * number_literal))) ;) (expression_statement "uVar5 = uVar5 ^ uVar1;" (assignment_expression "uVar5 = uVar5 ^ uVar1" identifier = (binary_expression "uVar5 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;" (assignment_expression "uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff" identifier = (binary_expression "(uVar5 >> 0x10 ^ uVar3) & 0xffff" (parenthesized_expression "(uVar5 >> 0x10 ^ uVar3)" ( (binary_expression "uVar5 >> 0x10 ^ uVar3" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" identifier = (binary_expression "uVar3 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar5 = uVar1 << 0x10 ^ uVar5;" (assignment_expression "uVar5 = uVar1 << 0x10 ^ uVar5" identifier = (binary_expression "uVar1 << 0x10 ^ uVar5" (binary_expression "uVar1 << 0x10" identifier << number_literal) ^ identifier)) ;) (expression_statement "uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f" identifier = (binary_expression "(uVar5 >> 4 ^ uVar3) & 0xf0f0f0f" (parenthesized_expression "(uVar5 >> 4 ^ uVar3)" ( (binary_expression "uVar5 >> 4 ^ uVar3" (binary_expression "uVar5 >> 4" identifier >> number_literal) ^ identifier) )) & number_literal)) ;) (expression_statement "param_1[1] = uVar1 ^ uVar3;" (assignment_expression "param_1[1] = uVar1 ^ uVar3" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "uVar1 ^ uVar3" identifier ^ identifier)) ;) (expression_statement "*param_1 = uVar5 ^ uVar1 << 4;" (assignment_expression "*param_1 = uVar5 ^ uVar1 << 4" (pointer_expression "*param_1" * identifier) = (binary_expression "uVar5 ^ uVar1 << 4" identifier ^ (binary_expression "uVar1 << 4" identifier << number_literal))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (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 IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (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 (parenthesized_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 (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT) )) << LIT)) )) >> LIT) & LIT) )) * LIT)) ))))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )) * LIT)) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) ^ IDENT) )) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT ^ (binary_expression IDENT << LIT))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00024450(uint *param_1,uint param_2,uint param_3,uint *param_4)" (identifier "FUN_00024450") (parameter_list "(uint *param_1,uint param_2,uint param_3,uint *param_4)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (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 "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  \n  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 << 4;\n  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;\n  param_3 = uVar1 ^ param_3;\n  param_2 = param_2 ^ uVar1 << 0x10;\n  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;\n  param_2 = param_2 ^ uVar1;\n  param_3 = param_3 ^ uVar1 * 4;\n  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;\n  param_2 = uVar1 ^ param_2;\n  param_3 = param_3 ^ uVar1 << 8;\n  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;\n  param_3 = param_3 ^ uVar1;\n  param_2 = param_2 ^ uVar1 * 2;\n  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);\n  uVar5 = uVar4 ^ param_4[0x10];\n  uVar1 = (*param_4 ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));\n  uVar5 = param_4[0x11] ^ uVar2;\n  uVar1 = (param_4[1] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x12] ^ uVar4;\n  uVar1 = (param_4[2] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar1 = (param_4[3] ^ uVar2) >> 4;\n  uVar5 = param_4[0x13] ^ uVar2;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x14] ^ uVar4;\n  uVar1 = (param_4[4] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x15] ^ uVar2;\n  uVar1 = (param_4[5] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x16] ^ uVar4;\n  uVar1 = (param_4[6] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x17] ^ uVar2;\n  uVar1 = (param_4[7] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x18] ^ uVar4;\n  uVar1 = (param_4[8] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x19] ^ uVar2;\n  uVar1 = (param_4[9] ^ uVar2) >> 4;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1a] ^ uVar4;\n  uVar1 = (param_4[10] ^ uVar4) >> 4;\n  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = param_4[0x1b] ^ uVar2;\n  uVar1 = (param_4[0xb] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1c] ^ uVar4;\n  uVar1 = (param_4[0xc] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = uVar2 ^ param_4[0x1d];\n  uVar1 = (param_4[0xd] ^ uVar2) >> 4;\n  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;\n  uVar5 = param_4[0x1e] ^ uVar4;\n  uVar1 = (param_4[0xe] ^ uVar4) >> 4;\n  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;\n  uVar5 = param_4[0x1f] ^ uVar2;\n  uVar1 = (param_4[0xf] ^ uVar2) >> 4;\n  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;\n  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));\n  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;\n  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar5 ^ uVar1 * 2;\n  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;\n  uVar5 = uVar5 ^ uVar1;\n  uVar3 = uVar3 ^ uVar1 << 8;\n  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;\n  uVar3 = uVar3 ^ uVar1 * 4;\n  uVar5 = uVar5 ^ uVar1;\n  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;\n  uVar3 = uVar3 ^ uVar1;\n  uVar5 = uVar1 << 0x10 ^ uVar5;\n  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;\n  param_1[1] = uVar1 ^ uVar3;\n  *param_1 = uVar5 ^ uVar1 << 4;\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (expression_statement "uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f" (identifier "uVar1") (= "=") (binary_expression "(param_2 >> 4 ^ param_3) & 0xf0f0f0f" (parenthesized_expression "(param_2 >> 4 ^ param_3)" (( "(") (binary_expression "param_2 >> 4 ^ param_3" (binary_expression "param_2 >> 4" (identifier "param_2") (>> ">>") (number_literal "4")) (^ "^") (identifier "param_3")) () ")")) (& "&") (number_literal "0xf0f0f0f"))) (; ";")) (expression_statement "param_3 = param_3 ^ uVar1;" (assignment_expression "param_3 = param_3 ^ uVar1" (identifier "param_3") (= "=") (binary_expression "param_3 ^ uVar1" (identifier "param_3") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "param_2 = param_2 ^ uVar1 << 4;" (assignment_expression "param_2 = param_2 ^ uVar1 << 4" (identifier "param_2") (= "=") (binary_expression "param_2 ^ uVar1 << 4" (identifier "param_2") (^ "^") (binary_expression "uVar1 << 4" (identifier "uVar1") (<< "<<") (number_literal "4")))) (; ";")) (expression_statement "uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;" (assignment_expression "uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff" (identifier "uVar1") (= "=") (binary_expression "(param_2 >> 0x10 ^ param_3) & 0xffff" (parenthesized_expression "(param_2 >> 0x10 ^ param_3)" (( "(") (binary_expression "param_2 >> 0x10 ^ param_3" (binary_expression "param_2 >> 0x10" (identifier "param_2") (>> ">>") (number_literal "0x10")) (^ "^") (identifier "param_3")) () ")")) (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "param_3 = uVar1 ^ param_3;" (assignment_expression "param_3 = uVar1 ^ param_3" (identifier "param_3") (= "=") (binary_expression "uVar1 ^ param_3" (identifier "uVar1") (^ "^") (identifier "param_3"))) (; ";")) (expression_statement "param_2 = param_2 ^ uVar1 << 0x10;" (assignment_expression "param_2 = param_2 ^ uVar1 << 0x10" (identifier "param_2") (= "=") (binary_expression "param_2 ^ uVar1 << 0x10" (identifier "param_2") (^ "^") (binary_expression "uVar1 << 0x10" (identifier "uVar1") (<< "<<") (number_literal "0x10")))) (; ";")) (expression_statement "uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;" (assignment_expression "uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333" (identifier "uVar1") (= "=") (binary_expression "(param_3 >> 2 ^ param_2) & 0x33333333" (parenthesized_expression "(param_3 >> 2 ^ param_2)" (( "(") (binary_expression "param_3 >> 2 ^ param_2" (binary_expression "param_3 >> 2" (identifier "param_3") (>> ">>") (number_literal "2")) (^ "^") (identifier "param_2")) () ")")) (& "&") (number_literal "0x33333333"))) (; ";")) (expression_statement "param_2 = param_2 ^ uVar1;" (assignment_expression "param_2 = param_2 ^ uVar1" (identifier "param_2") (= "=") (binary_expression "param_2 ^ uVar1" (identifier "param_2") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "param_3 = param_3 ^ uVar1 * 4;" (assignment_expression "param_3 = param_3 ^ uVar1 * 4" (identifier "param_3") (= "=") (binary_expression "param_3 ^ uVar1 * 4" (identifier "param_3") (^ "^") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4")))) (; ";")) (expression_statement "uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;" (assignment_expression "uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff" (identifier "uVar1") (= "=") (binary_expression "(param_3 >> 8 ^ param_2) & 0xff00ff" (parenthesized_expression "(param_3 >> 8 ^ param_2)" (( "(") (binary_expression "param_3 >> 8 ^ param_2" (binary_expression "param_3 >> 8" (identifier "param_3") (>> ">>") (number_literal "8")) (^ "^") (identifier "param_2")) () ")")) (& "&") (number_literal "0xff00ff"))) (; ";")) (expression_statement "param_2 = uVar1 ^ param_2;" (assignment_expression "param_2 = uVar1 ^ param_2" (identifier "param_2") (= "=") (binary_expression "uVar1 ^ param_2" (identifier "uVar1") (^ "^") (identifier "param_2"))) (; ";")) (expression_statement "param_3 = param_3 ^ uVar1 << 8;" (assignment_expression "param_3 = param_3 ^ uVar1 << 8" (identifier "param_3") (= "=") (binary_expression "param_3 ^ uVar1 << 8" (identifier "param_3") (^ "^") (binary_expression "uVar1 << 8" (identifier "uVar1") (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;" (assignment_expression "uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555" (identifier "uVar1") (= "=") (binary_expression "(param_2 >> 1 ^ param_3) & 0x55555555" (parenthesized_expression "(param_2 >> 1 ^ param_3)" (( "(") (binary_expression "param_2 >> 1 ^ param_3" (binary_expression "param_2 >> 1" (identifier "param_2") (>> ">>") (number_literal "1")) (^ "^") (identifier "param_3")) () ")")) (& "&") (number_literal "0x55555555"))) (; ";")) (expression_statement "param_3 = param_3 ^ uVar1;" (assignment_expression "param_3 = param_3 ^ uVar1" (identifier "param_3") (= "=") (binary_expression "param_3 ^ uVar1" (identifier "param_3") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "param_2 = param_2 ^ uVar1 * 2;" (assignment_expression "param_2 = param_2 ^ uVar1 * 2" (identifier "param_2") (= "=") (binary_expression "param_2 ^ uVar1 * 2" (identifier "param_2") (^ "^") (binary_expression "uVar1 * 2" (identifier "uVar1") (* "*") (number_literal "2")))) (; ";")) (expression_statement "uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);" (assignment_expression "uVar4 = param_3 << 1 | (uint)((int)param_3 < 0)" (identifier "uVar4") (= "=") (binary_expression "param_3 << 1 | (uint)((int)param_3 < 0)" (binary_expression "param_3 << 1" (identifier "param_3") (<< "<<") (number_literal "1")) (| "|") (call_expression "(uint)((int)param_3 < 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)param_3 < 0)" (( "(") (binary_expression "(int)param_3 < 0" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (number_literal "0")) () ")"))))) (; ";")) (expression_statement "uVar5 = uVar4 ^ param_4[0x10];" (assignment_expression "uVar5 = uVar4 ^ param_4[0x10]" (identifier "uVar5") (= "=") (binary_expression "uVar4 ^ param_4[0x10]" (identifier "uVar4") (^ "^") (subscript_expression "param_4[0x10]" (identifier "param_4") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (expression_statement "uVar1 = (*param_4 ^ uVar4) >> 4;" (assignment_expression "uVar1 = (*param_4 ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(*param_4 ^ uVar4) >> 4" (parenthesized_expression "(*param_4 ^ uVar4)" (( "(") (binary_expression "*param_4 ^ uVar4" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0));" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0))" (identifier "uVar2") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^\n          (param_2 << 1 | (uint)((int)param_2 < 0))" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (*param_4 ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (*param_4 ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(*param_4 ^ uVar4) << 0x1c" (parenthesized_expression "(*param_4 ^ uVar4)" (( "(") (binary_expression "*param_4 ^ uVar4" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (parenthesized_expression "(param_2 << 1 | (uint)((int)param_2 < 0))" (( "(") (binary_expression "param_2 << 1 | (uint)((int)param_2 < 0)" (binary_expression "param_2 << 1" (identifier "param_2") (<< "<<") (number_literal "1")) (| "|") (call_expression "(uint)((int)param_2 < 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)param_2 < 0)" (( "(") (binary_expression "(int)param_2 < 0" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (< "<") (number_literal "0")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x11] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x11] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x11] ^ uVar2" (subscript_expression "param_4[0x11]" (identifier "param_4") ([ "[") (number_literal "0x11") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[1] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[1] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[1] ^ uVar2) >> 4" (parenthesized_expression "(param_4[1] ^ uVar2)" (( "(") (binary_expression "param_4[1] ^ uVar2" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (identifier "uVar4") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[1] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[1] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[1] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[1] ^ uVar2)" (( "(") (binary_expression "param_4[1] ^ uVar2" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar5 = param_4[0x12] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x12] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x12] ^ uVar4" (subscript_expression "param_4[0x12]" (identifier "param_4") ([ "[") (number_literal "0x12") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[2] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[2] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[2] ^ uVar4) >> 4" (parenthesized_expression "(param_4[2] ^ uVar4)" (( "(") (binary_expression "param_4[2] ^ uVar4" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (identifier "uVar2") (= "=") (binary_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[2] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[2] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[2] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[2] ^ uVar4)" (( "(") (binary_expression "param_4[2] ^ uVar4" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[3] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[3] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[3] ^ uVar2) >> 4" (parenthesized_expression "(param_4[3] ^ uVar2)" (( "(") (binary_expression "param_4[3] ^ uVar2" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar5 = param_4[0x13] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x13] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x13] ^ uVar2" (subscript_expression "param_4[0x13]" (identifier "param_4") ([ "[") (number_literal "0x13") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (identifier "uVar4") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[3] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[3] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[3] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[3] ^ uVar2)" (( "(") (binary_expression "param_4[3] ^ uVar2" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar5 = param_4[0x14] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x14] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x14] ^ uVar4" (subscript_expression "param_4[0x14]" (identifier "param_4") ([ "[") (number_literal "0x14") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[4] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[4] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[4] ^ uVar4) >> 4" (parenthesized_expression "(param_4[4] ^ uVar4)" (( "(") (binary_expression "param_4[4] ^ uVar4" (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (= "=") (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[4] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[4] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[4] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[4] ^ uVar4)" (( "(") (binary_expression "param_4[4] ^ uVar4" (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x15] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x15] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x15] ^ uVar2" (subscript_expression "param_4[0x15]" (identifier "param_4") ([ "[") (number_literal "0x15") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[5] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[5] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[5] ^ uVar2) >> 4" (parenthesized_expression "(param_4[5] ^ uVar2)" (( "(") (binary_expression "param_4[5] ^ uVar2" (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar4") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[5] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[5] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[5] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[5] ^ uVar2)" (( "(") (binary_expression "param_4[5] ^ uVar2" (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x16] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x16] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x16] ^ uVar4" (subscript_expression "param_4[0x16]" (identifier "param_4") ([ "[") (number_literal "0x16") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[6] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[6] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[6] ^ uVar4) >> 4" (parenthesized_expression "(param_4[6] ^ uVar4)" (( "(") (binary_expression "param_4[6] ^ uVar4" (subscript_expression "param_4[6]" (identifier "param_4") ([ "[") (number_literal "6") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (= "=") (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[6] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[6] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[6] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[6] ^ uVar4)" (( "(") (binary_expression "param_4[6] ^ uVar4" (subscript_expression "param_4[6]" (identifier "param_4") ([ "[") (number_literal "6") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x17] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x17] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x17] ^ uVar2" (subscript_expression "param_4[0x17]" (identifier "param_4") ([ "[") (number_literal "0x17") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[7] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[7] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[7] ^ uVar2) >> 4" (parenthesized_expression "(param_4[7] ^ uVar2)" (( "(") (binary_expression "param_4[7] ^ uVar2" (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (identifier "uVar4") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[7] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[7] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[7] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[7] ^ uVar2)" (( "(") (binary_expression "param_4[7] ^ uVar2" (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar5 = param_4[0x18] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x18] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x18] ^ uVar4" (subscript_expression "param_4[0x18]" (identifier "param_4") ([ "[") (number_literal "0x18") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[8] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[8] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[8] ^ uVar4) >> 4" (parenthesized_expression "(param_4[8] ^ uVar4)" (( "(") (binary_expression "param_4[8] ^ uVar4" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (= "=") (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[8] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[8] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[8] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[8] ^ uVar4)" (( "(") (binary_expression "param_4[8] ^ uVar4" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x19] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x19] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x19] ^ uVar2" (subscript_expression "param_4[0x19]" (identifier "param_4") ([ "[") (number_literal "0x19") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[9] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[9] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[9] ^ uVar2) >> 4" (parenthesized_expression "(param_4[9] ^ uVar2)" (( "(") (binary_expression "param_4[9] ^ uVar2" (subscript_expression "param_4[9]" (identifier "param_4") ([ "[") (number_literal "9") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar4") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[9] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[9] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[9] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[9] ^ uVar2)" (( "(") (binary_expression "param_4[9] ^ uVar2" (subscript_expression "param_4[9]" (identifier "param_4") ([ "[") (number_literal "9") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x1a] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1a] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x1a] ^ uVar4" (subscript_expression "param_4[0x1a]" (identifier "param_4") ([ "[") (number_literal "0x1a") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[10] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[10] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[10] ^ uVar4) >> 4" (parenthesized_expression "(param_4[10] ^ uVar4)" (( "(") (binary_expression "param_4[10] ^ uVar4" (subscript_expression "param_4[10]" (identifier "param_4") ([ "[") (number_literal "10") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (= "=") (binary_expression "uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar2") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[10] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[10] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[10] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[10] ^ uVar4)" (( "(") (binary_expression "param_4[10] ^ uVar4" (subscript_expression "param_4[10]" (identifier "param_4") ([ "[") (number_literal "10") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = param_4[0x1b] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x1b] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x1b] ^ uVar2" (subscript_expression "param_4[0x1b]" (identifier "param_4") ([ "[") (number_literal "0x1b") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[0xb] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xb] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[0xb] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xb] ^ uVar2)" (( "(") (binary_expression "param_4[0xb] ^ uVar2" (subscript_expression "param_4[0xb]" (identifier "param_4") ([ "[") (number_literal "0xb") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (identifier "uVar4") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xb] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[0xb] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[0xb] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xb] ^ uVar2)" (( "(") (binary_expression "param_4[0xb] ^ uVar2" (subscript_expression "param_4[0xb]" (identifier "param_4") ([ "[") (number_literal "0xb") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar5 = param_4[0x1c] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1c] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x1c] ^ uVar4" (subscript_expression "param_4[0x1c]" (identifier "param_4") ([ "[") (number_literal "0x1c") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[0xc] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[0xc] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[0xc] ^ uVar4) >> 4" (parenthesized_expression "(param_4[0xc] ^ uVar4)" (( "(") (binary_expression "param_4[0xc] ^ uVar4" (subscript_expression "param_4[0xc]" (identifier "param_4") ([ "[") (number_literal "0xc") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (identifier "uVar2") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xc] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[0xc] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[0xc] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[0xc] ^ uVar4)" (( "(") (binary_expression "param_4[0xc] ^ uVar4" (subscript_expression "param_4[0xc]" (identifier "param_4") ([ "[") (number_literal "0xc") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar5 = uVar2 ^ param_4[0x1d];" (assignment_expression "uVar5 = uVar2 ^ param_4[0x1d]" (identifier "uVar5") (= "=") (binary_expression "uVar2 ^ param_4[0x1d]" (identifier "uVar2") (^ "^") (subscript_expression "param_4[0x1d]" (identifier "param_4") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (expression_statement "uVar1 = (param_4[0xd] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xd] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[0xd] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xd] ^ uVar2)" (( "(") (binary_expression "param_4[0xd] ^ uVar2" (subscript_expression "param_4[0xd]" (identifier "param_4") ([ "[") (number_literal "0xd") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;" (assignment_expression "uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (identifier "uVar4") (= "=") (binary_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4" (parenthesized_expression "(*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xd] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[0xd] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[0xd] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xd] ^ uVar2)" (( "(") (binary_expression "param_4[0xd] ^ uVar2" (subscript_expression "param_4[0xd]" (identifier "param_4") ([ "[") (number_literal "0xd") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar5 = param_4[0x1e] ^ uVar4;" (assignment_expression "uVar5 = param_4[0x1e] ^ uVar4" (identifier "uVar5") (= "=") (binary_expression "param_4[0x1e] ^ uVar4" (subscript_expression "param_4[0x1e]" (identifier "param_4") ([ "[") (number_literal "0x1e") (] "]")) (^ "^") (identifier "uVar4"))) (; ";")) (expression_statement "uVar1 = (param_4[0xe] ^ uVar4) >> 4;" (assignment_expression "uVar1 = (param_4[0xe] ^ uVar4) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[0xe] ^ uVar4) >> 4" (parenthesized_expression "(param_4[0xe] ^ uVar4)" (( "(") (binary_expression "param_4[0xe] ^ uVar4" (subscript_expression "param_4[0xe]" (identifier "param_4") ([ "[") (number_literal "0xe") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;" (assignment_expression "uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (identifier "uVar2") (= "=") (binary_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2" (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)\n           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xe] ^ uVar4) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[0xe] ^ uVar4) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[0xe] ^ uVar4) << 0x1c" (parenthesized_expression "(param_4[0xe] ^ uVar4)" (( "(") (binary_expression "param_4[0xe] ^ uVar4" (subscript_expression "param_4[0xe]" (identifier "param_4") ([ "[") (number_literal "0xe") (] "]")) (^ "^") (identifier "uVar4")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar5 = param_4[0x1f] ^ uVar2;" (assignment_expression "uVar5 = param_4[0x1f] ^ uVar2" (identifier "uVar5") (= "=") (binary_expression "param_4[0x1f] ^ uVar2" (subscript_expression "param_4[0x1f]" (identifier "param_4") ([ "[") (number_literal "0x1f") (] "]")) (^ "^") (identifier "uVar2"))) (; ";")) (expression_statement "uVar1 = (param_4[0xf] ^ uVar2) >> 4;" (assignment_expression "uVar1 = (param_4[0xf] ^ uVar2) >> 4" (identifier "uVar1") (= "=") (binary_expression "(param_4[0xf] ^ uVar2) >> 4" (parenthesized_expression "(param_4[0xf] ^ uVar2)" (( "(") (binary_expression "param_4[0xf] ^ uVar2" (subscript_expression "param_4[0xf]" (identifier "param_4") ([ "[") (number_literal "0xf") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;" (assignment_expression "uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f" (identifier "uVar3") (= "=") (binary_expression "uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f" (binary_expression "uVar2 >> 1" (identifier "uVar2") (>> ">>") (number_literal "1")) (| "|") (binary_expression "(uint)((uVar2 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar2 & 1) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar2 & 1) != 0)" (( "(") (binary_expression "(uVar2 & 1) != 0" (parenthesized_expression "(uVar2 & 1)" (( "(") (binary_expression "uVar2 & 1" (identifier "uVar2") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) (<< "<<") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));" (assignment_expression "uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (identifier "uVar4") (^ "^") (parenthesized_expression "(*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4))" (( "(") (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |\n                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (binary_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |\n                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (pointer_expression "*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044280" (& "&") (identifier "DAT_00044280")) (+ "+") (binary_expression "(uVar5 >> 0x18 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x18 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x18 & 0x3f" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")")))) (| "|") (pointer_expression "*(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4" (pointer_expression "&DAT_00044480" (& "&") (identifier "DAT_00044480")) (+ "+") (binary_expression "(uVar5 >> 0x10 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0x3f)" (( "(") (binary_expression "uVar5 >> 0x10 & 0x3f" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044880 + (uVar5 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044880 + (uVar5 & 0x3f) * 4" (pointer_expression "&DAT_00044880" (& "&") (identifier "DAT_00044880")) (+ "+") (binary_expression "(uVar5 & 0x3f) * 4" (parenthesized_expression "(uVar5 & 0x3f)" (( "(") (binary_expression "uVar5 & 0x3f" (identifier "uVar5") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4" (pointer_expression "&DAT_00044680" (& "&") (identifier "DAT_00044680")) (+ "+") (binary_expression "(uVar5 >> 8 & 0x3f) * 4" (parenthesized_expression "(uVar5 >> 8 & 0x3f)" (( "(") (binary_expression "uVar5 >> 8 & 0x3f" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044780 + (uVar1 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044780 + (uVar1 & 0x3f) * 4" (pointer_expression "&DAT_00044780" (& "&") (identifier "DAT_00044780")) (+ "+") (binary_expression "(uVar1 & 0x3f) * 4" (parenthesized_expression "(uVar1 & 0x3f)" (( "(") (binary_expression "uVar1 & 0x3f" (identifier "uVar1") (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)" (( "(") (binary_expression "&DAT_00044180 +\n                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (pointer_expression "&DAT_00044180" (& "&") (identifier "DAT_00044180")) (+ "+") (binary_expression "((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4" (parenthesized_expression "((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f)" (( "(") (binary_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f" (binary_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18" (parenthesized_expression "(uVar1 | (param_4[0xf] ^ uVar2) << 0x1c)" (( "(") (binary_expression "uVar1 | (param_4[0xf] ^ uVar2) << 0x1c" (identifier "uVar1") (| "|") (binary_expression "(param_4[0xf] ^ uVar2) << 0x1c" (parenthesized_expression "(param_4[0xf] ^ uVar2)" (( "(") (binary_expression "param_4[0xf] ^ uVar2" (subscript_expression "param_4[0xf]" (identifier "param_4") ([ "[") (number_literal "0xf") (] "]")) (^ "^") (identifier "uVar2")) () ")")) (<< "<<") (number_literal "0x1c"))) () ")")) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x3f")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4" (pointer_expression "&DAT_00044380" (& "&") (identifier "DAT_00044380")) (+ "+") (binary_expression "((uVar1 & 0x3f0000) >> 0x10) * 4" (parenthesized_expression "((uVar1 & 0x3f0000) >> 0x10)" (( "(") (binary_expression "(uVar1 & 0x3f0000) >> 0x10" (parenthesized_expression "(uVar1 & 0x3f0000)" (( "(") (binary_expression "uVar1 & 0x3f0000" (identifier "uVar1") (& "&") (number_literal "0x3f0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (| "|") (pointer_expression "*(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (* "*") (cast_expression "(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)" (( "(") (binary_expression "&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4" (pointer_expression "&DAT_00044580" (& "&") (identifier "DAT_00044580")) (+ "+") (binary_expression "((uVar1 & 0x3f00) >> 8) * 4" (parenthesized_expression "((uVar1 & 0x3f00) >> 8)" (( "(") (binary_expression "(uVar1 & 0x3f00) >> 8" (parenthesized_expression "(uVar1 & 0x3f00)" (( "(") (binary_expression "uVar1 & 0x3f00" (identifier "uVar1") (& "&") (number_literal "0x3f00")) () ")")) (>> ">>") (number_literal "8")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;" (assignment_expression "uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" (identifier "uVar5") (= "=") (binary_expression "uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f" (binary_expression "uVar4 >> 1" (identifier "uVar4") (>> ">>") (number_literal "1")) (| "|") (binary_expression "(uint)((uVar4 & 1) != 0) << 0x1f" (call_expression "(uint)((uVar4 & 1) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar4 & 1) != 0)" (( "(") (binary_expression "(uVar4 & 1) != 0" (parenthesized_expression "(uVar4 & 1)" (( "(") (binary_expression "uVar4 & 1" (identifier "uVar4") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) (<< "<<") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;" (assignment_expression "uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555" (identifier "uVar1") (= "=") (binary_expression "(uVar5 >> 1 ^ uVar3) & 0x55555555" (parenthesized_expression "(uVar5 >> 1 ^ uVar3)" (( "(") (binary_expression "uVar5 >> 1 ^ uVar3" (binary_expression "uVar5 >> 1" (identifier "uVar5") (>> ">>") (number_literal "1")) (^ "^") (identifier "uVar3")) () ")")) (& "&") (number_literal "0x55555555"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ uVar1" (identifier "uVar3") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "uVar5 = uVar5 ^ uVar1 * 2;" (assignment_expression "uVar5 = uVar5 ^ uVar1 * 2" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ uVar1 * 2" (identifier "uVar5") (^ "^") (binary_expression "uVar1 * 2" (identifier "uVar1") (* "*") (number_literal "2")))) (; ";")) (expression_statement "uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;" (assignment_expression "uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff" (identifier "uVar1") (= "=") (binary_expression "(uVar3 >> 8 ^ uVar5) & 0xff00ff" (parenthesized_expression "(uVar3 >> 8 ^ uVar5)" (( "(") (binary_expression "uVar3 >> 8 ^ uVar5" (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8")) (^ "^") (identifier "uVar5")) () ")")) (& "&") (number_literal "0xff00ff"))) (; ";")) (expression_statement "uVar5 = uVar5 ^ uVar1;" (assignment_expression "uVar5 = uVar5 ^ uVar1" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ uVar1" (identifier "uVar5") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ uVar1 << 8;" (assignment_expression "uVar3 = uVar3 ^ uVar1 << 8" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ uVar1 << 8" (identifier "uVar3") (^ "^") (binary_expression "uVar1 << 8" (identifier "uVar1") (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;" (assignment_expression "uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333" (identifier "uVar1") (= "=") (binary_expression "(uVar3 >> 2 ^ uVar5) & 0x33333333" (parenthesized_expression "(uVar3 >> 2 ^ uVar5)" (( "(") (binary_expression "uVar3 >> 2 ^ uVar5" (binary_expression "uVar3 >> 2" (identifier "uVar3") (>> ">>") (number_literal "2")) (^ "^") (identifier "uVar5")) () ")")) (& "&") (number_literal "0x33333333"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ uVar1 * 4;" (assignment_expression "uVar3 = uVar3 ^ uVar1 * 4" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ uVar1 * 4" (identifier "uVar3") (^ "^") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4")))) (; ";")) (expression_statement "uVar5 = uVar5 ^ uVar1;" (assignment_expression "uVar5 = uVar5 ^ uVar1" (identifier "uVar5") (= "=") (binary_expression "uVar5 ^ uVar1" (identifier "uVar5") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;" (assignment_expression "uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff" (identifier "uVar1") (= "=") (binary_expression "(uVar5 >> 0x10 ^ uVar3) & 0xffff" (parenthesized_expression "(uVar5 >> 0x10 ^ uVar3)" (( "(") (binary_expression "uVar5 >> 0x10 ^ uVar3" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (^ "^") (identifier "uVar3")) () ")")) (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar3 = uVar3 ^ uVar1;" (assignment_expression "uVar3 = uVar3 ^ uVar1" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ uVar1" (identifier "uVar3") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "uVar5 = uVar1 << 0x10 ^ uVar5;" (assignment_expression "uVar5 = uVar1 << 0x10 ^ uVar5" (identifier "uVar5") (= "=") (binary_expression "uVar1 << 0x10 ^ uVar5" (binary_expression "uVar1 << 0x10" (identifier "uVar1") (<< "<<") (number_literal "0x10")) (^ "^") (identifier "uVar5"))) (; ";")) (expression_statement "uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;" (assignment_expression "uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f" (identifier "uVar1") (= "=") (binary_expression "(uVar5 >> 4 ^ uVar3) & 0xf0f0f0f" (parenthesized_expression "(uVar5 >> 4 ^ uVar3)" (( "(") (binary_expression "uVar5 >> 4 ^ uVar3" (binary_expression "uVar5 >> 4" (identifier "uVar5") (>> ">>") (number_literal "4")) (^ "^") (identifier "uVar3")) () ")")) (& "&") (number_literal "0xf0f0f0f"))) (; ";")) (expression_statement "param_1[1] = uVar1 ^ uVar3;" (assignment_expression "param_1[1] = uVar1 ^ uVar3" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar1 ^ uVar3" (identifier "uVar1") (^ "^") (identifier "uVar3"))) (; ";")) (expression_statement "*param_1 = uVar5 ^ uVar1 << 4;" (assignment_expression "*param_1 = uVar5 ^ uVar1 << 4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (binary_expression "uVar5 ^ uVar1 << 4" (identifier "uVar5") (^ "^") (binary_expression "uVar1 << 4" (identifier "uVar1") (<< "<<") (number_literal "4")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void __regparm3 function_1(type_1 *output,type_1 var_1,type_1 var_2,type_2 *sched)

{
  type_3 var_3;
  type_3 var_5;
  type_3 var_4;
  type_3 var_6;
  type_3 var_7;
  
  var_3 = (var_1 >> 4 ^ var_2) & 0xf0f0f0f;
  var_5 = var_2 ^ var_3;
  var_4 = var_1 ^ var_3 << 4;
  var_3 = (var_4 >> 0x10 ^ var_5) & 0xffff;
  var_5 = var_3 ^ var_5;
  var_4 = var_4 ^ var_3 << 0x10;
  var_3 = (var_5 >> 2 ^ var_4) & 0x33333333;
  var_4 = var_4 ^ var_3;
  var_5 = var_5 ^ var_3 * 4;
  var_3 = (var_5 >> 8 ^ var_4) & 0xff00ff;
  var_4 = var_3 ^ var_4;
  var_5 = var_5 ^ var_3 << 8;
  var_3 = (var_4 >> 1 ^ var_5) & 0x55555555;
  var_5 = var_5 ^ var_3;
  var_4 = var_4 ^ var_3 * 2;
  var_6 = var_5 << 1 | (type_3)((int)var_5 < 0);
  var_5 = sched->k0246[0] ^ var_6;
  var_7 = var_6 ^ sched->k1357[0];
  var_3 = var_5 >> 4;
  var_4 = (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^
          (var_4 << 1 | (type_3)((int)var_4 < 0));
  var_5 = sched->k1357[1] ^ var_4;
  var_7 = sched->k0246[1] ^ var_4;
  var_3 = var_7 >> 4;
  var_6 = (SPboxes[1][var_5 >> 0x18 & 0x3f] | SPboxes[3][var_5 >> 0x10 & 0x3f] |
           SPboxes[7][var_5 & 0x3f] | SPboxes[5][var_5 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_7 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_6;
  var_7 = sched->k1357[2] ^ var_6;
  var_5 = sched->k0246[2] ^ var_6;
  var_3 = var_5 >> 4;
  var_4 = (SPboxes[6][var_3 & 0x3f] |
           SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_4;
  var_5 = sched->k0246[3] ^ var_4;
  var_3 = var_5 >> 4;
  var_7 = sched->k1357[3] ^ var_4;
  var_6 = (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_6;
  var_7 = sched->k1357[4] ^ var_6;
  var_5 = sched->k0246[4] ^ var_6;
  var_3 = var_5 >> 4;
  var_4 = var_4 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_7 = sched->k1357[5] ^ var_4;
  var_5 = sched->k0246[5] ^ var_4;
  var_3 = var_5 >> 4;
  var_6 = var_6 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_7 = sched->k1357[6] ^ var_6;
  var_5 = sched->k0246[6] ^ var_6;
  var_3 = var_5 >> 4;
  var_4 = var_4 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_7 = sched->k1357[7] ^ var_4;
  var_5 = sched->k0246[7] ^ var_4;
  var_3 = var_5 >> 4;
  var_6 = (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_6;
  var_5 = sched->k0246[8] ^ var_6;
  var_7 = sched->k1357[8] ^ var_6;
  var_3 = var_5 >> 4;
  var_4 = var_4 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_5 = sched->k0246[9] ^ var_4;
  var_7 = sched->k1357[9] ^ var_4;
  var_3 = var_5 >> 4;
  var_6 = var_6 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_7 = sched->k1357[10] ^ var_6;
  var_5 = sched->k0246[10] ^ var_6;
  var_3 = var_5 >> 4;
  var_4 = var_4 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_7 = sched->k1357[0xb] ^ var_4;
  var_5 = sched->k0246[0xb] ^ var_4;
  var_3 = var_5 >> 4;
  var_6 = (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_6;
  var_7 = sched->k1357[0xc] ^ var_6;
  var_5 = sched->k0246[0xc] ^ var_6;
  var_3 = var_5 >> 4;
  var_4 = (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_4;
  var_5 = sched->k0246[0xd] ^ var_4;
  var_7 = var_4 ^ sched->k1357[0xd];
  var_3 = var_5 >> 4;
  var_6 = (SPboxes[6][var_3 & 0x3f] |
           SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
           SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
           SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_6;
  var_5 = sched->k1357[0xe] ^ var_6;
  var_7 = sched->k0246[0xe] ^ var_6;
  var_3 = var_7 >> 4;
  var_4 = (SPboxes[1][var_5 >> 0x18 & 0x3f] | SPboxes[3][var_5 >> 0x10 & 0x3f] |
           SPboxes[7][var_5 & 0x3f] | SPboxes[5][var_5 >> 8 & 0x3f] | SPboxes[6][var_3 & 0x3f] |
           SPboxes[0][(var_3 | var_7 << 0x1c) >> 0x18 & 0x3f] |
           SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]) ^ var_4;
  var_7 = sched->k1357[0xf] ^ var_4;
  var_5 = sched->k0246[0xf] ^ var_4;
  var_3 = var_5 >> 4;
  var_4 = var_4 >> 1 | (type_3)((var_4 & 1) != 0) << 0x1f;
  var_6 = var_6 ^ (SPboxes[1][var_7 >> 0x18 & 0x3f] | SPboxes[3][var_7 >> 0x10 & 0x3f] |
                   SPboxes[7][var_7 & 0x3f] | SPboxes[5][var_7 >> 8 & 0x3f] |
                   SPboxes[6][var_3 & 0x3f] | SPboxes[0][(var_3 | var_5 << 0x1c) >> 0x18 & 0x3f] |
                   SPboxes[2][(var_3 & 0x3f0000) >> 0x10] | SPboxes[4][(var_3 & 0x3f00) >> 8]);
  var_5 = var_6 >> 1 | (type_3)((var_6 & 1) != 0) << 0x1f;
  var_3 = (var_5 >> 1 ^ var_4) & 0x55555555;
  var_4 = var_4 ^ var_3;
  var_5 = var_5 ^ var_3 * 2;
  var_3 = (var_4 >> 8 ^ var_5) & 0xff00ff;
  var_5 = var_5 ^ var_3;
  var_4 = var_4 ^ var_3 << 8;
  var_3 = (var_4 >> 2 ^ var_5) & 0x33333333;
  var_4 = var_4 ^ var_3 * 4;
  var_5 = var_5 ^ var_3;
  var_3 = (var_5 >> 0x10 ^ var_4) & 0xffff;
  var_4 = var_4 ^ var_3;
  var_5 = var_3 << 0x10 ^ var_5;
  var_3 = (var_5 >> 4 ^ var_4) & 0xf0f0f0f;
  output[1] = var_3 ^ var_4;
  *output = var_5 ^ var_3 << 4;
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void __regparm3 MASKED(uint *param_1,uint param_2,uint param_3,uint *param_4)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  
  uVar1 = (param_2 >> 4 ^ param_3) & 0xf0f0f0f;
  param_3 = param_3 ^ uVar1;
  param_2 = param_2 ^ uVar1 << 4;
  uVar1 = (param_2 >> 0x10 ^ param_3) & 0xffff;
  param_3 = uVar1 ^ param_3;
  param_2 = param_2 ^ uVar1 << 0x10;
  uVar1 = (param_3 >> 2 ^ param_2) & 0x33333333;
  param_2 = param_2 ^ uVar1;
  param_3 = param_3 ^ uVar1 * 4;
  uVar1 = (param_3 >> 8 ^ param_2) & 0xff00ff;
  param_2 = uVar1 ^ param_2;
  param_3 = param_3 ^ uVar1 << 8;
  uVar1 = (param_2 >> 1 ^ param_3) & 0x55555555;
  param_3 = param_3 ^ uVar1;
  param_2 = param_2 ^ uVar1 * 2;
  uVar4 = param_3 << 1 | (uint)((int)param_3 < 0);
  uVar5 = uVar4 ^ param_4[0x10];
  uVar1 = (*param_4 ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (*param_4 ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^
          (param_2 << 1 | (uint)((int)param_2 < 0));
  uVar5 = param_4[0x11] ^ uVar2;
  uVar1 = (param_4[1] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[1] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x12] ^ uVar4;
  uVar1 = (param_4[2] ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[2] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;
  uVar1 = (param_4[3] ^ uVar2) >> 4;
  uVar5 = param_4[0x13] ^ uVar2;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[3] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x14] ^ uVar4;
  uVar1 = (param_4[4] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[4] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x15] ^ uVar2;
  uVar1 = (param_4[5] ^ uVar2) >> 4;
  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[5] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x16] ^ uVar4;
  uVar1 = (param_4[6] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[6] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x17] ^ uVar2;
  uVar1 = (param_4[7] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[7] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x18] ^ uVar4;
  uVar1 = (param_4[8] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[8] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x19] ^ uVar2;
  uVar1 = (param_4[9] ^ uVar2) >> 4;
  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[9] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x1a] ^ uVar4;
  uVar1 = (param_4[10] ^ uVar4) >> 4;
  uVar2 = uVar2 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[10] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = param_4[0x1b] ^ uVar2;
  uVar1 = (param_4[0xb] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xb] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x1c] ^ uVar4;
  uVar1 = (param_4[0xc] ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xc] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;
  uVar5 = uVar2 ^ param_4[0x1d];
  uVar1 = (param_4[0xd] ^ uVar2) >> 4;
  uVar4 = (*(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xd] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar4;
  uVar5 = param_4[0x1e] ^ uVar4;
  uVar1 = (param_4[0xe] ^ uVar4) >> 4;
  uVar2 = (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
           *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
           *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
           *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
           *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
           *(uint *)(&DAT_00044180 + ((uVar1 | (param_4[0xe] ^ uVar4) << 0x1c) >> 0x18 & 0x3f) * 4)
           | *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
          *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4)) ^ uVar2;
  uVar5 = param_4[0x1f] ^ uVar2;
  uVar1 = (param_4[0xf] ^ uVar2) >> 4;
  uVar3 = uVar2 >> 1 | (uint)((uVar2 & 1) != 0) << 0x1f;
  uVar4 = uVar4 ^ (*(uint *)(&DAT_00044280 + (uVar5 >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044480 + (uVar5 >> 0x10 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044880 + (uVar5 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044680 + (uVar5 >> 8 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044780 + (uVar1 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044180 +
                            ((uVar1 | (param_4[0xf] ^ uVar2) << 0x1c) >> 0x18 & 0x3f) * 4) |
                   *(uint *)(&DAT_00044380 + ((uVar1 & 0x3f0000) >> 0x10) * 4) |
                  *(uint *)(&DAT_00044580 + ((uVar1 & 0x3f00) >> 8) * 4));
  uVar5 = uVar4 >> 1 | (uint)((uVar4 & 1) != 0) << 0x1f;
  uVar1 = (uVar5 >> 1 ^ uVar3) & 0x55555555;
  uVar3 = uVar3 ^ uVar1;
  uVar5 = uVar5 ^ uVar1 * 2;
  uVar1 = (uVar3 >> 8 ^ uVar5) & 0xff00ff;
  uVar5 = uVar5 ^ uVar1;
  uVar3 = uVar3 ^ uVar1 << 8;
  uVar1 = (uVar3 >> 2 ^ uVar5) & 0x33333333;
  uVar3 = uVar3 ^ uVar1 * 4;
  uVar5 = uVar5 ^ uVar1;
  uVar1 = (uVar5 >> 0x10 ^ uVar3) & 0xffff;
  uVar3 = uVar3 ^ uVar1;
  uVar5 = uVar1 << 0x10 ^ uVar5;
  uVar1 = (uVar5 >> 4 ^ uVar3) & 0xf0f0f0f;
  param_1[1] = uVar1 ^ uVar3;
  *param_1 = uVar5 ^ uVar1 << 4;
  return;
}

