
void blowfish_encrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)

{
  word32 wVar1;
  uint uVar2;
  uint uVar3;
  word32 *S0;
  word32 wVar4;
  word32 wVar5;
  uint uVar6;
  uint uVar7;
  
  uVar2 = xL ^ ctx->P[0];
  uVar3 = xR ^ ctx->P[1] ^
          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]
          ) + ctx->S3[uVar2 & 0xff];
  uVar6 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]
          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2];
  uVar2 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]
          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3];
  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]
          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4];
  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]
          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5];
  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]
          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6];
  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]
          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7];
  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]
          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8];
  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]
          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9];
  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]
          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10];
  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]
          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb];
  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]
          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc];
  uVar7 = ctx->P[0x10];
  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]
          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd];
  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]
          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe];
  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]
          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf];
  wVar5 = ctx->S1[(uVar2 << 8) >> 0x18];
  wVar4 = ctx->S0[uVar2 >> 0x18];
  uVar6 = ctx->S2[(uVar2 << 0x10) >> 0x18];
  wVar1 = ctx->S3[uVar2 & 0xff];
  *output = ctx->P[0x11] ^ uVar2;
  output[1] = (wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7;
  return;
}



void FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)

{
  int iVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  
  iVar4 = param_4 + 0x400;
  iVar2 = param_4 + 0x800;
  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);
  iVar1 = param_4 + 0xc00;
  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^
          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +
           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +
          *(int *)(iVar1 + (param_1 & 0xff) * 4);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          param_1 ^ *(uint *)(param_4 + 0x1008);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x100c);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1010);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1014);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1018);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x101c);
  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1020);
  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1024);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar7 ^ *(uint *)(param_4 + 0x1028);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x102c);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1030);
  uVar8 = *(uint *)(param_4 + 0x1040);
  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1034);
  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1038);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar7 ^ *(uint *)(param_4 + 0x103c);
  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);
  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);
  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);
  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);
  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;
  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;
  return;
}


