
/* WARNING: Unknown calling convention */

void _four_rounds(pelican_state *pelmac)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  
  uVar1 = *(uint *)(pelmac->state + 4);
  uVar3 = *(uint *)(pelmac->state + 0xc);
  uVar7 = *(uint *)(pelmac->state + 8);
  uVar2 = *(uint *)pelmac->state;
  uVar4 = TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^
          TE2[(uVar7 & 0xff0000) >> 0x10];
  uVar5 = TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^
          TE2[(uVar3 & 0xff0000) >> 0x10];
  uVar9 = TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^
          TE2[(uVar2 & 0xff0000) >> 0x10];
  uVar1 = TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^
          TE2[(uVar1 & 0xff0000) >> 0x10];
  uVar7 = TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^
          TE2[uVar9 >> 8 & 0xff];
  uVar3 = TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^
          TE2[uVar1 >> 8 & 0xff];
  uVar8 = TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^
          TE2[uVar4 >> 8 & 0xff];
  uVar4 = TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^
          TE2[uVar5 >> 8 & 0xff];
  uVar2 = TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^
          TE2[uVar8 >> 8 & 0xff];
  uVar6 = TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^
          TE2[uVar4 >> 8 & 0xff];
  uVar1 = TE0[uVar2 >> 0x18];
  uVar9 = TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^
          TE2[uVar7 >> 8 & 0xff];
  uVar8 = TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^
          TE2[uVar3 >> 8 & 0xff];
  uVar3 = TE3[uVar8 & 0xff];
  uVar7 = TE1[uVar6 >> 0x10 & 0xff];
  uVar5 = TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^
          TE2[uVar8 >> 8 & 0xff];
  uVar4 = TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^
          TE2[uVar2 >> 8 & 0xff];
  uVar2 = TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^
          TE2[uVar6 >> 8 & 0xff];
  *(uint *)(pelmac->state + 8) =
       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff];
  *(uint *)(pelmac->state + 4) =
       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;
  *(uint *)(pelmac->state + 0xc) =
       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
  *(uint *)pelmac->state =
       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;
  return;
}



void FUN_0015b1f0(long param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  
  uVar1 = *(uint *)(param_1 + 0x10a4);
  uVar3 = *(uint *)(param_1 + 0x10ac);
  uVar7 = *(uint *)(param_1 + 0x10a8);
  uVar2 = *(uint *)(param_1 + 0x10a0);
  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^
          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];
  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^
          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];
  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^
          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];
  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^
          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];
  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar9 >> 8 & 0xff];
  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar1 >> 8 & 0xff];
  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar4 >> 8 & 0xff];
  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar5 >> 8 & 0xff];
  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar8 >> 8 & 0xff];
  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar4 >> 8 & 0xff];
  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);
  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar7 >> 8 & 0xff];
  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar3 >> 8 & 0xff];
  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);
  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);
  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar8 >> 8 & 0xff];
  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar2 >> 8 & 0xff];
  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar6 >> 8 & 0xff];
  *(uint *)(param_1 + 0x10a8) =
       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];
  *(uint *)(param_1 + 0x10a4) =
       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;
  *(uint *)(param_1 + 0x10ac) =
       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
  *(uint *)(param_1 + 0x10a0) =
       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;
  return;
}


