
void __regparm3 blowfish_decrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)

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



void __regparm3 FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)

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


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x4
MOV dword ptr [ESP],ECX
MOV ECX,dword ptr [ESP + 0x18]
XOR EAX,dword ptr [ECX + 0x1044]
LEA ESI,[ECX + 0x400]
XOR EDX,dword ptr [ECX + 0x1040]
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
XOR EAX,dword ptr [ECX + 0x103c]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
XOR EDX,dword ptr [ECX + 0x1038]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
XOR EAX,dword ptr [ECX + 0x1034]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,dword ptr [ECX + 0x1030]
XOR EDX,EDI
XOR EAX,dword ptr [ECX + 0x102c]
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
XOR EDX,dword ptr [ECX + 0x1028]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
XOR EAX,dword ptr [ECX + 0x1024]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
XOR EDX,dword ptr [ECX + 0x1020]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
XOR EAX,dword ptr [ECX + 0x101c]
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
XOR EDX,dword ptr [ECX + 0x1018]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EAX,dword ptr [ECX + 0x1014]
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
XOR EDX,dword ptr [ECX + 0x1010]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,DH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,DL
LEA EBX,[ECX + 0xc00]
XOR EAX,dword ptr [ECX + 0x100c]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,dword ptr [ECX + 0x1008]
XOR EAX,EDI
MOV EBP,EAX
MOV EDI,EAX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX EBP,AH
XOR EDI,dword ptr [EBX + EBP*0x4]
MOVZX EBP,AL
LEA EBX,[ECX + 0xc00]
XOR EAX,dword ptr [ECX + 0x1004]
ADD EDI,dword ptr [EBX + EBP*0x4]
XOR EDX,EDI
MOV EBP,EDX
MOV EDI,EDX
SHR EBP,0x10
SHR EDI,0x18
MOV EBX,EBP
MOV EDI,dword ptr [ECX + EDI*0x4]
MOVZX EBP,BL
LEA EBX,[ECX + 0x800]
ADD EDI,dword ptr [ESI + EBP*0x4]
MOVZX ESI,DH
XOR EDI,dword ptr [EBX + ESI*0x4]
MOVZX EBX,DL
LEA ESI,[ECX + 0xc00]
XOR EDX,dword ptr [ECX + 0x1000]
ADD EDI,dword ptr [ESI + EBX*0x4]
MOV ESI,dword ptr [ESP]
XOR EAX,EDI
MOV dword ptr [ESI],EDX
MOV dword ptr [ESI + 0x4],EAX
ADD ESP,0x4
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "void __regparm3 FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0003f0d0(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  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (expression_statement "param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);" (assignment_expression "param_1 = param_1 ^ *(uint *)(param_4 + 0x1044)" identifier = (binary_expression "param_1 ^ *(uint *)(param_4 + 0x1044)" identifier ^ (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) )))))) ;) (expression_statement "iVar1 = param_4 + 0x400;" (assignment_expression "iVar1 = param_4 + 0x400" identifier = (binary_expression "param_4 + 0x400" identifier + number_literal)) ;) (expression_statement "uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);" (assignment_expression "uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" identifier = (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (binary_expression "param_2 ^ *(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) ))))) ^ (binary_expression "(*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (param_1 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(param_1 >> 0x10 & 0xff) * 4" (parenthesized_expression "(param_1 >> 0x10 & 0xff)" ( (binary_expression "param_1 >> 0x10 & 0xff" (binary_expression "param_1 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(param_1 >> 8 & 0xff) * 4" (parenthesized_expression "(param_1 >> 8 & 0xff)" ( (binary_expression "param_1 >> 8 & 0xff" (binary_expression "param_1 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (param_1 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (param_1 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(param_1 & 0xff) * 4" (parenthesized_expression "(param_1 & 0xff)" ( (binary_expression "param_1 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "param_1 ^ *(uint *)(param_4 + 0x103c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1038)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1034)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1030)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x102c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1028)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1024)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1020)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x101c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1018)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1014)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1010)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x100c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = *(uint *)(param_4 + 0x1004);" (assignment_expression "uVar4 = *(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) ))))) ;) (expression_statement "uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);" (assignment_expression "uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1008)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar5 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar5 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar5 >> 0x18) * 4" identifier + (binary_expression "(uVar5 >> 0x18) * 4" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar5 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar5 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar5 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar5 >> 8 & 0xff)" ( (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar5 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar5 & 0xff) * 4" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);" (assignment_expression "iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4)" identifier = (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)) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);" (assignment_expression "iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" identifier = (pointer_expression "*(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar7 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar7 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar7 >> 0x10 & 0xff)" ( (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ;) (expression_statement "uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);" (assignment_expression "uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar7 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar7 >> 8 & 0xff)" ( (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ;) (expression_statement "iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);" (assignment_expression "iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" identifier = (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar7 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);" (assignment_expression "*param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000)" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar7 ^ *(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 "param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;" (assignment_expression "param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3" (binary_expression "uVar5 ^ uVar4" identifier ^ identifier) ^ (binary_expression "(iVar2 + iVar1 ^ uVar6) + iVar3" (parenthesized_expression "(iVar2 + iVar1 ^ uVar6)" ( (binary_expression "iVar2 + iVar1 ^ uVar6" (binary_expression "iVar2 + iVar1" identifier + identifier) ^ identifier) )) + identifier))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 blowfish_decrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)\n\n{\n  word32 wVar1;\n  word32 wVar2;\n  word32 wVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  uVar4 = xL ^ ctx->P[0x11];\n  uVar6 = xR ^ ctx->P[0x10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xf] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[0xe] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xd] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[0xc] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xb] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[9] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[8] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[7] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[6] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[5] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[4] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar5 = uVar4 ^ ctx->P[3] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar4 = ctx->P[1];\n  uVar7 = uVar6 ^ ctx->P[2] ^\n          (ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff];\n  wVar1 = ctx->S0[uVar7 >> 0x18];\n  wVar2 = ctx->S1[uVar7 >> 0x10 & 0xff];\n  uVar6 = ctx->S2[uVar7 >> 8 & 0xff];\n  wVar3 = ctx->S3[uVar7 & 0xff];\n  *output = uVar7 ^ ctx->P[0];\n  output[1] = uVar5 ^ uVar4 ^ (wVar1 + wVar2 ^ uVar6) + wVar3;\n  return;\n}\n\n" (function_definition "void __regparm3 blowfish_decrypt(word32 xL,word32 xR,word32 *output,BlowfishContext *ctx)\n\n{\n  word32 wVar1;\n  word32 wVar2;\n  word32 wVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  uVar4 = xL ^ ctx->P[0x11];\n  uVar6 = xR ^ ctx->P[0x10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xf] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[0xe] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xd] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[0xc] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xb] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[9] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[8] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[7] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[6] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[5] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[4] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar5 = uVar4 ^ ctx->P[3] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar4 = ctx->P[1];\n  uVar7 = uVar6 ^ ctx->P[2] ^\n          (ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff];\n  wVar1 = ctx->S0[uVar7 >> 0x18];\n  wVar2 = ctx->S1[uVar7 >> 0x10 & 0xff];\n  uVar6 = ctx->S2[uVar7 >> 8 & 0xff];\n  wVar3 = ctx->S3[uVar7 & 0xff];\n  *output = uVar7 ^ ctx->P[0];\n  output[1] = uVar5 ^ uVar4 ^ (wVar1 + wVar2 ^ uVar6) + wVar3;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "blowfish_decrypt(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  word32 wVar2;\n  word32 wVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  uVar4 = xL ^ ctx->P[0x11];\n  uVar6 = xR ^ ctx->P[0x10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xf] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[0xe] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xd] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[0xc] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[0xb] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[9] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[8] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[7] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[6] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar4 = uVar4 ^ ctx->P[5] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar6 = uVar6 ^ ctx->P[4] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];\n  uVar5 = uVar4 ^ ctx->P[3] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];\n  uVar4 = ctx->P[1];\n  uVar7 = uVar6 ^ ctx->P[2] ^\n          (ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff];\n  wVar1 = ctx->S0[uVar7 >> 0x18];\n  wVar2 = ctx->S1[uVar7 >> 0x10 & 0xff];\n  uVar6 = ctx->S2[uVar7 >> 8 & 0xff];\n  wVar3 = ctx->S3[uVar7 & 0xff];\n  *output = uVar7 ^ ctx->P[0];\n  output[1] = uVar5 ^ uVar4 ^ (wVar1 + wVar2 ^ uVar6) + wVar3;\n  return;\n}" { (declaration "word32 wVar1;" type_identifier identifier ;) (declaration "word32 wVar2;" type_identifier identifier ;) (declaration "word32 wVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (expression_statement "uVar4 = xL ^ ctx->P[0x11];" (assignment_expression "uVar4 = xL ^ ctx->P[0x11]" identifier = (binary_expression "xL ^ ctx->P[0x11]" identifier ^ (subscript_expression "ctx->P[0x11]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "uVar6 = xR ^ ctx->P[0x10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = xR ^ ctx->P[0x10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "xR ^ ctx->P[0x10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "xR ^ ctx->P[0x10]" identifier ^ (subscript_expression "ctx->P[0x10]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar4 = uVar4 ^ ctx->P[0xf] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar4 = uVar4 ^ ctx->P[0xf] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[0xf] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[0xf]" identifier ^ (subscript_expression "ctx->P[0xf]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar6 = uVar6 ^ ctx->P[0xe] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = uVar6 ^ ctx->P[0xe] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[0xe] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "uVar6 ^ ctx->P[0xe]" identifier ^ (subscript_expression "ctx->P[0xe]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar4 = uVar4 ^ ctx->P[0xd] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar4 = uVar4 ^ ctx->P[0xd] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[0xd] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[0xd]" identifier ^ (subscript_expression "ctx->P[0xd]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar6 = uVar6 ^ ctx->P[0xc] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = uVar6 ^ ctx->P[0xc] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[0xc] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "uVar6 ^ ctx->P[0xc]" identifier ^ (subscript_expression "ctx->P[0xc]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar4 = uVar4 ^ ctx->P[0xb] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar4 = uVar4 ^ ctx->P[0xb] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[0xb] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[0xb]" identifier ^ (subscript_expression "ctx->P[0xb]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar6 = uVar6 ^ ctx->P[10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = uVar6 ^ ctx->P[10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[10] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "uVar6 ^ ctx->P[10]" identifier ^ (subscript_expression "ctx->P[10]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar4 = uVar4 ^ ctx->P[9] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar4 = uVar4 ^ ctx->P[9] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[9] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[9]" identifier ^ (subscript_expression "ctx->P[9]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar6 = uVar6 ^ ctx->P[8] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = uVar6 ^ ctx->P[8] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[8] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "uVar6 ^ ctx->P[8]" identifier ^ (subscript_expression "ctx->P[8]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar4 = uVar4 ^ ctx->P[7] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar4 = uVar4 ^ ctx->P[7] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[7] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[7]" identifier ^ (subscript_expression "ctx->P[7]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar6 = uVar6 ^ ctx->P[6] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = uVar6 ^ ctx->P[6] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[6] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "uVar6 ^ ctx->P[6]" identifier ^ (subscript_expression "ctx->P[6]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar4 = uVar4 ^ ctx->P[5] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar4 = uVar4 ^ ctx->P[5] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[5] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[5]" identifier ^ (subscript_expression "ctx->P[5]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar6 = uVar6 ^ ctx->P[4] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff];" (assignment_expression "uVar6 = uVar6 ^ ctx->P[4] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[4] ^\n          (ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (binary_expression "uVar6 ^ ctx->P[4]" identifier ^ (subscript_expression "ctx->P[4]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]) +\n          ctx->S3[uVar4 & 0xff]" (parenthesized_expression "(ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff] ^ ctx->S2[uVar4 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar4 >> 0x18] + ctx->S1[uVar4 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar4 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar4 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar4 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar4 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "uVar5 = uVar4 ^ ctx->P[3] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff];" (assignment_expression "uVar5 = uVar4 ^ ctx->P[3] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" identifier = (binary_expression "uVar4 ^ ctx->P[3] ^\n          (ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (binary_expression "uVar4 ^ ctx->P[3]" identifier ^ (subscript_expression "ctx->P[3]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]) +\n          ctx->S3[uVar6 & 0xff]" (parenthesized_expression "(ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff] ^ ctx->S2[uVar6 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar6 >> 0x18] + ctx->S1[uVar6 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar6 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar6 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar6 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" 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) ])))) ;) (expression_statement "uVar4 = ctx->P[1];" (assignment_expression "uVar4 = ctx->P[1]" identifier = (subscript_expression "ctx->P[1]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar7 = uVar6 ^ ctx->P[2] ^\n          (ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff];" (assignment_expression "uVar7 = uVar6 ^ ctx->P[2] ^\n          (ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff]" identifier = (binary_expression "uVar6 ^ ctx->P[2] ^\n          (ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff]" (binary_expression "uVar6 ^ ctx->P[2]" identifier ^ (subscript_expression "ctx->P[2]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ])) ^ (binary_expression "(ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]) +\n          ctx->S3[uVar5 & 0xff]" (parenthesized_expression "(ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff])" ( (binary_expression "ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff] ^ ctx->S2[uVar5 >> 8 & 0xff]" (binary_expression "ctx->S0[uVar5 >> 0x18] + ctx->S1[uVar5 >> 0x10 & 0xff]" (subscript_expression "ctx->S0[uVar5 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ]) + (subscript_expression "ctx->S1[uVar5 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "ctx->S2[uVar5 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ])) )) + (subscript_expression "ctx->S3[uVar5 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar5 & 0xff" identifier & number_literal) ])))) ;) (expression_statement "wVar1 = ctx->S0[uVar7 >> 0x18];" (assignment_expression "wVar1 = ctx->S0[uVar7 >> 0x18]" identifier = (subscript_expression "ctx->S0[uVar7 >> 0x18]" (field_expression "ctx->S0" identifier -> field_identifier) [ (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ])) ;) (expression_statement "wVar2 = ctx->S1[uVar7 >> 0x10 & 0xff];" (assignment_expression "wVar2 = ctx->S1[uVar7 >> 0x10 & 0xff]" identifier = (subscript_expression "ctx->S1[uVar7 >> 0x10 & 0xff]" (field_expression "ctx->S1" identifier -> field_identifier) [ (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" identifier >> number_literal) & number_literal) ])) ;) (expression_statement "uVar6 = ctx->S2[uVar7 >> 8 & 0xff];" (assignment_expression "uVar6 = ctx->S2[uVar7 >> 8 & 0xff]" identifier = (subscript_expression "ctx->S2[uVar7 >> 8 & 0xff]" (field_expression "ctx->S2" identifier -> field_identifier) [ (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal) ])) ;) (expression_statement "wVar3 = ctx->S3[uVar7 & 0xff];" (assignment_expression "wVar3 = ctx->S3[uVar7 & 0xff]" identifier = (subscript_expression "ctx->S3[uVar7 & 0xff]" (field_expression "ctx->S3" identifier -> field_identifier) [ (binary_expression "uVar7 & 0xff" identifier & number_literal) ])) ;) (expression_statement "*output = uVar7 ^ ctx->P[0];" (assignment_expression "*output = uVar7 ^ ctx->P[0]" (pointer_expression "*output" * identifier) = (binary_expression "uVar7 ^ ctx->P[0]" identifier ^ (subscript_expression "ctx->P[0]" (field_expression "ctx->P" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "output[1] = uVar5 ^ uVar4 ^ (wVar1 + wVar2 ^ uVar6) + wVar3;" (assignment_expression "output[1] = uVar5 ^ uVar4 ^ (wVar1 + wVar2 ^ uVar6) + wVar3" (subscript_expression "output[1]" identifier [ number_literal ]) = (binary_expression "uVar5 ^ uVar4 ^ (wVar1 + wVar2 ^ uVar6) + wVar3" (binary_expression "uVar5 ^ uVar4" identifier ^ identifier) ^ (binary_expression "(wVar1 + wVar2 ^ uVar6) + wVar3" (parenthesized_expression "(wVar1 + wVar2 ^ uVar6)" ( (binary_expression "wVar1 + wVar2 ^ uVar6" (binary_expression "wVar1 + wVar2" identifier + identifier) ^ identifier) )) + identifier))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0003f0d0(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  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (expression_statement "param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);" (assignment_expression "param_1 = param_1 ^ *(uint *)(param_4 + 0x1044)" identifier = (binary_expression "param_1 ^ *(uint *)(param_4 + 0x1044)" identifier ^ (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) )))))) ;) (expression_statement "iVar1 = param_4 + 0x400;" (assignment_expression "iVar1 = param_4 + 0x400" identifier = (binary_expression "param_4 + 0x400" identifier + number_literal)) ;) (expression_statement "uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);" (assignment_expression "uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" identifier = (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (binary_expression "param_2 ^ *(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) ))))) ^ (binary_expression "(*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (param_1 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(param_1 >> 0x10 & 0xff) * 4" (parenthesized_expression "(param_1 >> 0x10 & 0xff)" ( (binary_expression "param_1 >> 0x10 & 0xff" (binary_expression "param_1 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(param_1 >> 8 & 0xff) * 4" (parenthesized_expression "(param_1 >> 8 & 0xff)" ( (binary_expression "param_1 >> 8 & 0xff" (binary_expression "param_1 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (param_1 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (param_1 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(param_1 & 0xff) * 4" (parenthesized_expression "(param_1 & 0xff)" ( (binary_expression "param_1 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "param_1 ^ *(uint *)(param_4 + 0x103c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1038)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1034)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1030)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x102c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1028)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1024)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1020)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x101c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1018)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1014)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1010)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar4 >> 0x18) * 4" identifier + (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" ( (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" identifier = (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x100c)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" ( (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "uVar4 = *(uint *)(param_4 + 0x1004);" (assignment_expression "uVar4 = *(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) ))))) ;) (expression_statement "uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);" (assignment_expression "uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" identifier = (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1008)" 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) ))))) ^ (binary_expression "(*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4))" ( (binary_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4)" * (cast_expression "(int *)(param_4 + (uVar5 >> 0x18) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + (uVar5 >> 0x18) * 4)" ( (binary_expression "param_4 + (uVar5 >> 0x18) * 4" identifier + (binary_expression "(uVar5 >> 0x18) * 4" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) * number_literal)) )))) + (pointer_expression "*(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar5 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar5 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar5 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar5 >> 8 & 0xff)" ( (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) )) + (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar5 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar5 & 0xff) * 4" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) * number_literal)) ))))))) ;) (expression_statement "iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);" (assignment_expression "iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4)" identifier = (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)) ))))) ;) (expression_statement "iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);" (assignment_expression "iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" identifier = (pointer_expression "*(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" * (cast_expression "(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" ( (binary_expression "iVar1 + (uVar7 >> 0x10 & 0xff) * 4" identifier + (binary_expression "(uVar7 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar7 >> 0x10 & 0xff)" ( (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ;) (expression_statement "uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);" (assignment_expression "uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" * (cast_expression "(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" ( (binary_expression "param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" identifier + number_literal) + (binary_expression "(uVar7 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar7 >> 8 & 0xff)" ( (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal) )) * number_literal)) ))))) ;) (expression_statement "iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);" (assignment_expression "iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" identifier = (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" * (cast_expression "(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" ( (binary_expression "param_4 + 0xc00 + (uVar7 & 0xff) * 4" (binary_expression "param_4 + 0xc00" identifier + number_literal) + (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) * number_literal)) ))))) ;) (expression_statement "*param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);" (assignment_expression "*param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000)" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar7 ^ *(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 "param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;" (assignment_expression "param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3" (binary_expression "uVar5 ^ uVar4" identifier ^ identifier) ^ (binary_expression "(iVar2 + iVar1 ^ uVar6) + iVar3" (parenthesized_expression "(iVar2 + iVar1 ^ uVar6)" ( (binary_expression "iVar2 + iVar1 ^ uVar6" (binary_expression "iVar2 + iVar1" identifier + identifier) ^ identifier) )) + identifier))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (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 ;) (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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (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 + 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 IDENT >> LIT) )) * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (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 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 (binary_expression IDENT >> LIT) & LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_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 (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_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 (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT ^ IDENT) ^ (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) ^ IDENT) )) + IDENT))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0003f0d0(uint param_1,uint param_2,uint *param_3,int param_4)" (identifier "FUN_0003f0d0") (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  int iVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  \n  param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);\n  iVar1 = param_4 + 0x400;\n  uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);\n  uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);\n  uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);\n  uVar4 = *(uint *)(param_4 + 0x1004);\n  uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);\n  iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);\n  iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);\n  uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);\n  iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);\n  *param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);\n  param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (expression_statement "param_1 = param_1 ^ *(uint *)(param_4 + 0x1044);" (assignment_expression "param_1 = param_1 ^ *(uint *)(param_4 + 0x1044)" (identifier "param_1") (= "=") (binary_expression "param_1 ^ *(uint *)(param_4 + 0x1044)" (identifier "param_1") (^ "^") (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")) () ")")))))) (; ";")) (expression_statement "iVar1 = param_4 + 0x400;" (assignment_expression "iVar1 = param_4 + 0x400" (identifier "iVar1") (= "=") (binary_expression "param_4 + 0x400" (identifier "param_4") (+ "+") (number_literal "0x400"))) (; ";")) (expression_statement "uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4);" (assignment_expression "uVar6 = param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1040) ^\n          (*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (binary_expression "param_2 ^ *(uint *)(param_4 + 0x1040)" (identifier "param_2") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (param_1 >> 0x18) * 4) +\n           *(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (param_1 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (param_1 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(param_1 >> 0x10 & 0xff) * 4" (parenthesized_expression "(param_1 >> 0x10 & 0xff)" (( "(") (binary_expression "param_1 >> 0x10 & 0xff" (binary_expression "param_1 >> 0x10" (identifier "param_1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (param_1 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(param_1 >> 8 & 0xff) * 4" (parenthesized_expression "(param_1 >> 8 & 0xff)" (( "(") (binary_expression "param_1 >> 8 & 0xff" (binary_expression "param_1 >> 8" (identifier "param_1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (param_1 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (param_1 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (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 "uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "param_1 ^ *(uint *)(param_4 + 0x103c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "param_1 ^ *(uint *)(param_4 + 0x103c)" (identifier "param_1") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1038) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1038)" (identifier "uVar6") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar4 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1034) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1034)" (identifier "uVar4") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1030) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1030)" (identifier "uVar6") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar4 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x102c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x102c)" (identifier "uVar4") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1028) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1028)" (identifier "uVar6") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar4 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1024) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1024)" (identifier "uVar4") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1020) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1020)" (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar4 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x101c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x101c)" (identifier "uVar4") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1018) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1018)" (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar4 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar4 = uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar4") (= "=") (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1014) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x1014)" (identifier "uVar4") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4);" (assignment_expression "uVar6 = uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (identifier "uVar6") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1010) ^\n          (*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1010)" (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4) + *(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar4 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar4 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar4 >> 0x18) * 4" (parenthesized_expression "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar4 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar4 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar4 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar4 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar4 >> 8 & 0xff)" (( "(") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar4 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar4 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar4 & 0xff) * 4" (parenthesized_expression "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4);" (assignment_expression "uVar5 = uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (identifier "uVar5") (= "=") (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x100c) ^\n          (*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (binary_expression "uVar4 ^ *(uint *)(param_4 + 0x100c)" (identifier "uVar4") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar6 >> 0x18) * 4) + *(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 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 "*(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar6 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar6 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar6 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar6 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar6 >> 8 & 0xff)" (( "(") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar6 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar6 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar6 & 0xff) * 4" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "uVar4 = *(uint *)(param_4 + 0x1004);" (assignment_expression "uVar4 = *(uint *)(param_4 + 0x1004)" (identifier "uVar4") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4);" (assignment_expression "uVar7 = uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (identifier "uVar7") (= "=") (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1008) ^\n          (*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (binary_expression "uVar6 ^ *(uint *)(param_4 + 0x1008)" (identifier "uVar6") (^ "^") (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")) () ")"))))) (^ "^") (binary_expression "(*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)) +\n          *(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (parenthesized_expression "(*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4))" (( "(") (binary_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4) ^\n          *(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" (binary_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4) + *(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" (pointer_expression "*(int *)(param_4 + (uVar5 >> 0x18) * 4)" (* "*") (cast_expression "(int *)(param_4 + (uVar5 >> 0x18) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + (uVar5 >> 0x18) * 4)" (( "(") (binary_expression "param_4 + (uVar5 >> 0x18) * 4" (identifier "param_4") (+ "+") (binary_expression "(uVar5 >> 0x18) * 4" (parenthesized_expression "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar5 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar5 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar5 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar5 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar5 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar5 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar5 >> 8 & 0xff)" (( "(") (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) () ")")) (+ "+") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar5 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar5 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar5 & 0xff) * 4" (parenthesized_expression "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4);" (assignment_expression "iVar2 = *(int *)(param_4 + (uVar7 >> 0x18) * 4)" (identifier "iVar2") (= "=") (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"))) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4);" (assignment_expression "iVar1 = *(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(int *)(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + (uVar7 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "iVar1 + (uVar7 >> 0x10 & 0xff) * 4" (identifier "iVar1") (+ "+") (binary_expression "(uVar7 >> 0x10 & 0xff) * 4" (parenthesized_expression "(uVar7 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4);" (assignment_expression "uVar6 = *(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0x800 + (uVar7 >> 8 & 0xff) * 4" (binary_expression "param_4 + 0x800" (identifier "param_4") (+ "+") (number_literal "0x800")) (+ "+") (binary_expression "(uVar7 >> 8 & 0xff) * 4" (parenthesized_expression "(uVar7 >> 8 & 0xff)" (( "(") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4);" (assignment_expression "iVar3 = *(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" (* "*") (cast_expression "(int *)(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc00 + (uVar7 & 0xff) * 4)" (( "(") (binary_expression "param_4 + 0xc00 + (uVar7 & 0xff) * 4" (binary_expression "param_4 + 0xc00" (identifier "param_4") (+ "+") (number_literal "0xc00")) (+ "+") (binary_expression "(uVar7 & 0xff) * 4" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000);" (assignment_expression "*param_3 = uVar7 ^ *(uint *)(param_4 + 0x1000)" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar7 ^ *(uint *)(param_4 + 0x1000)" (identifier "uVar7") (^ "^") (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 "param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3;" (assignment_expression "param_3[1] = uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar5 ^ uVar4 ^ (iVar2 + iVar1 ^ uVar6) + iVar3" (binary_expression "uVar5 ^ uVar4" (identifier "uVar5") (^ "^") (identifier "uVar4")) (^ "^") (binary_expression "(iVar2 + iVar1 ^ uVar6) + iVar3" (parenthesized_expression "(iVar2 + iVar1 ^ uVar6)" (( "(") (binary_expression "iVar2 + iVar1 ^ uVar6" (binary_expression "iVar2 + iVar1" (identifier "iVar2") (+ "+") (identifier "iVar1")) (^ "^") (identifier "uVar6")) () ")")) (+ "+") (identifier "iVar3")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

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


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

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

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