lw t3,0x1000(a3)
addiu sp,sp,-0x8
addiu t0,a3,0x400
lw t4,0x1004(a3)
addiu v1,a3,0x800
lw t1,0x1008(a3)
xor a0,a0,t3
sw s0,0x4(sp)
ext t5,a0,0x10,0x8
lw t7,0x100c(a3)
srl s0,a0,0x18
lw t3,0x1010(a3)
ext t9,a0,0x8,0x8
lw t6,0x1014(a3)
sll t5,t5,0x2
lw t2,0x1018(a3)
sll s0,s0,0x2
addu t5,t0,t5
addu s0,a3,s0
andi t8,a0,0xff
sll t9,t9,0x2
lw t5,0x0(t5)
addiu v0,a3,0xc00
lw s0,0x0(s0)
sll t8,t8,0x2
addu t9,v1,t9
addu t8,v0,t8
addu t5,t5,s0
lw t9,0x0(t9)
xor a1,a1,t4
lw t4,0x0(t8)
xor a0,a0,t1
xor t5,t5,t9
addu t5,t5,t4
xor a1,a1,t5
ext t1,a1,0x10,0x8
srl t8,a1,0x18
ext t5,a1,0x8,0x8
sll t1,t1,0x2
sll t8,t8,0x2
addu t1,t0,t1
addu t8,a3,t8
andi t4,a1,0xff
sll t5,t5,0x2
lw t1,0x0(t1)
sll t4,t4,0x2
lw t8,0x0(t8)
addu t5,v1,t5
addu t4,v0,t4
addu t1,t1,t8
lw t5,0x0(t5)
xor a1,a1,t7
lw t4,0x0(t4)
xor t1,t1,t5
addu t1,t1,t4
xor t1,t1,a0
ext a0,t1,0x10,0x8
srl t7,t1,0x18
ext t5,t1,0x8,0x8
sll a0,a0,0x2
sll t7,t7,0x2
addu a0,t0,a0
addu t7,a3,t7
andi t4,t1,0xff
sll t5,t5,0x2
lw a0,0x0(a0)
sll t4,t4,0x2
lw t7,0x0(t7)
addu t5,v1,t5
addu t4,v0,t4
xor t1,t1,t3
lw t5,0x0(t5)
addu a0,a0,t7
lw t3,0x0(t4)
xor a0,a0,t5
addu a0,a0,t3
xor a0,a0,a1
ext t3,a0,0x10,0x8
srl t5,a0,0x18
ext t4,a0,0x8,0x8
sll t3,t3,0x2
sll t5,t5,0x2
addu t3,t0,t3
addu t5,a3,t5
andi a1,a0,0xff
sll t4,t4,0x2
lw t3,0x0(t3)
sll a1,a1,0x2
lw t5,0x0(t5)
addu t4,v1,t4
addu a1,v0,a1
addu t3,t3,t5
lw t4,0x0(t4)
xor a0,a0,t6
lw a1,0x0(a1)
xor t3,t3,t4
addu t3,t3,a1
xor t3,t3,t1
ext a1,t3,0x10,0x8
srl t5,t3,0x18
ext t4,t3,0x8,0x8
sll a1,a1,0x2
sll t5,t5,0x2
addu a1,t0,a1
addu t5,a3,t5
andi t1,t3,0xff
sll t4,t4,0x2
lw a1,0x0(a1)
sll t1,t1,0x2
lw t5,0x0(t5)
addu t4,v1,t4
addu t1,v0,t1
addu a1,a1,t5
lw t4,0x0(t4)
xor t3,t3,t2
lw t1,0x0(t1)
xor a1,a1,t4
addu a1,a1,t1
xor a0,a1,a0
ext t1,a0,0x10,0x8
srl t4,a0,0x18
ext t2,a0,0x8,0x8
sll t1,t1,0x2
sll t4,t4,0x2
addu t1,t0,t1
addu t4,a3,t4
andi a1,a0,0xff
sll t2,t2,0x2
lw t1,0x0(t1)
sll a1,a1,0x2
lw t4,0x0(t4)
addu t2,v1,t2
addu a1,v0,a1
addu t1,t1,t4
lw t2,0x0(t2)
lw a1,0x0(a1)
lw t4,0x101c(a3)
xor t1,t1,t2
addu t1,t1,a1
xor t4,a0,t4
xor t3,t1,t3
ext a1,t3,0x10,0x8
srl t1,t3,0x18
ext t6,t3,0x8,0x8
sll a1,a1,0x2
sll t1,t1,0x2
addu a1,t0,a1
addu t1,a3,t1
andi t5,t3,0xff
sll t6,t6,0x2
lw a1,0x0(a1)
sll t5,t5,0x2
lw t2,0x0(t1)
addu t6,v1,t6
lw t1,0x1020(a3)
addu t5,v0,t5
addu a1,a1,t2
lw t2,0x1024(a3)
lw t7,0x0(t6)
xor t3,t3,t1
lw t6,0x0(t5)
lw t1,0x1028(a3)
xor a0,a1,t7
lw t5,0x102c(a3)
addu a0,a0,t6
lw a1,0x1030(a3)
xor a0,a0,t4
ext t4,a0,0x10,0x8
srl t8,a0,0x18
ext t7,a0,0x8,0x8
sll t4,t4,0x2
sll t8,t8,0x2
addu t4,t0,t4
addu t8,a3,t8
andi t6,a0,0xff
sll t7,t7,0x2
lw t4,0x0(t4)
sll t6,t6,0x2
lw t8,0x0(t8)
addu t7,v1,t7
addu t6,v0,t6
xor a0,a0,t2
lw t7,0x0(t7)
addu t4,t4,t8
lw t2,0x0(t6)
xor t4,t4,t7
addu t4,t4,t2
xor t3,t4,t3
ext t2,t3,0x10,0x8
srl t7,t3,0x18
ext t6,t3,0x8,0x8
sll t2,t2,0x2
sll t7,t7,0x2
addu t2,t0,t2
addu t7,a3,t7
andi t4,t3,0xff
sll t6,t6,0x2
lw t2,0x0(t2)
sll t4,t4,0x2
lw t7,0x0(t7)
addu t6,v1,t6
addu t4,v0,t4
xor t3,t3,t1
lw t6,0x0(t6)
addu t2,t2,t7
lw t1,0x0(t4)
xor t2,t2,t6
addu t2,t2,t1
xor t2,t2,a0
ext t1,t2,0x10,0x8
srl t6,t2,0x18
ext t4,t2,0x8,0x8
sll t1,t1,0x2
sll t6,t6,0x2
addu t1,t0,t1
addu t6,a3,t6
andi a0,t2,0xff
sll t4,t4,0x2
lw t1,0x0(t1)
sll a0,a0,0x2
lw t6,0x0(t6)
addu t4,v1,t4
addu a0,v0,a0
addu t1,t1,t6
lw t4,0x0(t4)
xor t2,t2,t5
lw a0,0x0(a0)
xor t1,t1,t4
addu t1,t1,a0
xor t1,t1,t3
ext a0,t1,0x10,0x8
srl t5,t1,0x18
ext t4,t1,0x8,0x8
sll a0,a0,0x2
sll t5,t5,0x2
addu a0,t0,a0
addu t5,a3,t5
andi t3,t1,0xff
sll t4,t4,0x2
lw a0,0x0(a0)
sll t3,t3,0x2
lw t5,0x0(t5)
addu t4,v1,t4
addu t3,v0,t3
addu a0,a0,t5
lw t4,0x0(t4)
xor t1,t1,a1
lw a1,0x0(t3)
xor a0,a0,t4
addu a0,a0,a1
xor t2,a0,t2
ext a1,t2,0x10,0x8
srl t4,t2,0x18
ext t3,t2,0x8,0x8
sll a1,a1,0x2
sll t4,t4,0x2
addu a1,t0,a1
addu t4,a3,t4
andi a0,t2,0xff
sll t3,t3,0x2
lw a1,0x0(a1)
sll a0,a0,0x2
lw t4,0x0(t4)
addu t3,v1,t3
addu a0,v0,a0
addu a1,a1,t4
lw t3,0x0(t3)
lw a0,0x0(a0)
xor a1,a1,t3
addu a1,a1,a0
xor t1,a1,t1
ext t3,t1,0x10,0x8
srl t4,t1,0x18
sll t3,t3,0x2
sll t4,t4,0x2
ext a1,t1,0x8,0x8
addu t3,t0,t3
addu t4,a3,t4
andi a0,t1,0xff
sll a1,a1,0x2
lw t3,0x0(t3)
sll a0,a0,0x2
lw t4,0x0(t4)
addu a1,v1,a1
lw t9,0x1038(a3)
addu a0,v0,a0
lw t5,0x1040(a3)
addu t3,t3,t4
lw s0,0x4(sp)
lw t4,0x0(a1)
xor t1,t1,t9
lw a0,0x0(a0)
lw a1,0x1034(a3)
xor t3,t3,t4
lw t4,0x1044(a3)
addu t3,t3,a0
lw a0,0x103c(a3)
xor t2,t2,a1
xor t2,t3,t2
ext a1,t2,0x10,0x8
srl t8,t2,0x18
ext t7,t2,0x8,0x8
sll a1,a1,0x2
sll t8,t8,0x2
addu a1,t0,a1
addu t8,a3,t8
andi t6,t2,0xff
sll t7,t7,0x2
lw a1,0x0(a1)
sll t6,t6,0x2
lw t3,0x0(t8)
addu t7,v1,t7
addu t6,v0,t6
addu a1,a1,t3
lw t7,0x0(t7)
xor t2,t2,a0
lw t3,0x0(t6)
xor a1,a1,t7
addu a1,a1,t3
xor a1,a1,t1
ext a0,a1,0x10,0x8
srl t6,a1,0x18
ext t3,a1,0x8,0x8
sll a0,a0,0x2
sll t6,t6,0x2
addu a0,t0,a0
addu t6,a3,t6
andi t1,a1,0xff
sll t3,t3,0x2
lw a0,0x0(a0)
sll t1,t1,0x2
lw t6,0x0(t6)
addu t3,v1,t3
addu t1,v0,t1
addu a0,a0,t6
lw t3,0x0(t3)
xor a1,a1,t5
lw t1,0x0(t1)
xor a0,a0,t3
addu a0,a0,t1
xor a0,a0,t2
ext t3,a0,0x10,0x8
srl t2,a0,0x18
sll t3,t3,0x2
sll t2,t2,0x2
ext t1,a0,0x8,0x8
addu t0,t0,t3
addu a3,a3,t2
sll t2,t1,0x2
andi t1,a0,0xff
lw t0,0x0(t0)
sll t1,t1,0x2
lw a3,0x0(a3)
addu v1,v1,t2
addu v0,v0,t1
addu a3,t0,a3
lw t0,0x0(v1)
xor a0,t4,a0
lw v1,0x0(v0)
addiu sp,sp,0x8
sw a0,0x0(a2)
xor v0,a3,t0
addu v0,v0,v1
xor a1,v0,a1
jr ra
_sw a1,0x4(a2)
(translation_unit "void FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}\n\n" (function_definition "void FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}" primitive_type (function_declarator "FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)" identifier (parameter_list "(uint param_1,uint param_2,uint *param_3,int param_4)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (expression_statement "iVar4 = param_4 + 0x400;" (assignment_expression "iVar4 = param_4 + 0x400" identifier = (binary_expression "param_4 + 0x400" identifier + number_literal)) ;) (expression_statement "iVar2 = param_4 + 0x800;" (assignment_expression "iVar2 = param_4 + 0x800" identifier = (binary_expression "param_4 + 0x800" identifier + number_literal)) ;) (expression_statement "param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);" (assignment_expression "param_1 = param_1 ^ *(uint *)(param_4 + 0x1000)" identifier = (binary_expression "param_1 ^ *(uint *)(param_4 + 0x1000)" identifier ^ (pointer_expression "*(uint *)(param_4 + 0x1000)" * (cast_expression "(uint *)(param_4 + 0x1000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1000)" ( (binary_expression "param_4 + 0x1000" identifier + number_literal) )))))) ;) (expression_statement "iVar1 = param_4 + 0xc00;" (assignment_expression "iVar1 = param_4 + 0xc00" identifier = (binary_expression "param_4 + 0xc00" identifier + number_literal)) ;) (expression_statement "uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);" (assignment_expression "uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" identifier = (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1004)" identifier ^ (pointer_expression "*(uint *)(param_4 + 0x1004)" * (cast_expression "(uint *)(param_4 + 0x1004)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1004)" ( (binary_expression "param_4 + 0x1004" identifier + number_literal) ))))) ^ (binary_expression "(*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((param_1 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((param_1 << 8) >> 0x18) * 4" identifier + (binary_expression "((param_1 << 8) >> 0x18) * 4" (parenthesized_expression "((param_1 << 8) >> 0x18)" ( (binary_expression "(param_1 << 8) >> 0x18" (parenthesized_expression "(param_1 << 8)" ( (binary_expression "param_1 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (param_1 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_1 >> 0x18) * 4)" ( (binary_expression "param_4 + (param_1 >> 0x18) * 4" identifier + (binary_expression "(param_1 >> 0x18) * 4" (parenthesized_expression "(param_1 >> 0x18)" ( (binary_expression "param_1 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((param_1 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((param_1 << 0x10) >> 0x18) * 4" (parenthesized_expression "((param_1 << 0x10) >> 0x18)" ( (binary_expression "(param_1 << 0x10) >> 0x18" (parenthesized_expression "(param_1 << 0x10)" ( (binary_expression "param_1 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (param_1 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (param_1 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (param_1 & 0xff) * 4)" ( (binary_expression "iVar1 + (param_1 & 0xff) * 4" identifier + (binary_expression "(param_1 & 0xff) * 4" (parenthesized_expression "(param_1 & 0xff)" ( (binary_expression "param_1 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1008)" * (cast_expression "(uint *)(param_4 + 0x1008)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1008)" ( (binary_expression "param_4 + 0x1008" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x100c)" * (cast_expression "(uint *)(param_4 + 0x100c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x100c)" ( (binary_expression "param_4 + 0x100c" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1010)" * (cast_expression "(uint *)(param_4 + 0x1010)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1010)" ( (binary_expression "param_4 + 0x1010" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1014)" * (cast_expression "(uint *)(param_4 + 0x1014)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1014)" ( (binary_expression "param_4 + 0x1014" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1018)" * (cast_expression "(uint *)(param_4 + 0x1018)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1018)" ( (binary_expression "param_4 + 0x1018" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x101c)" * (cast_expression "(uint *)(param_4 + 0x101c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x101c)" ( (binary_expression "param_4 + 0x101c" identifier + number_literal) )))))) ;) (expression_statement "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);" (assignment_expression "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1020)" * (cast_expression "(uint *)(param_4 + 0x1020)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1020)" ( (binary_expression "param_4 + 0x1020" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024)" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar7 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 8) >> 0x18)" ( (binary_expression "(uVar7 << 8) >> 0x18" (parenthesized_expression "(uVar7 << 8)" ( (binary_expression "uVar7 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar7 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar7 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar7 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar7 >> 0x18) * 4" identifier + (binary_expression "(uVar7 >> 0x18) * 4" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar7 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 0x10) >> 0x18)" ( (binary_expression "(uVar7 << 0x10) >> 0x18" (parenthesized_expression "(uVar7 << 0x10)" ( (binary_expression "uVar7 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar7 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar7 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar7 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar7 & 0xff) * 4" identifier + (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1024)" * (cast_expression "(uint *)(param_4 + 0x1024)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1024)" ( (binary_expression "param_4 + 0x1024" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1028)" * (cast_expression "(uint *)(param_4 + 0x1028)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1028)" ( (binary_expression "param_4 + 0x1028" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x102c)" * (cast_expression "(uint *)(param_4 + 0x102c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x102c)" ( (binary_expression "param_4 + 0x102c" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1030)" * (cast_expression "(uint *)(param_4 + 0x1030)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1030)" ( (binary_expression "param_4 + 0x1030" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = *(uint *)(param_4 + 0x1040);" (assignment_expression "uVar8 = *(uint *)(param_4 + 0x1040)" identifier = (pointer_expression "*(uint *)(param_4 + 0x1040)" * (cast_expression "(uint *)(param_4 + 0x1040)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1040)" ( (binary_expression "param_4 + 0x1040" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);" (assignment_expression "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1034)" * (cast_expression "(uint *)(param_4 + 0x1034)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1034)" ( (binary_expression "param_4 + 0x1034" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038)" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar7 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 8) >> 0x18)" ( (binary_expression "(uVar7 << 8) >> 0x18" (parenthesized_expression "(uVar7 << 8)" ( (binary_expression "uVar7 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar7 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar7 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar7 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar7 >> 0x18) * 4" identifier + (binary_expression "(uVar7 >> 0x18) * 4" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar7 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 0x10) >> 0x18)" ( (binary_expression "(uVar7 << 0x10) >> 0x18" (parenthesized_expression "(uVar7 << 0x10)" ( (binary_expression "uVar7 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar7 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar7 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar7 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar7 & 0xff) * 4" identifier + (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1038)" * (cast_expression "(uint *)(param_4 + 0x1038)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1038)" ( (binary_expression "param_4 + 0x1038" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x103c)" * (cast_expression "(uint *)(param_4 + 0x103c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x103c)" ( (binary_expression "param_4 + 0x103c" identifier + number_literal) )))))) ;) (expression_statement "iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);" (assignment_expression "iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" identifier = (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) ;) (expression_statement "iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);" (assignment_expression "iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4)" identifier = (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);" (assignment_expression "uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" identifier = (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);" (assignment_expression "iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4)" identifier = (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;" (assignment_expression "*param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3" (pointer_expression "*param_3" * identifier) = (binary_expression "*(uint *)(param_4 + 0x1044) ^ uVar3" (pointer_expression "*(uint *)(param_4 + 0x1044)" * (cast_expression "(uint *)(param_4 + 0x1044)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1044)" ( (binary_expression "param_4 + 0x1044" identifier + number_literal) )))) ^ identifier)) ;) (expression_statement "param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;" (assignment_expression "param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8" (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6" (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1" (parenthesized_expression "(iVar5 + iVar4 ^ uVar7)" ( (binary_expression "iVar5 + iVar4 ^ uVar7" (binary_expression "iVar5 + iVar4" identifier + identifier) ^ identifier) )) + identifier) ^ identifier) ^ identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "void blowfish_encrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)\n\n{\n  word32 wVar1;\n  uint uVar2;\n  uint uVar3;\n  word32 *S0;\n  word32 wVar4;\n  word32 wVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  uVar2 = xL ^ ctx->P[0];\n  uVar3 = xR ^ ctx->P[1] ^\n          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff];\n  uVar6 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2];\n  uVar2 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7];\n  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8];\n  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc];\n  uVar7 = ctx->P[0x10];\n  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd];\n  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf];\n  wVar5 = ctx->S1[(uVar2 << 8) >> 0x18];\n  wVar4 = ctx->S0[uVar2 >> 0x18];\n  uVar6 = ctx->S2[(uVar2 << 0x10) >> 0x18];\n  wVar1 = ctx->S3[uVar2 & 0xff];\n  *output = ctx->P[0x11] ^ uVar2;\n  output[1] = (wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7;\n  return;\n}\n\n" (function_definition "void blowfish_encrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)\n\n{\n  word32 wVar1;\n  uint uVar2;\n  uint uVar3;\n  word32 *S0;\n  word32 wVar4;\n  word32 wVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  uVar2 = xL ^ ctx->P[0];\n  uVar3 = xR ^ ctx->P[1] ^\n          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff];\n  uVar6 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2];\n  uVar2 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7];\n  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8];\n  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc];\n  uVar7 = ctx->P[0x10];\n  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd];\n  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf];\n  wVar5 = ctx->S1[(uVar2 << 8) >> 0x18];\n  wVar4 = ctx->S0[uVar2 >> 0x18];\n  uVar6 = ctx->S2[(uVar2 << 0x10) >> 0x18];\n  wVar1 = ctx->S3[uVar2 & 0xff];\n  *output = ctx->P[0x11] ^ uVar2;\n  output[1] = (wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7;\n  return;\n}" primitive_type (function_declarator "blowfish_encrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)" identifier (parameter_list "(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)" ( (parameter_declaration "word32 xL" type_identifier identifier) , (parameter_declaration "word32 xR" type_identifier identifier) , (parameter_declaration "word32 *output" type_identifier (pointer_declarator "*output" * identifier)) , (parameter_declaration "BlowfishContext *ctx" type_identifier (pointer_declarator "*ctx" * identifier)) ))) (compound_statement "{\n  word32 wVar1;\n  uint uVar2;\n  uint uVar3;\n  word32 *S0;\n  word32 wVar4;\n  word32 wVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  uVar2 = xL ^ ctx->P[0];\n  uVar3 = xR ^ ctx->P[1] ^\n          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff];\n  uVar6 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2];\n  uVar2 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7];\n  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8];\n  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10];\n  uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc];\n  uVar7 = ctx->P[0x10];\n  uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd];\n  uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe];\n  uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf];\n  wVar5 = ctx->S1[(uVar2 << 8) >> 0x18];\n  wVar4 = ctx->S0[uVar2 >> 0x18];\n  uVar6 = ctx->S2[(uVar2 << 0x10) >> 0x18];\n  wVar1 = ctx->S3[uVar2 & 0xff];\n  *output = ctx->P[0x11] ^ uVar2;\n  output[1] = (wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7;\n  return;\n}" { (declaration "word32 wVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "word32 *S0;" type_identifier (pointer_declarator "*S0" * identifier) ;) (declaration "word32 wVar4;" type_identifier identifier ;) (declaration "word32 wVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (expression_statement "uVar2 = xL ^ ctx->P[0];" (assignment_expression "uVar2 = xL ^ ctx->P[0]" identifier = (binary_expression "xL ^ ctx->P[0]" identifier ^ (subscript_expression "ctx->P[0]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar3 = xR ^ ctx->P[1] ^\n          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff];" (assignment_expression "uVar3 = xR ^ ctx->P[1] ^\n          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" identifier = (binary_expression "xR ^ ctx->P[1] ^\n          (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (binary_expression "xR ^ ctx->P[1]" identifier ^ (subscript_expression "ctx->P[1]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18]" (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar6 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2];" (assignment_expression "uVar6 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2]" identifier = (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[2]" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18]" (subscript_expression "ctx->S1[(uVar3 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar3 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar3 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar3 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[2]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar2 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3];" (assignment_expression "uVar2 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3]" identifier = (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3 ^ ctx->P[3]" (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar3" (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18]" (subscript_expression "ctx->S1[(uVar6 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar6 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar6 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar6 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[3]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4];" (assignment_expression "uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4]" identifier = (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6 ^ ctx->P[4]" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar6" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18]" (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[4]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5];" (assignment_expression "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5]" identifier = (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[5]" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18]" (subscript_expression "ctx->S1[(uVar3 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar3 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar3 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar3 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[5]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6];" (assignment_expression "uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6]" identifier = (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[6]" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18]" (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[6]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7];" (assignment_expression "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7]" identifier = (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[7]" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18]" (subscript_expression "ctx->S1[(uVar3 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar3 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar3 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar3 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[7]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8];" (assignment_expression "uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8]" identifier = (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[8]" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18]" (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[8]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9];" (assignment_expression "uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9]" identifier = (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[9]" (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2" (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18]" (subscript_expression "ctx->S1[(uVar6 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar6 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar6 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar6 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[9]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10];" (assignment_expression "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10]" identifier = (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[10]" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18]" (subscript_expression "ctx->S1[(uVar3 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar3 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar3 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar3 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[10]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb];" (assignment_expression "uVar3 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb]" identifier = (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xb]" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18]" (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[0xb]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc];" (assignment_expression "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc]" identifier = (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2 ^ ctx->P[0xc]" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar2" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18]" (subscript_expression "ctx->S1[(uVar3 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar3 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar3 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar3 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[0xc]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar7 = ctx->P[0x10];" (assignment_expression "uVar7 = ctx->P[0x10]" identifier = (subscript_expression "ctx->P[0x10]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd];" (assignment_expression "uVar6 = (ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd]" identifier = (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3 ^ ctx->P[0xd]" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff] ^ uVar3" (binary_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar2 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18] ^ ctx->S2[(uVar2 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar2 << 8) >> 0x18] + ctx->S0[uVar2 >> 0x18]" (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[0xd]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe];" (assignment_expression "uVar3 = (ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe]" identifier = (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2 ^ ctx->P[0xe]" (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff] ^ uVar2" (binary_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18] ^ ctx->S2[(uVar6 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar6 << 8) >> 0x18] + ctx->S0[uVar6 >> 0x18]" (subscript_expression "ctx->S1[(uVar6 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar6 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar6 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar6 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[0xe]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf];" (assignment_expression "uVar2 = (ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf]" identifier = (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6 ^ ctx->P[0xf]" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff] ^ uVar6" (binary_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          ) + ctx->S3[uVar3 & 0xff]" (parenthesized_expression "(ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]\n          )" ( (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18] ^ ctx->S2[(uVar3 << 0x10) >> 0x18]" (binary_expression "ctx->S1[(uVar3 << 8) >> 0x18] + ctx->S0[uVar3 >> 0x18]" (subscript_expression "ctx->S1[(uVar3 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) ]) + (subscript_expression "ctx->S0[uVar3 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "ctx->S2[(uVar3 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) ])) )) + (subscript_expression "ctx->S3[uVar3 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ identifier) ^ (subscript_expression "ctx->P[0xf]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "wVar5 = ctx->S1[(uVar2 << 8) >> 0x18];" (assignment_expression "wVar5 = ctx->S1[(uVar2 << 8) >> 0x18]" identifier = (subscript_expression "ctx->S1[(uVar2 << 8) >> 0x18]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "(uVar2 << 8) >> 0x18" (parenthesized_expression "(uVar2 << 8)" ( (binary_expression "uVar2 << 8" identifier << number_literal) )) >> number_literal) ])) ;) (expression_statement "wVar4 = ctx->S0[uVar2 >> 0x18];" (assignment_expression "wVar4 = ctx->S0[uVar2 >> 0x18]" identifier = (subscript_expression "ctx->S0[uVar2 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ;) (expression_statement "uVar6 = ctx->S2[(uVar2 << 0x10) >> 0x18];" (assignment_expression "uVar6 = ctx->S2[(uVar2 << 0x10) >> 0x18]" identifier = (subscript_expression "ctx->S2[(uVar2 << 0x10) >> 0x18]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "(uVar2 << 0x10) >> 0x18" (parenthesized_expression "(uVar2 << 0x10)" ( (binary_expression "uVar2 << 0x10" identifier << number_literal) )) >> number_literal) ])) ;) (expression_statement "wVar1 = ctx->S3[uVar2 & 0xff];" (assignment_expression "wVar1 = ctx->S3[uVar2 & 0xff]" identifier = (subscript_expression "ctx->S3[uVar2 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ;) (expression_statement "*output = ctx->P[0x11] ^ uVar2;" (assignment_expression "*output = ctx->P[0x11] ^ uVar2" (pointer_expression "*output" * identifier) = (binary_expression "ctx->P[0x11] ^ uVar2" (subscript_expression "ctx->P[0x11]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]) ^ identifier)) ;) (expression_statement "output[1] = (wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7;" (assignment_expression "output[1] = (wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7" (subscript_expression "output[1]" identifier [ number_literal ]) = (binary_expression "(wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3 ^ uVar7" (binary_expression "(wVar5 + wVar4 ^ uVar6) + wVar1 ^ uVar3" (binary_expression "(wVar5 + wVar4 ^ uVar6) + wVar1" (parenthesized_expression "(wVar5 + wVar4 ^ uVar6)" ( (binary_expression "wVar5 + wVar4 ^ uVar6" (binary_expression "wVar5 + wVar4" identifier + identifier) ^ identifier) )) + identifier) ^ identifier) ^ identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}\n\n" (function_definition "void FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}" primitive_type (function_declarator "FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)" identifier (parameter_list "(uint param_1,uint param_2,uint *param_3,int param_4)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (expression_statement "iVar4 = param_4 + 0x400;" (assignment_expression "iVar4 = param_4 + 0x400" identifier = (binary_expression "param_4 + 0x400" identifier + number_literal)) ;) (expression_statement "iVar2 = param_4 + 0x800;" (assignment_expression "iVar2 = param_4 + 0x800" identifier = (binary_expression "param_4 + 0x800" identifier + number_literal)) ;) (expression_statement "param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);" (assignment_expression "param_1 = param_1 ^ *(uint *)(param_4 + 0x1000)" identifier = (binary_expression "param_1 ^ *(uint *)(param_4 + 0x1000)" identifier ^ (pointer_expression "*(uint *)(param_4 + 0x1000)" * (cast_expression "(uint *)(param_4 + 0x1000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1000)" ( (binary_expression "param_4 + 0x1000" identifier + number_literal) )))))) ;) (expression_statement "iVar1 = param_4 + 0xc00;" (assignment_expression "iVar1 = param_4 + 0xc00" identifier = (binary_expression "param_4 + 0xc00" identifier + number_literal)) ;) (expression_statement "uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);" (assignment_expression "uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" identifier = (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1004)" identifier ^ (pointer_expression "*(uint *)(param_4 + 0x1004)" * (cast_expression "(uint *)(param_4 + 0x1004)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1004)" ( (binary_expression "param_4 + 0x1004" identifier + number_literal) ))))) ^ (binary_expression "(*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((param_1 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((param_1 << 8) >> 0x18) * 4" identifier + (binary_expression "((param_1 << 8) >> 0x18) * 4" (parenthesized_expression "((param_1 << 8) >> 0x18)" ( (binary_expression "(param_1 << 8) >> 0x18" (parenthesized_expression "(param_1 << 8)" ( (binary_expression "param_1 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (param_1 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (param_1 >> 0x18) * 4)" ( (binary_expression "param_4 + (param_1 >> 0x18) * 4" identifier + (binary_expression "(param_1 >> 0x18) * 4" (parenthesized_expression "(param_1 >> 0x18)" ( (binary_expression "param_1 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((param_1 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((param_1 << 0x10) >> 0x18) * 4" (parenthesized_expression "((param_1 << 0x10) >> 0x18)" ( (binary_expression "(param_1 << 0x10) >> 0x18" (parenthesized_expression "(param_1 << 0x10)" ( (binary_expression "param_1 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (param_1 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (param_1 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (param_1 & 0xff) * 4)" ( (binary_expression "iVar1 + (param_1 & 0xff) * 4" identifier + (binary_expression "(param_1 & 0xff) * 4" (parenthesized_expression "(param_1 & 0xff)" ( (binary_expression "param_1 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1008)" * (cast_expression "(uint *)(param_4 + 0x1008)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1008)" ( (binary_expression "param_4 + 0x1008" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x100c)" * (cast_expression "(uint *)(param_4 + 0x100c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x100c)" ( (binary_expression "param_4 + 0x100c" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1010)" * (cast_expression "(uint *)(param_4 + 0x1010)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1010)" ( (binary_expression "param_4 + 0x1010" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1014)" * (cast_expression "(uint *)(param_4 + 0x1014)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1014)" ( (binary_expression "param_4 + 0x1014" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1018)" * (cast_expression "(uint *)(param_4 + 0x1018)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1018)" ( (binary_expression "param_4 + 0x1018" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x101c)" * (cast_expression "(uint *)(param_4 + 0x101c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x101c)" ( (binary_expression "param_4 + 0x101c" identifier + number_literal) )))))) ;) (expression_statement "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);" (assignment_expression "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1020)" * (cast_expression "(uint *)(param_4 + 0x1020)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1020)" ( (binary_expression "param_4 + 0x1020" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024)" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar7 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 8) >> 0x18)" ( (binary_expression "(uVar7 << 8) >> 0x18" (parenthesized_expression "(uVar7 << 8)" ( (binary_expression "uVar7 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar7 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar7 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar7 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar7 >> 0x18) * 4" identifier + (binary_expression "(uVar7 >> 0x18) * 4" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar7 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 0x10) >> 0x18)" ( (binary_expression "(uVar7 << 0x10) >> 0x18" (parenthesized_expression "(uVar7 << 0x10)" ( (binary_expression "uVar7 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar7 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar7 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar7 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar7 & 0xff) * 4" identifier + (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1024)" * (cast_expression "(uint *)(param_4 + 0x1024)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1024)" ( (binary_expression "param_4 + 0x1024" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1028)" * (cast_expression "(uint *)(param_4 + 0x1028)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1028)" ( (binary_expression "param_4 + 0x1028" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x102c)" * (cast_expression "(uint *)(param_4 + 0x102c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x102c)" ( (binary_expression "param_4 + 0x102c" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1030)" * (cast_expression "(uint *)(param_4 + 0x1030)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1030)" ( (binary_expression "param_4 + 0x1030" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = *(uint *)(param_4 + 0x1040);" (assignment_expression "uVar8 = *(uint *)(param_4 + 0x1040)" identifier = (pointer_expression "*(uint *)(param_4 + 0x1040)" * (cast_expression "(uint *)(param_4 + 0x1040)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1040)" ( (binary_expression "param_4 + 0x1040" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);" (assignment_expression "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1034)" * (cast_expression "(uint *)(param_4 + 0x1034)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1034)" ( (binary_expression "param_4 + 0x1034" identifier + number_literal) )))))) ;) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038)" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar7 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 8) >> 0x18)" ( (binary_expression "(uVar7 << 8) >> 0x18" (parenthesized_expression "(uVar7 << 8)" ( (binary_expression "uVar7 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar7 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar7 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar7 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar7 >> 0x18) * 4" identifier + (binary_expression "(uVar7 >> 0x18) * 4" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar7 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar7 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 0x10) >> 0x18)" ( (binary_expression "(uVar7 << 0x10) >> 0x18" (parenthesized_expression "(uVar7 << 0x10)" ( (binary_expression "uVar7 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar7 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar7 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar7 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar7 & 0xff) * 4" identifier + (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x1038)" * (cast_expression "(uint *)(param_4 + 0x1038)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1038)" ( (binary_expression "param_4 + 0x1038" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c)" identifier = (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" ( (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" ( (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" ( (binary_expression "uVar6 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar6 >> 0x18) * 4" identifier + (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" ( (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 & 0xff) * 4" identifier + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ^ identifier) ^ (pointer_expression "*(uint *)(param_4 + 0x103c)" * (cast_expression "(uint *)(param_4 + 0x103c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x103c)" ( (binary_expression "param_4 + 0x103c" identifier + number_literal) )))))) ;) (expression_statement "iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);" (assignment_expression "iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" identifier = (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" * (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" ( (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" ( (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" ( (binary_expression "uVar3 << 8" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) ;) (expression_statement "iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);" (assignment_expression "iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4)" identifier = (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar3 >> 0x18) * 4" identifier + (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )) * number_literal)) ))))) ;) (expression_statement "uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);" (assignment_expression "uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" identifier = (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" * (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" ( (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" identifier + (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" ( (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" ( (binary_expression "uVar3 << 0x10" identifier << number_literal) )) >> number_literal) )) * number_literal)) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);" (assignment_expression "iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4)" identifier = (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar3 & 0xff) * 4" identifier + (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;" (assignment_expression "*param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3" (pointer_expression "*param_3" * identifier) = (binary_expression "*(uint *)(param_4 + 0x1044) ^ uVar3" (pointer_expression "*(uint *)(param_4 + 0x1044)" * (cast_expression "(uint *)(param_4 + 0x1044)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1044)" ( (binary_expression "param_4 + 0x1044" identifier + number_literal) )))) ^ identifier)) ;) (expression_statement "param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;" (assignment_expression "param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8" (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6" (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1" (parenthesized_expression "(iVar5 + iVar4 ^ uVar7)" ( (binary_expression "iVar5 + iVar4 ^ uVar7" (binary_expression "iVar5 + iVar4" identifier + identifier) ^ identifier) )) + identifier) ^ identifier) ^ identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ^ (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) ^ IDENT) )) + IDENT) ^ IDENT) ^ IDENT)) ;) (return_statement return ;) })))
(function_definition "void FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0004ca00(uint param_1,uint param_2,uint *param_3,int param_4)" (identifier "FUN_0004ca00") (parameter_list "(uint param_1,uint param_2,uint *param_3,int param_4)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  iVar4 = param_4 + 0x400;\n  iVar2 = param_4 + 0x800;\n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);\n  iVar1 = param_4 + 0xc00;\n  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);\n  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);\n  uVar8 = *(uint *)(param_4 + 0x1040);\n  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);\n  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);\n  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);\n  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);\n  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);\n  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);\n  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;\n  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (expression_statement "iVar4 = param_4 + 0x400;" (assignment_expression "iVar4 = param_4 + 0x400" (identifier "iVar4") (= "=") (binary_expression "param_4 + 0x400" (identifier "param_4") (+ "+") (number_literal "0x400"))) (; ";")) (expression_statement "iVar2 = param_4 + 0x800;" (assignment_expression "iVar2 = param_4 + 0x800" (identifier "iVar2") (= "=") (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800"))) (; ";")) (expression_statement "param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);" (assignment_expression "param_1 = param_1 ^ *(uint *)(param_4 + 0x1000)" (identifier "param_1") (= "=") (binary_expression "param_1 ^ *(uint *)(param_4 + 0x1000)" (identifier "param_1") (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1000)" (* "*") (cast_expression "(uint *)(param_4 + 0x1000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1000)" (( "(") (binary_expression "param_4 + 0x1000" (identifier "param_4") (+ "+") (number_literal "0x1000")) () ")")))))) (; ";")) (expression_statement "iVar1 = param_4 + 0xc00;" (assignment_expression "iVar1 = param_4 + 0xc00" (identifier "iVar1") (= "=") (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00"))) (; ";")) (expression_statement "uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4);" (assignment_expression "uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (identifier "uVar3") (= "=") (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1004) ^\n          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1004)" (identifier "param_2") (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1004)" (* "*") (cast_expression "(uint *)(param_4 + 0x1004)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1004)" (( "(") (binary_expression "param_4 + 0x1004" (identifier "param_4") (+ "+") (number_literal "0x1004")) () ")"))))) (^ "^") (binary_expression "(*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +\n          *(int *)(iVar1 + (param_1 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +\n           *(int *)(param_4 + (param_1 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((param_1 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((param_1 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((param_1 << 8) >> 0x18) * 4" (parenthesized_expression "((param_1 << 8) >> 0x18)" (( "(") (binary_expression "(param_1 << 8) >> 0x18" (parenthesized_expression "(param_1 << 8)" (( "(") (binary_expression "param_1 << 8" (identifier "param_1") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (param_1 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (param_1 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (param_1 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(param_1 >> 0x18) * 4" (parenthesized_expression "(param_1 >> 0x18)" (( "(") (binary_expression "param_1 >> 0x18" (identifier "param_1") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((param_1 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((param_1 << 0x10) >> 0x18) * 4" (parenthesized_expression "((param_1 << 0x10) >> 0x18)" (( "(") (binary_expression "(param_1 << 0x10) >> 0x18" (parenthesized_expression "(param_1 << 0x10)" (( "(") (binary_expression "param_1 << 0x10" (identifier "param_1") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (param_1 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (param_1 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (param_1 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (param_1 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(param_1 & 0xff) * 4" (parenthesized_expression "(param_1 & 0xff)" (( "(") (binary_expression "param_1 & 0xff" (identifier "param_1") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008)" (identifier "uVar6") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1 ^ *(uint *)(param_4 + 0x1008)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          param_1" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "param_1")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1008)" (* "*") (cast_expression "(uint *)(param_4 + 0x1008)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1008)" (( "(") (binary_expression "param_4 + 0x1008" (identifier "param_4") (+ "+") (number_literal "0x1008")) () ")")))))) (; ";")) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c)" (identifier "uVar3") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x100c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" (( "(") (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" (( "(") (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar6 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar3")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x100c)" (* "*") (cast_expression "(uint *)(param_4 + 0x100c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x100c)" (( "(") (binary_expression "param_4 + 0x100c" (identifier "param_4") (+ "+") (number_literal "0x100c")) () ")")))))) (; ";")) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010)" (identifier "uVar6") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1010)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar6")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1010)" (* "*") (cast_expression "(uint *)(param_4 + 0x1010)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1010)" (( "(") (binary_expression "param_4 + 0x1010" (identifier "param_4") (+ "+") (number_literal "0x1010")) () ")")))))) (; ";")) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014)" (identifier "uVar3") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1014)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" (( "(") (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" (( "(") (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar6 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar3")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1014)" (* "*") (cast_expression "(uint *)(param_4 + 0x1014)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1014)" (( "(") (binary_expression "param_4 + 0x1014" (identifier "param_4") (+ "+") (number_literal "0x1014")) () ")")))))) (; ";")) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018)" (identifier "uVar6") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1018)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar6")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1018)" (* "*") (cast_expression "(uint *)(param_4 + 0x1018)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1018)" (( "(") (binary_expression "param_4 + 0x1018" (identifier "param_4") (+ "+") (number_literal "0x1018")) () ")")))))) (; ";")) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c)" (identifier "uVar3") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x101c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" (( "(") (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" (( "(") (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar6 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar3")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x101c)" (* "*") (cast_expression "(uint *)(param_4 + 0x101c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x101c)" (( "(") (binary_expression "param_4 + 0x101c" (identifier "param_4") (+ "+") (number_literal "0x101c")) () ")")))))) (; ";")) (expression_statement "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020);" (assignment_expression "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020)" (identifier "uVar7") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1020)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar6")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1020)" (* "*") (cast_expression "(uint *)(param_4 + 0x1020)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1020)" (( "(") (binary_expression "param_4 + 0x1020" (identifier "param_4") (+ "+") (number_literal "0x1020")) () ")")))))) (; ";")) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024)" (identifier "uVar6") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1024)" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar7 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar7 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 8) >> 0x18)" (( "(") (binary_expression "(uVar7 << 8) >> 0x18" (parenthesized_expression "(uVar7 << 8)" (( "(") (binary_expression "uVar7 << 8" (identifier "uVar7") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar7 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar7 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar7 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar7 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar7 >> 0x18) * 4" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar7 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar7 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar7 << 0x10) >> 0x18" (parenthesized_expression "(uVar7 << 0x10)" (( "(") (binary_expression "uVar7 << 0x10" (identifier "uVar7") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar7 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar7 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar7 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar7 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar3")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1024)" (* "*") (cast_expression "(uint *)(param_4 + 0x1024)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1024)" (( "(") (binary_expression "param_4 + 0x1024" (identifier "param_4") (+ "+") (number_literal "0x1024")) () ")")))))) (; ";")) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028)" (identifier "uVar3") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x1028)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" (( "(") (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" (( "(") (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar6 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar7")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1028)" (* "*") (cast_expression "(uint *)(param_4 + 0x1028)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1028)" (( "(") (binary_expression "param_4 + 0x1028" (identifier "param_4") (+ "+") (number_literal "0x1028")) () ")")))))) (; ";")) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c)" (identifier "uVar6") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x102c)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar6")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x102c)" (* "*") (cast_expression "(uint *)(param_4 + 0x102c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x102c)" (( "(") (binary_expression "param_4 + 0x102c" (identifier "param_4") (+ "+") (number_literal "0x102c")) () ")")))))) (; ";")) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030)" (identifier "uVar3") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1030)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" (( "(") (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" (( "(") (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar6 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar3")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1030)" (* "*") (cast_expression "(uint *)(param_4 + 0x1030)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1030)" (( "(") (binary_expression "param_4 + 0x1030" (identifier "param_4") (+ "+") (number_literal "0x1030")) () ")")))))) (; ";")) (expression_statement "uVar8 = *(uint *)(param_4 + 0x1040);" (assignment_expression "uVar8 = *(uint *)(param_4 + 0x1040)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_4 + 0x1040)" (* "*") (cast_expression "(uint *)(param_4 + 0x1040)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1040)" (( "(") (binary_expression "param_4 + 0x1040" (identifier "param_4") (+ "+") (number_literal "0x1040")) () ")"))))) (; ";")) (expression_statement "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034);" (assignment_expression "uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034)" (identifier "uVar7") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6 ^ *(uint *)(param_4 + 0x1034)" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^\n          uVar6" (binary_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar6")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1034)" (* "*") (cast_expression "(uint *)(param_4 + 0x1034)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1034)" (( "(") (binary_expression "param_4 + 0x1034" (identifier "param_4") (+ "+") (number_literal "0x1034")) () ")")))))) (; ";")) (expression_statement "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038);" (assignment_expression "uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038)" (identifier "uVar6") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3 ^ *(uint *)(param_4 + 0x1038)" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^\n          uVar3" (binary_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar7 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar7 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar7 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 8) >> 0x18)" (( "(") (binary_expression "(uVar7 << 8) >> 0x18" (parenthesized_expression "(uVar7 << 8)" (( "(") (binary_expression "uVar7 << 8" (identifier "uVar7") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar7 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar7 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar7 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar7 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar7 >> 0x18) * 4" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar7 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar7 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar7 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar7 << 0x10) >> 0x18" (parenthesized_expression "(uVar7 << 0x10)" (( "(") (binary_expression "uVar7 << 0x10" (identifier "uVar7") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar7 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar7 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar7 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar7 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar3")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x1038)" (* "*") (cast_expression "(uint *)(param_4 + 0x1038)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1038)" (( "(") (binary_expression "param_4 + 0x1038" (identifier "param_4") (+ "+") (number_literal "0x1038")) () ")")))))) (; ";")) (expression_statement "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c);" (assignment_expression "uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c)" (identifier "uVar3") (= "=") (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7 ^ *(uint *)(param_4 + 0x103c)" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^\n          uVar7" (binary_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4))" (( "(") (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^\n          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (binary_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4)" (pointer_expression "*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar6 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar6 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar6 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 8) >> 0x18)" (( "(") (binary_expression "(uVar6 << 8) >> 0x18" (parenthesized_expression "(uVar6 << 8)" (( "(") (binary_expression "uVar6 << 8" (identifier "uVar6") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar6 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar6 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar6 >> 0x18) * 4" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar6 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar6 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar6 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x18" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (identifier "uVar7")) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x103c)" (* "*") (cast_expression "(uint *)(param_4 + 0x103c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x103c)" (( "(") (binary_expression "param_4 + 0x103c" (identifier "param_4") (+ "+") (number_literal "0x103c")) () ")")))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);" (assignment_expression "iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (* "*") (cast_expression "(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + ((uVar3 << 8) >> 0x18) * 4)" (( "(") (binary_expression "iVar4 + ((uVar3 << 8) >> 0x18) * 4" (identifier "iVar4") (+ "+") (binary_expression "((uVar3 << 8) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 8) >> 0x18)" (( "(") (binary_expression "(uVar3 << 8) >> 0x18" (parenthesized_expression "(uVar3 << 8)" (( "(") (binary_expression "uVar3 << 8" (identifier "uVar3") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);" (assignment_expression "iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_4 + (uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar3 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar3 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar3 >> 0x18) * 4" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);" (assignment_expression "uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)" (( "(") (binary_expression "iVar2 + ((uVar3 << 0x10) >> 0x18) * 4" (identifier "iVar2") (+ "+") (binary_expression "((uVar3 << 0x10) >> 0x18) * 4" (parenthesized_expression "((uVar3 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar3 << 0x10) >> 0x18" (parenthesized_expression "(uVar3 << 0x10)" (( "(") (binary_expression "uVar3 << 0x10" (identifier "uVar3") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);" (assignment_expression "iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar1 + (uVar3 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar3 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar3 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar3 & 0xff) * 4" (parenthesized_expression "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;" (assignment_expression "*param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "*(uint *)(param_4 + 0x1044) ^ uVar3" (pointer_expression "*(uint *)(param_4 + 0x1044)" (* "*") (cast_expression "(uint *)(param_4 + 0x1044)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1044)" (( "(") (binary_expression "param_4 + 0x1044" (identifier "param_4") (+ "+") (number_literal "0x1044")) () ")")))) (^ "^") (identifier "uVar3"))) (; ";")) (expression_statement "param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;" (assignment_expression "param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8" (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6" (binary_expression "(iVar5 + iVar4 ^ uVar7) + iVar1" (parenthesized_expression "(iVar5 + iVar4 ^ uVar7)" (( "(") (binary_expression "iVar5 + iVar4 ^ uVar7" (binary_expression "iVar5 + iVar4" (identifier "iVar5") (+ "+") (identifier "iVar4")) (^ "^") (identifier "uVar7")) () ")")) (+ "+") (identifier "iVar1")) (^ "^") (identifier "uVar6")) (^ "^") (identifier "uVar8"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 var_1,type_1 var_2,type_1 *output,type_2 *ctx)

{
  type_1 var_8;
  type_3 var_3;
  type_3 var_4;
  type_1 *S0;
  type_1 var_7;
  type_1 var_6;
  type_3 var_5;
  type_3 var_9;
  
  var_3 = var_1 ^ ctx->P[0];
  var_4 = var_2 ^ ctx->P[1] ^
          (ctx->S1[(var_3 << 8) >> 0x18] + ctx->S0[var_3 >> 0x18] ^ ctx->S2[(var_3 << 0x10) >> 0x18]
          ) + ctx->S3[var_3 & 0xff];
  var_5 = (ctx->S1[(var_4 << 8) >> 0x18] + ctx->S0[var_4 >> 0x18] ^ ctx->S2[(var_4 << 0x10) >> 0x18]
          ) + ctx->S3[var_4 & 0xff] ^ var_3 ^ ctx->P[2];
  var_3 = (ctx->S1[(var_5 << 8) >> 0x18] + ctx->S0[var_5 >> 0x18] ^ ctx->S2[(var_5 << 0x10) >> 0x18]
          ) + ctx->S3[var_5 & 0xff] ^ var_4 ^ ctx->P[3];
  var_4 = (ctx->S1[(var_3 << 8) >> 0x18] + ctx->S0[var_3 >> 0x18] ^ ctx->S2[(var_3 << 0x10) >> 0x18]
          ) + ctx->S3[var_3 & 0xff] ^ var_5 ^ ctx->P[4];
  var_3 = (ctx->S1[(var_4 << 8) >> 0x18] + ctx->S0[var_4 >> 0x18] ^ ctx->S2[(var_4 << 0x10) >> 0x18]
          ) + ctx->S3[var_4 & 0xff] ^ var_3 ^ ctx->P[5];
  var_4 = (ctx->S1[(var_3 << 8) >> 0x18] + ctx->S0[var_3 >> 0x18] ^ ctx->S2[(var_3 << 0x10) >> 0x18]
          ) + ctx->S3[var_3 & 0xff] ^ var_4 ^ ctx->P[6];
  var_3 = (ctx->S1[(var_4 << 8) >> 0x18] + ctx->S0[var_4 >> 0x18] ^ ctx->S2[(var_4 << 0x10) >> 0x18]
          ) + ctx->S3[var_4 & 0xff] ^ var_3 ^ ctx->P[7];
  var_5 = (ctx->S1[(var_3 << 8) >> 0x18] + ctx->S0[var_3 >> 0x18] ^ ctx->S2[(var_3 << 0x10) >> 0x18]
          ) + ctx->S3[var_3 & 0xff] ^ var_4 ^ ctx->P[8];
  var_4 = (ctx->S1[(var_5 << 8) >> 0x18] + ctx->S0[var_5 >> 0x18] ^ ctx->S2[(var_5 << 0x10) >> 0x18]
          ) + ctx->S3[var_5 & 0xff] ^ var_3 ^ ctx->P[9];
  var_3 = (ctx->S1[(var_4 << 8) >> 0x18] + ctx->S0[var_4 >> 0x18] ^ ctx->S2[(var_4 << 0x10) >> 0x18]
          ) + ctx->S3[var_4 & 0xff] ^ var_5 ^ ctx->P[10];
  var_4 = (ctx->S1[(var_3 << 8) >> 0x18] + ctx->S0[var_3 >> 0x18] ^ ctx->S2[(var_3 << 0x10) >> 0x18]
          ) + ctx->S3[var_3 & 0xff] ^ var_4 ^ ctx->P[0xb];
  var_3 = (ctx->S1[(var_4 << 8) >> 0x18] + ctx->S0[var_4 >> 0x18] ^ ctx->S2[(var_4 << 0x10) >> 0x18]
          ) + ctx->S3[var_4 & 0xff] ^ var_3 ^ ctx->P[0xc];
  var_9 = ctx->P[0x10];
  var_5 = (ctx->S1[(var_3 << 8) >> 0x18] + ctx->S0[var_3 >> 0x18] ^ ctx->S2[(var_3 << 0x10) >> 0x18]
          ) + ctx->S3[var_3 & 0xff] ^ var_4 ^ ctx->P[0xd];
  var_4 = (ctx->S1[(var_5 << 8) >> 0x18] + ctx->S0[var_5 >> 0x18] ^ ctx->S2[(var_5 << 0x10) >> 0x18]
          ) + ctx->S3[var_5 & 0xff] ^ var_3 ^ ctx->P[0xe];
  var_3 = (ctx->S1[(var_4 << 8) >> 0x18] + ctx->S0[var_4 >> 0x18] ^ ctx->S2[(var_4 << 0x10) >> 0x18]
          ) + ctx->S3[var_4 & 0xff] ^ var_5 ^ ctx->P[0xf];
  var_6 = ctx->S1[(var_3 << 8) >> 0x18];
  var_7 = ctx->S0[var_3 >> 0x18];
  var_5 = ctx->S2[(var_3 << 0x10) >> 0x18];
  var_8 = ctx->S3[var_3 & 0xff];
  *output = ctx->P[0x11] ^ var_3;
  output[1] = (var_6 + var_7 ^ var_5) + var_8 ^ var_4 ^ var_9;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (identifier)) right: (identifier)) right: (identifier)))) (return_statement))))

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

{
  int iVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  
  iVar4 = param_4 + 0x400;
  iVar2 = param_4 + 0x800;
  param_1 = param_1 ^ *(uint *)(param_4 + 0x1000);
  iVar1 = param_4 + 0xc00;
  uVar3 = param_2 ^ *(uint *)(param_4 + 0x1004) ^
          (*(int *)(iVar4 + ((param_1 << 8) >> 0x18) * 4) +
           *(int *)(param_4 + (param_1 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((param_1 << 0x10) >> 0x18) * 4)) +
          *(int *)(iVar1 + (param_1 & 0xff) * 4);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          param_1 ^ *(uint *)(param_4 + 0x1008);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x100c);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1010);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1014);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1018);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x101c);
  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1020);
  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1024);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar7 ^ *(uint *)(param_4 + 0x1028);
  uVar6 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x102c);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1030);
  uVar8 = *(uint *)(param_4 + 0x1040);
  uVar7 = (*(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar3 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar3 & 0xff) * 4) ^
          uVar6 ^ *(uint *)(param_4 + 0x1034);
  uVar6 = (*(int *)(iVar4 + ((uVar7 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar7 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar7 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar7 & 0xff) * 4) ^
          uVar3 ^ *(uint *)(param_4 + 0x1038);
  uVar3 = (*(int *)(iVar4 + ((uVar6 << 8) >> 0x18) * 4) + *(int *)(param_4 + (uVar6 >> 0x18) * 4) ^
          *(uint *)(iVar2 + ((uVar6 << 0x10) >> 0x18) * 4)) + *(int *)(iVar1 + (uVar6 & 0xff) * 4) ^
          uVar7 ^ *(uint *)(param_4 + 0x103c);
  iVar5 = *(int *)(iVar4 + ((uVar3 << 8) >> 0x18) * 4);
  iVar4 = *(int *)(param_4 + (uVar3 >> 0x18) * 4);
  uVar7 = *(uint *)(iVar2 + ((uVar3 << 0x10) >> 0x18) * 4);
  iVar1 = *(int *)(iVar1 + (uVar3 & 0xff) * 4);
  *param_3 = *(uint *)(param_4 + 0x1044) ^ uVar3;
  param_3[1] = (iVar5 + iVar4 ^ uVar7) + iVar1 ^ uVar6 ^ uVar8;
  return;
}