MOV R11D,dword ptr [RDI + 0x10a4]
PUSH R15
LEA RCX,[0x1bc120]
LEA RSI,[0x1bcd20]
PUSH R14
MOV R8D,dword ptr [RDI + 0x10ac]
LEA R15,[0x1bc520]
PUSH R13
BSWAP R11D
MOV R10D,R11D
MOV R14D,R11D
PUSH R12
BSWAP R8D
SHR R10D,0x10
MOVZX EDX,R8B
PUSH RBP
MOV EBP,dword ptr [RDI + 0x10a8]
MOVZX R12D,R10B
SHR R14D,0x18
PUSH RBX
MOV EBX,dword ptr [RDI + 0x10a0]
MOV R9D,dword ptr [RCX + RDX*0x4]
LEA RDX,[0x1bc920]
BSWAP EBP
BSWAP EBX
MOV EAX,EBX
MOVZX R13D,BL
SHR EAX,0x18
MOV R10D,dword ptr [RCX + R13*0x4]
XOR R10D,dword ptr [RSI + R14*0x4]
MOV R14D,EBP
XOR R9D,dword ptr [RSI + RAX*0x4]
MOV EAX,EBP
XOR R9D,dword ptr [RDX + R12*0x4]
MOV R12D,EBP
SHR R12D,0x10
MOVZX EAX,AH
SHR R14D,0x18
MOVZX R13D,R11B
XOR R9D,dword ptr [R15 + RAX*0x4]
MOVZX EAX,R12B
MOV R12D,R8D
MOV R13D,dword ptr [RCX + R13*0x4]
XOR R10D,dword ptr [RDX + RAX*0x4]
MOV EAX,R8D
SHR R12D,0x10
XOR R13D,dword ptr [RSI + R14*0x4]
MOVZX EAX,AH
SHR R8D,0x18
MOVZX EBP,BPL
XOR R10D,dword ptr [R15 + RAX*0x4]
MOVZX EAX,R12B
MOV R14D,dword ptr [RCX + RBP*0x4]
XOR R13D,dword ptr [RDX + RAX*0x4]
MOVZX EAX,BH
SHR EBX,0x10
XOR R14D,dword ptr [RSI + R8*0x4]
MOVZX EBX,BL
XOR R13D,dword ptr [R15 + RAX*0x4]
MOV EAX,R11D
MOV R8D,R9D
MOV EBX,dword ptr [RDX + RBX*0x4]
MOVZX EBP,AH
SHR R8D,0x18
XOR EBX,R14D
MOV R14D,R10D
XOR EBX,dword ptr [R15 + RBP*0x4]
SHR R14D,0x10
MOVZX R12D,BL
MOVZX EAX,R14B
MOV R11D,dword ptr [RCX + R12*0x4]
XOR R11D,dword ptr [RSI + R8*0x4]
MOV R8D,R10D
XOR R11D,dword ptr [RDX + RAX*0x4]
MOV EAX,R13D
MOVZX R14D,R9B
SHR R8D,0x18
MOVZX EBP,AH
SHR EAX,0x10
XOR R11D,dword ptr [R15 + RBP*0x4]
MOVZX R12D,AL
MOV EBP,dword ptr [RCX + R14*0x4]
MOVZX EAX,BH
XOR EBP,dword ptr [RSI + R8*0x4]
MOV R8D,R13D
XOR EBP,dword ptr [RDX + R12*0x4]
MOVZX R14D,R10B
XOR EBP,dword ptr [R15 + RAX*0x4]
SHR R8D,0x18
MOV EAX,EBX
MOVZX R13D,R13B
MOV R12D,dword ptr [RSI + R8*0x4]
XOR R12D,dword ptr [RCX + R14*0x4]
SHR EAX,0x10
MOVZX R8D,AL
SHR EBX,0x18
MOV EAX,R9D
MOV R14D,dword ptr [RSI + RBX*0x4]
MOVZX EAX,AH
MOV EBX,R10D
SHR R9D,0x10
XOR R12D,dword ptr [RDX + R8*0x4]
XOR R14D,dword ptr [RCX + R13*0x4]
MOVZX R9D,R9B
MOV R13D,EBP
XOR R12D,dword ptr [R15 + RAX*0x4]
MOVZX EAX,BH
XOR R14D,dword ptr [RDX + R9*0x4]
SHR R13D,0x10
XOR R14D,dword ptr [R15 + RAX*0x4]
MOV R8D,R11D
MOVZX R9D,R13B
MOV EAX,R12D
SHR R8D,0x18
MOVZX R10D,R14B
MOVZX EAX,AH
MOVZX R13D,R11B
MOV EBX,dword ptr [RSI + R8*0x4]
XOR EBX,dword ptr [RCX + R10*0x4]
MOV R8D,EBP
XOR EBX,dword ptr [RDX + R9*0x4]
MOV R9D,R12D
XOR EBX,dword ptr [R15 + RAX*0x4]
SHR R8D,0x18
SHR R9D,0x10
MOV R10D,dword ptr [RSI + R8*0x4]
XOR R10D,dword ptr [RCX + R13*0x4]
MOV R8D,R12D
MOVZX EAX,R9B
SHR R8D,0x18
MOVZX R13D,BPL
MOVZX R12D,R12B
XOR R10D,dword ptr [RDX + RAX*0x4]
MOV EAX,R14D
MOV R9D,dword ptr [RSI + R8*0x4]
MOVZX EAX,AH
XOR R9D,dword ptr [RCX + R13*0x4]
MOV R13D,EBX
XOR R10D,dword ptr [R15 + RAX*0x4]
MOV EAX,R14D
SHR R14D,0x18
SHR EAX,0x10
MOV R14D,dword ptr [RSI + R14*0x4]
XOR R14D,dword ptr [RCX + R12*0x4]
SHR R13D,0x18
MOVZX R8D,AL
MOV EAX,R11D
SHR R11D,0x10
MOV R12D,dword ptr [RSI + R13*0x4]
MOVZX EAX,AH
XOR R9D,dword ptr [RDX + R8*0x4]
MOVZX R11D,R11B
MOVZX R13D,BL
XOR R9D,dword ptr [R15 + RAX*0x4]
MOV EAX,EBP
XOR R14D,dword ptr [RDX + R11*0x4]
MOV R11D,R10D
MOVZX EBP,AH
SHR R11D,0x10
XOR R14D,dword ptr [R15 + RBP*0x4]
MOVZX EAX,R11B
MOV EBP,R10D
MOV R11D,R9D
MOVZX R8D,R14B
XOR R12D,dword ptr [RCX + R8*0x4]
XOR R12D,dword ptr [RDX + RAX*0x4]
SHR EBP,0x18
SHR R11D,0x10
MOV R8D,dword ptr [RSI + RBP*0x4]
XOR R8D,dword ptr [RCX + R13*0x4]
MOV R13D,R14D
MOVZX EAX,R11B
MOV R11D,R9D
SHR R13D,0x10
XOR R8D,dword ptr [RDX + RAX*0x4]
MOV EAX,R14D
SHR R11D,0x18
MOVZX EBP,AH
MOVZX EAX,R10B
SHR R14D,0x18
XOR R8D,dword ptr [R15 + RBP*0x4]
MOV EBP,dword ptr [RSI + R11*0x4]
MOVZX R11D,R13B
MOVZX R13D,R9B
XOR EBP,dword ptr [RCX + RAX*0x4]
MOVZX EAX,BH
SHR EBX,0x10
MOV ESI,dword ptr [RSI + R14*0x4]
MOVZX EBX,BL
XOR ESI,dword ptr [RCX + R13*0x4]
XOR EBP,dword ptr [RDX + R11*0x4]
BSWAP R8D
MOV ECX,ESI
XOR ECX,dword ptr [RDX + RBX*0x4]
XOR EBP,dword ptr [R15 + RAX*0x4]
MOV EAX,R10D
MOV EDX,ECX
MOV ECX,R9D
MOVZX ESI,AH
BSWAP EBP
MOVZX EBX,CH
XOR EDX,dword ptr [R15 + RSI*0x4]
MOV dword ptr [RDI + 0x10a8],EBP
XOR R12D,dword ptr [R15 + RBX*0x4]
BSWAP EDX
POP RBX
MOV dword ptr [RDI + 0x10a4],R8D
POP RBP
BSWAP R12D
MOV dword ptr [RDI + 0x10ac],EDX
MOV dword ptr [RDI + 0x10a0],R12D
POP R12
POP R13
POP R14
POP R15
RET
(translation_unit "void FUN_0015b1f0(long param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}\n\n" (function_definition "void FUN_0015b1f0(long param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" primitive_type (function_declarator "FUN_0015b1f0(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (expression_statement "uVar1 = *(uint *)(param_1 + 0x10a4);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x10a4)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10a4)" * (cast_expression "(uint *)(param_1 + 0x10a4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a4)" ( (binary_expression "param_1 + 0x10a4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)(param_1 + 0x10ac);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x10ac)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10ac)" * (cast_expression "(uint *)(param_1 + 0x10ac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10ac)" ( (binary_expression "param_1 + 0x10ac" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(param_1 + 0x10a8);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x10a8)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10a8)" * (cast_expression "(uint *)(param_1 + 0x10a8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a8)" ( (binary_expression "param_1 + 0x10a8" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(param_1 + 0x10a0);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x10a0)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10a0)" * (cast_expression "(uint *)(param_1 + 0x10a0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a0)" ( (binary_expression "param_1 + 0x10a0" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar3 >> 0x18) * 4" (call_expression "(ulong)(uVar3 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar1 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar1 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar1 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar1 & 0xff00) << 8)" ( (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar7 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];" (assignment_expression "uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar7 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar7 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar7 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar7 & 0xff00) << 8)" ( (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar3 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];" (assignment_expression "uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar7 & 0xff) * 4" (call_expression "(ulong)(uVar7 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar3 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar3 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar3 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar3 & 0xff00) << 8)" ( (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar2 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];" (assignment_expression "uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar2 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar2 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar2 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar2 & 0xff00) << 8)" ( (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar7 >> 0x18) * 4" (call_expression "(ulong)(uVar7 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar3 & 0xff) * 4" (call_expression "(ulong)(uVar3 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];" (assignment_expression "uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar5 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar5 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar9 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];" (assignment_expression "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar5 >> 0x18) * 4" (call_expression "(ulong)(uVar5 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x10 & 0xff)" ( (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar1 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];" (assignment_expression "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar5 & 0xff) * 4" (call_expression "(ulong)(uVar5 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar4 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar5 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];" (assignment_expression "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar7 >> 0x18) * 4" (call_expression "(ulong)(uVar7 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar3 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar3 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x10 & 0xff)" ( (binary_expression "uVar3 >> 0x10 & 0xff" (binary_expression "uVar3 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar8 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];" (assignment_expression "uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar3 >> 0x18) * 4" (call_expression "(ulong)(uVar3 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar7 & 0xff) * 4" (call_expression "(ulong)(uVar7 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar8 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x10 & 0xff)" ( (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar4 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);" (assignment_expression "uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];" (assignment_expression "uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x18) * 4" (call_expression "(ulong)(uVar8 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar3 & 0xff) * 4" (call_expression "(ulong)(uVar3 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar7 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];" (assignment_expression "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar8 & 0xff) * 4" (call_expression "(ulong)(uVar8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar7 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar7 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 >> 0x10 & 0xff)" ( (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar3 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);" (assignment_expression "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar8 & 0xff) * 4" (call_expression "(ulong)(uVar8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);" (assignment_expression "uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];" (assignment_expression "uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x18) * 4" (call_expression "(ulong)(uVar6 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x10 & 0xff)" ( (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar8 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar8 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x10 & 0xff)" ( (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar2 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];" (assignment_expression "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x18) * 4" (call_expression "(ulong)(uVar8 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x10 & 0xff)" ( (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar6 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "*(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a8)" * (cast_expression "(uint *)(param_1 + 0x10a8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a8)" ( (binary_expression "param_1 + 0x10a8" identifier + number_literal) )))) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];" (assignment_expression "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff]" identifier = (binary_expression "uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (binary_expression "uVar1 ^ uVar3 ^ uVar7" (binary_expression "uVar1 ^ uVar3" identifier ^ identifier) ^ identifier) ^ (subscript_expression "(&DAT_001bc520)[uVar9 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "*(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a4)" * (cast_expression "(uint *)(param_1 + 0x10a4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a4)" ( (binary_expression "param_1 + 0x10a4" identifier + number_literal) )))) = (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar5 & 0xff0000) >> 8" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff00) << 8" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10ac)" * (cast_expression "(uint *)(param_1 + 0x10ac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10ac)" ( (binary_expression "param_1 + 0x10ac" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a0)" * (cast_expression "(uint *)(param_1 + 0x10a0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a0)" ( (binary_expression "param_1 + 0x10a0" identifier + number_literal) )))) = (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nvoid _four_rounds(pelican_state *pelmac)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(pelmac->state + 4);\n  uVar3 = *(uint *)(pelmac->state + 0xc);\n  uVar7 = *(uint *)(pelmac->state + 8);\n  uVar2 = *(uint *)pelmac->state;\n  uVar4 = TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^\n          TE2[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^\n          TE2[uVar9 >> 8 & 0xff];\n  uVar3 = TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar1 >> 8 & 0xff];\n  uVar8 = TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];\n  uVar4 = TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar5 >> 8 & 0xff];\n  uVar2 = TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];\n  uVar6 = TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];\n  uVar1 = TE0[uVar2 >> 0x18];\n  uVar9 = TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar7 >> 8 & 0xff];\n  uVar8 = TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^\n          TE2[uVar3 >> 8 & 0xff];\n  uVar3 = TE3[uVar8 & 0xff];\n  uVar7 = TE1[uVar6 >> 0x10 & 0xff];\n  uVar5 = TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];\n  uVar4 = TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar2 >> 8 & 0xff];\n  uVar2 = TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^\n          TE2[uVar6 >> 8 & 0xff];\n  *(uint *)(pelmac->state + 8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff];\n  *(uint *)(pelmac->state + 4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(pelmac->state + 0xc) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)pelmac->state =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}\n\n" comment (function_definition "void _four_rounds(pelican_state *pelmac)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(pelmac->state + 4);\n  uVar3 = *(uint *)(pelmac->state + 0xc);\n  uVar7 = *(uint *)(pelmac->state + 8);\n  uVar2 = *(uint *)pelmac->state;\n  uVar4 = TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^\n          TE2[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^\n          TE2[uVar9 >> 8 & 0xff];\n  uVar3 = TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar1 >> 8 & 0xff];\n  uVar8 = TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];\n  uVar4 = TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar5 >> 8 & 0xff];\n  uVar2 = TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];\n  uVar6 = TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];\n  uVar1 = TE0[uVar2 >> 0x18];\n  uVar9 = TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar7 >> 8 & 0xff];\n  uVar8 = TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^\n          TE2[uVar3 >> 8 & 0xff];\n  uVar3 = TE3[uVar8 & 0xff];\n  uVar7 = TE1[uVar6 >> 0x10 & 0xff];\n  uVar5 = TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];\n  uVar4 = TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar2 >> 8 & 0xff];\n  uVar2 = TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^\n          TE2[uVar6 >> 8 & 0xff];\n  *(uint *)(pelmac->state + 8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff];\n  *(uint *)(pelmac->state + 4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(pelmac->state + 0xc) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)pelmac->state =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" primitive_type (function_declarator "_four_rounds(pelican_state *pelmac)" identifier (parameter_list "(pelican_state *pelmac)" ( (parameter_declaration "pelican_state *pelmac" type_identifier (pointer_declarator "*pelmac" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(pelmac->state + 4);\n  uVar3 = *(uint *)(pelmac->state + 0xc);\n  uVar7 = *(uint *)(pelmac->state + 8);\n  uVar2 = *(uint *)pelmac->state;\n  uVar4 = TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^\n          TE2[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^\n          TE2[uVar9 >> 8 & 0xff];\n  uVar3 = TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar1 >> 8 & 0xff];\n  uVar8 = TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];\n  uVar4 = TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar5 >> 8 & 0xff];\n  uVar2 = TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];\n  uVar6 = TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];\n  uVar1 = TE0[uVar2 >> 0x18];\n  uVar9 = TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar7 >> 8 & 0xff];\n  uVar8 = TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^\n          TE2[uVar3 >> 8 & 0xff];\n  uVar3 = TE3[uVar8 & 0xff];\n  uVar7 = TE1[uVar6 >> 0x10 & 0xff];\n  uVar5 = TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];\n  uVar4 = TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar2 >> 8 & 0xff];\n  uVar2 = TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^\n          TE2[uVar6 >> 8 & 0xff];\n  *(uint *)(pelmac->state + 8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff];\n  *(uint *)(pelmac->state + 4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(pelmac->state + 0xc) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)pelmac->state =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (expression_statement "uVar1 = *(uint *)(pelmac->state + 4);" (assignment_expression "uVar1 = *(uint *)(pelmac->state + 4)" identifier = (pointer_expression "*(uint *)(pelmac->state + 4)" * (cast_expression "(uint *)(pelmac->state + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pelmac->state + 4)" ( (binary_expression "pelmac->state + 4" (field_expression "pelmac->state" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)(pelmac->state + 0xc);" (assignment_expression "uVar3 = *(uint *)(pelmac->state + 0xc)" identifier = (pointer_expression "*(uint *)(pelmac->state + 0xc)" * (cast_expression "(uint *)(pelmac->state + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pelmac->state + 0xc)" ( (binary_expression "pelmac->state + 0xc" (field_expression "pelmac->state" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(pelmac->state + 8);" (assignment_expression "uVar7 = *(uint *)(pelmac->state + 8)" identifier = (pointer_expression "*(uint *)(pelmac->state + 8)" * (cast_expression "(uint *)(pelmac->state + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pelmac->state + 8)" ( (binary_expression "pelmac->state + 8" (field_expression "pelmac->state" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)pelmac->state;" (assignment_expression "uVar2 = *(uint *)pelmac->state" identifier = (pointer_expression "*(uint *)pelmac->state" * (cast_expression "(uint *)pelmac->state" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pelmac->state" identifier -> field_identifier)))) ;) (expression_statement "uVar4 = TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar7 & 0xff0000) >> 0x10];" (assignment_expression "uVar4 = TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar7 & 0xff0000) >> 0x10]" identifier = (binary_expression "TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar7 & 0xff0000) >> 0x10]" (binary_expression "TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff] ^ TE1[((uVar1 & 0xff00) << 8) >> 0x10]" (binary_expression "TE3[uVar3 >> 0x18] ^ TE0[uVar2 & 0xff]" (subscript_expression "TE3[uVar3 >> 0x18]" identifier [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE0[uVar2 & 0xff]" identifier [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[((uVar1 & 0xff00) << 8) >> 0x10]" identifier [ (binary_expression "((uVar1 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar1 & 0xff00) << 8)" ( (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ])) ^ (subscript_expression "TE2[(uVar7 & 0xff0000) >> 0x10]" identifier [ (binary_expression "(uVar7 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar5 = TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar3 & 0xff0000) >> 0x10];" (assignment_expression "uVar5 = TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar3 & 0xff0000) >> 0x10]" identifier = (binary_expression "TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar3 & 0xff0000) >> 0x10]" (binary_expression "TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff] ^ TE1[((uVar7 & 0xff00) << 8) >> 0x10]" (binary_expression "TE3[uVar2 >> 0x18] ^ TE0[uVar1 & 0xff]" (subscript_expression "TE3[uVar2 >> 0x18]" identifier [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE0[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[((uVar7 & 0xff00) << 8) >> 0x10]" identifier [ (binary_expression "((uVar7 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar7 & 0xff00) << 8)" ( (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ])) ^ (subscript_expression "TE2[(uVar3 & 0xff0000) >> 0x10]" identifier [ (binary_expression "(uVar3 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar9 = TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar2 & 0xff0000) >> 0x10];" (assignment_expression "uVar9 = TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar2 & 0xff0000) >> 0x10]" identifier = (binary_expression "TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10] ^\n          TE2[(uVar2 & 0xff0000) >> 0x10]" (binary_expression "TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff] ^ TE1[((uVar3 & 0xff00) << 8) >> 0x10]" (binary_expression "TE3[uVar1 >> 0x18] ^ TE0[uVar7 & 0xff]" (subscript_expression "TE3[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE0[uVar7 & 0xff]" identifier [ (binary_expression "uVar7 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[((uVar3 & 0xff00) << 8) >> 0x10]" identifier [ (binary_expression "((uVar3 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar3 & 0xff00) << 8)" ( (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ])) ^ (subscript_expression "TE2[(uVar2 & 0xff0000) >> 0x10]" identifier [ (binary_expression "(uVar2 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar1 = TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^\n          TE2[(uVar1 & 0xff0000) >> 0x10];" (assignment_expression "uVar1 = TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^\n          TE2[(uVar1 & 0xff0000) >> 0x10]" identifier = (binary_expression "TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff] ^\n          TE2[(uVar1 & 0xff0000) >> 0x10]" (binary_expression "TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18] ^ TE0[uVar3 & 0xff]" (binary_expression "TE1[((uVar2 & 0xff00) << 8) >> 0x10] ^ TE3[uVar7 >> 0x18]" (subscript_expression "TE1[((uVar2 & 0xff00) << 8) >> 0x10]" identifier [ (binary_expression "((uVar2 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar2 & 0xff00) << 8)" ( (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ]) ^ (subscript_expression "TE3[uVar7 >> 0x18]" identifier [ (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "TE0[uVar3 & 0xff]" identifier [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE2[(uVar1 & 0xff0000) >> 0x10]" identifier [ (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar7 = TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^\n          TE2[uVar9 >> 8 & 0xff];" (assignment_expression "uVar7 = TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^\n          TE2[uVar9 >> 8 & 0xff]" identifier = (binary_expression "TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff] ^\n          TE2[uVar9 >> 8 & 0xff]" (binary_expression "TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18] ^ TE1[uVar5 >> 0x10 & 0xff]" (binary_expression "TE3[uVar1 & 0xff] ^ TE0[uVar4 >> 0x18]" (subscript_expression "TE3[uVar1 & 0xff]" identifier [ (binary_expression "uVar1 & 0xff" identifier & number_literal) ]) ^ (subscript_expression "TE0[uVar4 >> 0x18]" identifier [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "TE1[uVar5 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar9 >> 8 & 0xff]" identifier [ (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar3 = TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar1 >> 8 & 0xff];" (assignment_expression "uVar3 = TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar1 >> 8 & 0xff]" identifier = (binary_expression "TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar1 >> 8 & 0xff]" (binary_expression "TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18] ^ TE1[uVar9 >> 0x10 & 0xff]" (binary_expression "TE3[uVar4 & 0xff] ^ TE0[uVar5 >> 0x18]" (subscript_expression "TE3[uVar4 & 0xff]" identifier [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ]) ^ (subscript_expression "TE0[uVar5 >> 0x18]" identifier [ (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ])) ^ (subscript_expression "TE1[uVar9 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar1 >> 8 & 0xff]" identifier [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar8 = TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];" (assignment_expression "uVar8 = TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff]" (binary_expression "TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff] ^ TE1[uVar1 >> 0x10 & 0xff]" (binary_expression "TE0[uVar9 >> 0x18] ^ TE3[uVar5 & 0xff]" (subscript_expression "TE0[uVar9 >> 0x18]" identifier [ (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar5 & 0xff]" identifier [ (binary_expression "uVar5 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar1 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar4 >> 8 & 0xff]" identifier [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar4 = TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar5 >> 8 & 0xff];" (assignment_expression "uVar4 = TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar5 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar5 >> 8 & 0xff]" (binary_expression "TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff]" (binary_expression "TE0[uVar1 >> 0x18] ^ TE3[uVar9 & 0xff]" (subscript_expression "TE0[uVar1 >> 0x18]" identifier [ (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar9 & 0xff]" identifier [ (binary_expression "uVar9 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar4 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar5 >> 8 & 0xff]" identifier [ (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar2 = TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];" (assignment_expression "uVar2 = TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff]" (binary_expression "TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff] ^ TE1[uVar3 >> 0x10 & 0xff]" (binary_expression "TE0[uVar7 >> 0x18] ^ TE3[uVar4 & 0xff]" (subscript_expression "TE0[uVar7 >> 0x18]" identifier [ (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar4 & 0xff]" identifier [ (binary_expression "uVar4 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar3 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar3 >> 0x10 & 0xff" (binary_expression "uVar3 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar8 >> 8 & 0xff]" identifier [ (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar6 = TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff];" (assignment_expression "uVar6 = TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar4 >> 8 & 0xff]" (binary_expression "TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff]" (binary_expression "TE0[uVar3 >> 0x18] ^ TE3[uVar7 & 0xff]" (subscript_expression "TE0[uVar3 >> 0x18]" identifier [ (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar7 & 0xff]" identifier [ (binary_expression "uVar7 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar8 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar4 >> 8 & 0xff]" identifier [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar1 = TE0[uVar2 >> 0x18];" (assignment_expression "uVar1 = TE0[uVar2 >> 0x18]" identifier = (subscript_expression "TE0[uVar2 >> 0x18]" identifier [ (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ])) ;) (expression_statement "uVar9 = TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar7 >> 8 & 0xff];" (assignment_expression "uVar9 = TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar7 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff] ^\n          TE2[uVar7 >> 8 & 0xff]" (binary_expression "TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff] ^ TE1[uVar4 >> 0x10 & 0xff]" (binary_expression "TE0[uVar8 >> 0x18] ^ TE3[uVar3 & 0xff]" (subscript_expression "TE0[uVar8 >> 0x18]" identifier [ (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar3 & 0xff]" identifier [ (binary_expression "uVar3 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar4 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar7 >> 8 & 0xff]" identifier [ (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar8 = TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^\n          TE2[uVar3 >> 8 & 0xff];" (assignment_expression "uVar8 = TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^\n          TE2[uVar3 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff] ^\n          TE2[uVar3 >> 8 & 0xff]" (binary_expression "TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff] ^ TE1[uVar7 >> 0x10 & 0xff]" (binary_expression "TE0[uVar4 >> 0x18] ^ TE3[uVar8 & 0xff]" (subscript_expression "TE0[uVar4 >> 0x18]" identifier [ (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar8 & 0xff]" identifier [ (binary_expression "uVar8 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar7 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar3 >> 8 & 0xff]" identifier [ (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar3 = TE3[uVar8 & 0xff];" (assignment_expression "uVar3 = TE3[uVar8 & 0xff]" identifier = (subscript_expression "TE3[uVar8 & 0xff]" identifier [ (binary_expression "uVar8 & 0xff" identifier & number_literal) ])) ;) (expression_statement "uVar7 = TE1[uVar6 >> 0x10 & 0xff];" (assignment_expression "uVar7 = TE1[uVar6 >> 0x10 & 0xff]" identifier = (subscript_expression "TE1[uVar6 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ])) ;) (expression_statement "uVar5 = TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff];" (assignment_expression "uVar5 = TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff] ^\n          TE2[uVar8 >> 8 & 0xff]" (binary_expression "TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff] ^ TE1[uVar9 >> 0x10 & 0xff]" (binary_expression "TE0[uVar6 >> 0x18] ^ TE3[uVar2 & 0xff]" (subscript_expression "TE0[uVar6 >> 0x18]" identifier [ (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar2 & 0xff]" identifier [ (binary_expression "uVar2 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar9 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar8 >> 8 & 0xff]" identifier [ (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar4 = TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar2 >> 8 & 0xff];" (assignment_expression "uVar4 = TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar2 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff] ^\n          TE2[uVar2 >> 8 & 0xff]" (binary_expression "TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff] ^ TE1[uVar8 >> 0x10 & 0xff]" (binary_expression "TE0[uVar9 >> 0x18] ^ TE3[uVar6 & 0xff]" (subscript_expression "TE0[uVar9 >> 0x18]" identifier [ (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar6 & 0xff]" identifier [ (binary_expression "uVar6 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar8 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar2 >> 8 & 0xff]" identifier [ (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar2 = TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^\n          TE2[uVar6 >> 8 & 0xff];" (assignment_expression "uVar2 = TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^\n          TE2[uVar6 >> 8 & 0xff]" identifier = (binary_expression "TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff] ^\n          TE2[uVar6 >> 8 & 0xff]" (binary_expression "TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff] ^ TE1[uVar2 >> 0x10 & 0xff]" (binary_expression "TE0[uVar8 >> 0x18] ^ TE3[uVar9 & 0xff]" (subscript_expression "TE0[uVar8 >> 0x18]" identifier [ (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ]) ^ (subscript_expression "TE3[uVar9 & 0xff]" identifier [ (binary_expression "uVar9 & 0xff" identifier & number_literal) ])) ^ (subscript_expression "TE1[uVar2 >> 0x10 & 0xff]" identifier [ (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ])) ^ (subscript_expression "TE2[uVar6 >> 8 & 0xff]" identifier [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "*(uint *)(pelmac->state + 8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)(pelmac->state + 8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)(pelmac->state + 8)" * (cast_expression "(uint *)(pelmac->state + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pelmac->state + 8)" ( (binary_expression "pelmac->state + 8" (field_expression "pelmac->state" identifier -> field_identifier) + number_literal) )))) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff];" (assignment_expression "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff]" identifier = (binary_expression "uVar1 ^ uVar3 ^ uVar7 ^ TE2[uVar9 >> 8 & 0xff]" (binary_expression "uVar1 ^ uVar3 ^ uVar7" (binary_expression "uVar1 ^ uVar3" identifier ^ identifier) ^ identifier) ^ (subscript_expression "TE2[uVar9 >> 8 & 0xff]" identifier [ (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "*(uint *)(pelmac->state + 4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;" (assignment_expression "*(uint *)(pelmac->state + 4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (pointer_expression "*(uint *)(pelmac->state + 4)" * (cast_expression "(uint *)(pelmac->state + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pelmac->state + 4)" ( (binary_expression "pelmac->state + 4" (field_expression "pelmac->state" identifier -> field_identifier) + number_literal) )))) = (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar5 & 0xff0000) >> 8" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff00) << 8" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)(pelmac->state + 0xc) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "*(uint *)(pelmac->state + 0xc) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (pointer_expression "*(uint *)(pelmac->state + 0xc)" * (cast_expression "(uint *)(pelmac->state + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pelmac->state + 0xc)" ( (binary_expression "pelmac->state + 0xc" (field_expression "pelmac->state" identifier -> field_identifier) + number_literal) )))) = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)pelmac->state =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;" (assignment_expression "*(uint *)pelmac->state =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (pointer_expression "*(uint *)pelmac->state" * (cast_expression "(uint *)pelmac->state" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pelmac->state" identifier -> field_identifier))) = (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0015b1f0(long param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}\n\n" (function_definition "void FUN_0015b1f0(long param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" primitive_type (function_declarator "FUN_0015b1f0(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (expression_statement "uVar1 = *(uint *)(param_1 + 0x10a4);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x10a4)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10a4)" * (cast_expression "(uint *)(param_1 + 0x10a4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a4)" ( (binary_expression "param_1 + 0x10a4" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)(param_1 + 0x10ac);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x10ac)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10ac)" * (cast_expression "(uint *)(param_1 + 0x10ac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10ac)" ( (binary_expression "param_1 + 0x10ac" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)(param_1 + 0x10a8);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x10a8)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10a8)" * (cast_expression "(uint *)(param_1 + 0x10a8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a8)" ( (binary_expression "param_1 + 0x10a8" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(param_1 + 0x10a0);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x10a0)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10a0)" * (cast_expression "(uint *)(param_1 + 0x10a0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a0)" ( (binary_expression "param_1 + 0x10a0" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar3 >> 0x18) * 4" (call_expression "(ulong)(uVar3 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar1 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar1 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar1 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar1 & 0xff00) << 8)" ( (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar7 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];" (assignment_expression "uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar7 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar7 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar7 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar7 & 0xff00) << 8)" ( (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar3 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];" (assignment_expression "uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar7 & 0xff) * 4" (call_expression "(ulong)(uVar7 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar3 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar3 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar3 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar3 & 0xff00) << 8)" ( (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar2 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];" (assignment_expression "uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" identifier = (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar2 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar2 & 0xff00) << 8) >> 0x10)" ( (binary_expression "((uVar2 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar2 & 0xff00) << 8)" ( (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar7 >> 0x18) * 4" (call_expression "(ulong)(uVar7 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar3 & 0xff) * 4" (call_expression "(ulong)(uVar3 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal) ]))) ;) (expression_statement "uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];" (assignment_expression "uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 & 0xff)" ( (binary_expression "uVar1 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar5 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar5 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 >> 0x10 & 0xff)" ( (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar9 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];" (assignment_expression "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar5 >> 0x18) * 4" (call_expression "(ulong)(uVar5 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x10 & 0xff)" ( (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar1 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];" (assignment_expression "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar5 & 0xff) * 4" (call_expression "(ulong)(uVar5 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x10 & 0xff)" ( (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar4 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18)" ( (binary_expression "uVar1 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar5 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];" (assignment_expression "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar7 >> 0x18) * 4" (call_expression "(ulong)(uVar7 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 & 0xff)" ( (binary_expression "uVar4 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar3 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar3 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x10 & 0xff)" ( (binary_expression "uVar3 >> 0x10 & 0xff" (binary_expression "uVar3 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar8 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];" (assignment_expression "uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar3 >> 0x18) * 4" (call_expression "(ulong)(uVar3 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar7 & 0xff) * 4" (call_expression "(ulong)(uVar7 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar8 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x10 & 0xff)" ( (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar4 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);" (assignment_expression "uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];" (assignment_expression "uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x18) * 4" (call_expression "(ulong)(uVar8 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar3 & 0xff) * 4" (call_expression "(ulong)(uVar3 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x10 & 0xff)" ( (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar7 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];" (assignment_expression "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar8 & 0xff) * 4" (call_expression "(ulong)(uVar8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar7 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar7 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar7 >> 0x10 & 0xff)" ( (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar3 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);" (assignment_expression "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar8 & 0xff) * 4" (call_expression "(ulong)(uVar8 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);" (assignment_expression "uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" identifier = (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x10 & 0xff)" ( (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];" (assignment_expression "uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar6 >> 0x18) * 4" (call_expression "(ulong)(uVar6 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x10 & 0xff)" ( (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar8 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar8 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x10 & 0xff)" ( (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar2 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];" (assignment_expression "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff]" identifier = (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" * (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" ( (binary_expression "&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" & identifier) + (binary_expression "(ulong)(uVar8 >> 0x18) * 4" (call_expression "(ulong)(uVar8 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ))) * number_literal)) )))) ^ (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" ( (binary_expression "&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4" (pointer_expression "&DAT_001bc120" & identifier) + (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) ))) * number_literal)) ))))) ^ (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" * (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" ( (binary_expression "&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" & identifier) + (binary_expression "(ulong)(uVar2 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x10 & 0xff)" ( (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" identifier >> number_literal) & number_literal) ))) * number_literal)) ))))) ^ (subscript_expression "(&DAT_001bc520)[uVar6 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "*(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a8)" * (cast_expression "(uint *)(param_1 + 0x10a8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a8)" ( (binary_expression "param_1 + 0x10a8" identifier + number_literal) )))) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];" (assignment_expression "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff]" identifier = (binary_expression "uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (binary_expression "uVar1 ^ uVar3 ^ uVar7" (binary_expression "uVar1 ^ uVar3" identifier ^ identifier) ^ identifier) ^ (subscript_expression "(&DAT_001bc520)[uVar9 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" ( (pointer_expression "&DAT_001bc520" & identifier) )) [ (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal) ]))) ;) (expression_statement "*(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a4)" * (cast_expression "(uint *)(param_1 + 0x10a4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a4)" ( (binary_expression "param_1 + 0x10a4" identifier + number_literal) )))) = (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar5 & 0xff0000) >> 8" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff00) << 8" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10ac)" * (cast_expression "(uint *)(param_1 + 0x10ac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10ac)" ( (binary_expression "param_1 + 0x10ac" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a0)" * (cast_expression "(uint *)(param_1 + 0x10a0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10a0)" ( (binary_expression "param_1 + 0x10a0" identifier + number_literal) )))) = (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) * LIT)) ))))) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT >> LIT) & LIT) ))) * LIT)) ))))) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT ^ IDENT) ^ IDENT) ^ (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression IDENT >> LIT) & LIT) ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (return_statement return ;) })))
(function_definition "void FUN_0015b1f0(long param_1)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0015b1f0(long param_1)" (identifier "FUN_0015b1f0") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  \n  uVar1 = *(uint *)(param_1 + 0x10a4);\n  uVar3 = *(uint *)(param_1 + 0x10ac);\n  uVar7 = *(uint *)(param_1 + 0x10a8);\n  uVar2 = *(uint *)(param_1 + 0x10a0);\n  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];\n  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];\n  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];\n  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];\n  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];\n  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);\n  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];\n  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];\n  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);\n  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);\n  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];\n  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];\n  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];\n  *(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n  *(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n  *(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (expression_statement "uVar1 = *(uint *)(param_1 + 0x10a4);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x10a4)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10a4)" (* "*") (cast_expression "(uint *)(param_1 + 0x10a4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10a4)" (( "(") (binary_expression "param_1 + 0x10a4" (identifier "param_1") (+ "+") (number_literal "0x10a4")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(uint *)(param_1 + 0x10ac);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x10ac)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10ac)" (* "*") (cast_expression "(uint *)(param_1 + 0x10ac)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10ac)" (( "(") (binary_expression "param_1 + 0x10ac" (identifier "param_1") (+ "+") (number_literal "0x10ac")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(param_1 + 0x10a8);" (assignment_expression "uVar7 = *(uint *)(param_1 + 0x10a8)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10a8)" (* "*") (cast_expression "(uint *)(param_1 + 0x10a8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10a8)" (( "(") (binary_expression "param_1 + 0x10a8" (identifier "param_1") (+ "+") (number_literal "0x10a8")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(uint *)(param_1 + 0x10a0);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x10a0)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10a0)" (* "*") (cast_expression "(uint *)(param_1 + 0x10a0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10a0)" (( "(") (binary_expression "param_1 + 0x10a0" (identifier "param_1") (+ "+") (number_literal "0x10a0")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (identifier "uVar4") (= "=") (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar3 >> 0x18) * 4" (call_expression "(ulong)(uVar3 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar1 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(((uVar1 & 0xff00) << 8) >> 0x10)" (( "(") (binary_expression "((uVar1 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar1 & 0xff00) << 8)" (( "(") (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x10")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "(uVar7 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) (] "]")))) (; ";")) (expression_statement "uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];" (assignment_expression "uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (identifier "uVar5") (= "=") (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar7 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(((uVar7 & 0xff00) << 8) >> 0x10)" (( "(") (binary_expression "((uVar7 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar7 & 0xff00) << 8)" (( "(") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x10")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "(uVar3 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) (] "]")))) (; ";")) (expression_statement "uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];" (assignment_expression "uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (identifier "uVar9") (= "=") (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^\n          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar7 & 0xff) * 4" (call_expression "(ulong)(uVar7 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar3 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(((uVar3 & 0xff00) << 8) >> 0x10)" (( "(") (binary_expression "((uVar3 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar3 & 0xff00) << 8)" (( "(") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x10")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "(uVar2 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) (] "]")))) (; ";")) (expression_statement "uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];" (assignment_expression "uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (identifier "uVar1") (= "=") (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^\n          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4" (call_expression "(ulong)(((uVar2 & 0xff00) << 8) >> 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(((uVar2 & 0xff00) << 8) >> 0x10)" (( "(") (binary_expression "((uVar2 & 0xff00) << 8) >> 0x10" (parenthesized_expression "((uVar2 & 0xff00) << 8)" (( "(") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x10")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar7 >> 0x18) * 4" (call_expression "(ulong)(uVar7 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar3 & 0xff) * 4" (call_expression "(ulong)(uVar3 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "(uVar1 & 0xff0000) >> 0x10" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) (] "]")))) (; ";")) (expression_statement "uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff];" (assignment_expression "uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar1 & 0xff) * 4" (call_expression "(ulong)(uVar1 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 & 0xff)" (( "(") (binary_expression "uVar1 & 0xff" (identifier "uVar1") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar5 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar5 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar5 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar5 >> 0x10 & 0xff" (binary_expression "uVar5 >> 0x10" (identifier "uVar5") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar9 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff];" (assignment_expression "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff]" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar1 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar5 >> 0x18) * 4" (call_expression "(ulong)(uVar5 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar5 >> 0x18)" (( "(") (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar1 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar1 >> 8 & 0xff" (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];" (assignment_expression "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (identifier "uVar8") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar5 & 0xff) * 4" (call_expression "(ulong)(uVar5 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar1 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar1 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar1 >> 0x10 & 0xff" (binary_expression "uVar1 >> 0x10" (identifier "uVar1") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar4 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff]" (identifier "uVar4") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar5 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar1 >> 0x18) * 4" (call_expression "(ulong)(uVar1 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 >> 0x18)" (( "(") (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar5 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" (identifier "uVar5") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];" (assignment_expression "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (identifier "uVar2") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar7 >> 0x18) * 4" (call_expression "(ulong)(uVar7 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar4 & 0xff) * 4" (call_expression "(ulong)(uVar4 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 & 0xff)" (( "(") (binary_expression "uVar4 & 0xff" (identifier "uVar4") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar3 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar3 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar3 >> 0x10 & 0xff" (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar8 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff];" (assignment_expression "uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (identifier "uVar6") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar4 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar3 >> 0x18) * 4" (call_expression "(ulong)(uVar3 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar7 & 0xff) * 4" (call_expression "(ulong)(uVar7 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar8 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar8 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar8 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar4 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar4 >> 8 & 0xff" (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);" (assignment_expression "uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar2 >> 0x18) * 4" (call_expression "(ulong)(uVar2 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x18)" (( "(") (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff];" (assignment_expression "uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff]" (identifier "uVar9") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar7 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar8 >> 0x18) * 4" (call_expression "(ulong)(uVar8 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar3 & 0xff) * 4" (call_expression "(ulong)(uVar3 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 & 0xff)" (( "(") (binary_expression "uVar3 & 0xff" (identifier "uVar3") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar4 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar4 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar4 >> 0x10 & 0xff" (binary_expression "uVar4 >> 0x10" (identifier "uVar4") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar7 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff];" (assignment_expression "uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff]" (identifier "uVar8") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar3 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar4 >> 0x18) * 4" (call_expression "(ulong)(uVar4 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar8 & 0xff) * 4" (call_expression "(ulong)(uVar8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar7 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar7 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar7 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar7 >> 0x10 & 0xff" (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar3 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);" (assignment_expression "uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar8 & 0xff) * 4" (call_expression "(ulong)(uVar8 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);" (assignment_expression "uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar6 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar6 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar6 >> 0x10 & 0xff" (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff];" (assignment_expression "uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (identifier "uVar5") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar8 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar6 >> 0x18) * 4" (call_expression "(ulong)(uVar6 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar2 & 0xff) * 4" (call_expression "(ulong)(uVar2 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar9 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar9 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar9 >> 0x10 & 0xff" (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar8 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff];" (assignment_expression "uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff]" (identifier "uVar4") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar2 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar9 >> 0x18) * 4" (call_expression "(ulong)(uVar9 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar6 & 0xff) * 4" (call_expression "(ulong)(uVar6 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar8 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar8 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar8 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar8 >> 0x10 & 0xff" (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar2 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar2 >> 8 & 0xff" (binary_expression "uVar2 >> 8" (identifier "uVar2") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff];" (assignment_expression "uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff]" (identifier "uVar2") (= "=") (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^\n          (&DAT_001bc520)[uVar6 >> 8 & 0xff]" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^\n          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (binary_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^\n          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (pointer_expression "*(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4)" (( "(") (binary_expression "&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4" (pointer_expression "&DAT_001bcd20" (& "&") (identifier "DAT_001bcd20")) (+ "+") (binary_expression "(ulong)(uVar8 >> 0x18) * 4" (call_expression "(ulong)(uVar8 >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4" (pointer_expression "&DAT_001bc120" (& "&") (identifier "DAT_001bc120")) (+ "+") (binary_expression "(ulong)(uVar9 & 0xff) * 4" (call_expression "(ulong)(uVar9 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (pointer_expression "*(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (* "*") (cast_expression "(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4)" (( "(") (binary_expression "&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4" (pointer_expression "&DAT_001bc920" (& "&") (identifier "DAT_001bc920")) (+ "+") (binary_expression "(ulong)(uVar2 >> 0x10 & 0xff) * 4" (call_expression "(ulong)(uVar2 >> 0x10 & 0xff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x10 & 0xff)" (( "(") (binary_expression "uVar2 >> 0x10 & 0xff" (binary_expression "uVar2 >> 0x10" (identifier "uVar2") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar6 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a8) =\n       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a8)" (* "*") (cast_expression "(uint *)(param_1 + 0x10a8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10a8)" (( "(") (binary_expression "param_1 + 0x10a8" (identifier "param_1") (+ "+") (number_literal "0x10a8")) () ")")))) (= "=") (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar4 << 0x18" (identifier "uVar4") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];" (assignment_expression "uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff]" (binary_expression "uVar1 ^ uVar3 ^ uVar7" (binary_expression "uVar1 ^ uVar3" (identifier "uVar1") (^ "^") (identifier "uVar3")) (^ "^") (identifier "uVar7")) (^ "^") (subscript_expression "(&DAT_001bc520)[uVar9 >> 8 & 0xff]" (parenthesized_expression "(&DAT_001bc520)" (( "(") (pointer_expression "&DAT_001bc520" (& "&") (identifier "DAT_001bc520")) () ")")) ([ "[") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff")) (] "]")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a4) =\n       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a4)" (* "*") (cast_expression "(uint *)(param_1 + 0x10a4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10a4)" (( "(") (binary_expression "param_1 + 0x10a4" (identifier "param_1") (+ "+") (number_literal "0x10a4")) () ")")))) (= "=") (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8" (binary_expression "uVar5 >> 0x18" (identifier "uVar5") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar5 & 0xff0000) >> 8" (parenthesized_expression "(uVar5 & 0xff0000)" (( "(") (binary_expression "uVar5 & 0xff0000" (identifier "uVar5") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar5 & 0xff00) << 8" (parenthesized_expression "(uVar5 & 0xff00)" (( "(") (binary_expression "uVar5 & 0xff00" (identifier "uVar5") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar5 << 0x18" (identifier "uVar5") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10ac) =\n       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10ac)" (* "*") (cast_expression "(uint *)(param_1 + 0x10ac)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10ac)" (( "(") (binary_expression "param_1 + 0x10ac" (identifier "param_1") (+ "+") (number_literal "0x10ac")) () ")")))) (= "=") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;" (assignment_expression "*(uint *)(param_1 + 0x10a0) =\n       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (pointer_expression "*(uint *)(param_1 + 0x10a0)" (* "*") (cast_expression "(uint *)(param_1 + 0x10a0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10a0)" (( "(") (binary_expression "param_1 + 0x10a0" (identifier "param_1") (+ "+") (number_literal "0x10a0")) () ")")))) (= "=") (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" (identifier "uVar1") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar1 << 0x18" (identifier "uVar1") (<< "<<") (number_literal "0x18")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

void function_1(type_1 *pelmac)

{
  type_2 var_3;
  type_2 var_2;
  type_2 var_1;
  type_2 var_5;
  type_2 var_6;
  type_2 var_9;
  type_2 var_4;
  type_2 var_8;
  type_2 var_7;
  
  var_3 = *(type_2 *)(pelmac->state + 4);
  var_1 = *(type_2 *)(pelmac->state + 0xc);
  var_4 = *(type_2 *)(pelmac->state + 8);
  var_2 = *(type_2 *)pelmac->state;
  var_5 = TE3[var_1 >> 0x18] ^ TE0[var_2 & 0xff] ^ TE1[((var_3 & 0xff00) << 8) >> 0x10] ^
          TE2[(var_4 & 0xff0000) >> 0x10];
  var_6 = TE3[var_2 >> 0x18] ^ TE0[var_3 & 0xff] ^ TE1[((var_4 & 0xff00) << 8) >> 0x10] ^
          TE2[(var_1 & 0xff0000) >> 0x10];
  var_7 = TE3[var_3 >> 0x18] ^ TE0[var_4 & 0xff] ^ TE1[((var_1 & 0xff00) << 8) >> 0x10] ^
          TE2[(var_2 & 0xff0000) >> 0x10];
  var_3 = TE1[((var_2 & 0xff00) << 8) >> 0x10] ^ TE3[var_4 >> 0x18] ^ TE0[var_1 & 0xff] ^
          TE2[(var_3 & 0xff0000) >> 0x10];
  var_4 = TE3[var_3 & 0xff] ^ TE0[var_5 >> 0x18] ^ TE1[var_6 >> 0x10 & 0xff] ^
          TE2[var_7 >> 8 & 0xff];
  var_1 = TE3[var_5 & 0xff] ^ TE0[var_6 >> 0x18] ^ TE1[var_7 >> 0x10 & 0xff] ^
          TE2[var_3 >> 8 & 0xff];
  var_8 = TE0[var_7 >> 0x18] ^ TE3[var_6 & 0xff] ^ TE1[var_3 >> 0x10 & 0xff] ^
          TE2[var_5 >> 8 & 0xff];
  var_5 = TE0[var_3 >> 0x18] ^ TE3[var_7 & 0xff] ^ TE1[var_5 >> 0x10 & 0xff] ^
          TE2[var_6 >> 8 & 0xff];
  var_2 = TE0[var_4 >> 0x18] ^ TE3[var_5 & 0xff] ^ TE1[var_1 >> 0x10 & 0xff] ^
          TE2[var_8 >> 8 & 0xff];
  var_9 = TE0[var_1 >> 0x18] ^ TE3[var_4 & 0xff] ^ TE1[var_8 >> 0x10 & 0xff] ^
          TE2[var_5 >> 8 & 0xff];
  var_3 = TE0[var_2 >> 0x18];
  var_7 = TE0[var_8 >> 0x18] ^ TE3[var_1 & 0xff] ^ TE1[var_5 >> 0x10 & 0xff] ^
          TE2[var_4 >> 8 & 0xff];
  var_8 = TE0[var_5 >> 0x18] ^ TE3[var_8 & 0xff] ^ TE1[var_4 >> 0x10 & 0xff] ^
          TE2[var_1 >> 8 & 0xff];
  var_1 = TE3[var_8 & 0xff];
  var_4 = TE1[var_9 >> 0x10 & 0xff];
  var_6 = TE0[var_9 >> 0x18] ^ TE3[var_2 & 0xff] ^ TE1[var_7 >> 0x10 & 0xff] ^
          TE2[var_8 >> 8 & 0xff];
  var_5 = TE0[var_7 >> 0x18] ^ TE3[var_9 & 0xff] ^ TE1[var_8 >> 0x10 & 0xff] ^
          TE2[var_2 >> 8 & 0xff];
  var_2 = TE0[var_8 >> 0x18] ^ TE3[var_7 & 0xff] ^ TE1[var_2 >> 0x10 & 0xff] ^
          TE2[var_9 >> 8 & 0xff];
  *(type_2 *)(pelmac->state + 8) =
       var_5 >> 0x18 | (var_5 & 0xff0000) >> 8 | (var_5 & 0xff00) << 8 | var_5 << 0x18;
  var_3 = var_3 ^ var_1 ^ var_4 ^ TE2[var_7 >> 8 & 0xff];
  *(type_2 *)(pelmac->state + 4) =
       var_6 >> 0x18 | (var_6 & 0xff0000) >> 8 | (var_6 & 0xff00) << 8 | var_6 << 0x18;
  *(type_2 *)(pelmac->state + 0xc) =
       var_2 >> 0x18 | (var_2 & 0xff0000) >> 8 | (var_2 & 0xff00) << 8 | var_2 << 0x18;
  *(type_2 *)pelmac->state =
       var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 | var_3 << 0x18;
  return;
}


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

void MASKED(long param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  
  uVar1 = *(uint *)(param_1 + 0x10a4);
  uVar3 = *(uint *)(param_1 + 0x10ac);
  uVar7 = *(uint *)(param_1 + 0x10a8);
  uVar2 = *(uint *)(param_1 + 0x10a0);
  uVar4 = *(uint *)(&DAT_001bc120 + (ulong)(uVar3 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(((uVar1 & 0xff00) << 8) >> 0x10) * 4) ^
          (&DAT_001bc520)[(uVar7 & 0xff0000) >> 0x10];
  uVar5 = *(uint *)(&DAT_001bc120 + (ulong)(uVar2 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(((uVar7 & 0xff00) << 8) >> 0x10) * 4) ^
          (&DAT_001bc520)[(uVar3 & 0xff0000) >> 0x10];
  uVar9 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(((uVar3 & 0xff00) << 8) >> 0x10) * 4) ^
          (&DAT_001bc520)[(uVar2 & 0xff0000) >> 0x10];
  uVar1 = *(uint *)(&DAT_001bc920 + (ulong)(((uVar2 & 0xff00) << 8) >> 0x10) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 & 0xff) * 4) ^
          (&DAT_001bc520)[(uVar1 & 0xff0000) >> 0x10];
  uVar7 = *(uint *)(&DAT_001bc120 + (ulong)(uVar1 & 0xff) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar5 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar9 >> 8 & 0xff];
  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^
          *(uint *)(&DAT_001bcd20 + (ulong)(uVar5 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar1 >> 8 & 0xff];
  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar5 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar1 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar4 >> 8 & 0xff];
  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar1 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar5 >> 8 & 0xff];
  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar7 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar4 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar3 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar8 >> 8 & 0xff];
  uVar6 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar3 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar7 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar4 >> 8 & 0xff];
  uVar1 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar2 >> 0x18) * 4);
  uVar9 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar3 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar4 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar7 >> 8 & 0xff];
  uVar8 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar4 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar7 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar3 >> 8 & 0xff];
  uVar3 = *(uint *)(&DAT_001bc120 + (ulong)(uVar8 & 0xff) * 4);
  uVar7 = *(uint *)(&DAT_001bc920 + (ulong)(uVar6 >> 0x10 & 0xff) * 4);
  uVar5 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar6 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar2 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar9 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar8 >> 8 & 0xff];
  uVar4 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar9 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar6 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar8 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar2 >> 8 & 0xff];
  uVar2 = *(uint *)(&DAT_001bcd20 + (ulong)(uVar8 >> 0x18) * 4) ^
          *(uint *)(&DAT_001bc120 + (ulong)(uVar9 & 0xff) * 4) ^
          *(uint *)(&DAT_001bc920 + (ulong)(uVar2 >> 0x10 & 0xff) * 4) ^
          (&DAT_001bc520)[uVar6 >> 8 & 0xff];
  *(uint *)(param_1 + 0x10a8) =
       uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  uVar1 = uVar1 ^ uVar3 ^ uVar7 ^ (&DAT_001bc520)[uVar9 >> 8 & 0xff];
  *(uint *)(param_1 + 0x10a4) =
       uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;
  *(uint *)(param_1 + 0x10ac) =
       uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
  *(uint *)(param_1 + 0x10a0) =
       uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 | uVar1 << 0x18;
  return;
}

