
int camellia_ecb_decrypt(uchar *ct,uchar *pt,symmetric_key *skey)

{
  ulong64 uVar1;
  ulong64 uVar2;
  ulong64 uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  ulong uVar7;
  uint uVar8;
  ulong uVar9;
  ulong uVar10;
  
  uVar7 = *(ulong *)ct;
  uVar9 = *(ulong *)(ct + 8);
  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |
           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |
           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3];
  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |
           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4];
  if ((skey->des).ek[0] == 0x18) {
    uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);
    uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);
    uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);
    uVar9 = uVar9 ^ uVar1 ^ uVar3;
    uVar1 = F((skey->xtea).A[0x19] ^ uVar9);
    uVar7 = uVar7 ^ uVar2 ^ uVar1;
    uVar1 = F((skey->xtea).A[0x18] ^ uVar7);
    uVar9 = uVar9 ^ uVar1;
    uVar1 = F((skey->xtea).A[0x17] ^ uVar9);
    uVar7 = uVar7 ^ uVar1;
    uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);
    uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;
    uVar5 = (uint)(uVar7 >> 0x20);
    uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;
    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;
    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);
    uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);
  }
  uVar1 = F((skey->xtea).A[0x16] ^ uVar7);
  uVar2 = F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1);
  uVar3 = F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2);
  uVar9 = uVar9 ^ uVar1 ^ uVar3;
  uVar1 = F((skey->xtea).A[0x13] ^ uVar9);
  uVar7 = uVar7 ^ uVar2 ^ uVar1;
  uVar1 = F((skey->xtea).A[0x12] ^ uVar7);
  uVar9 = uVar9 ^ uVar1;
  uVar1 = F((skey->xtea).A[0x11] ^ uVar9);
  uVar7 = uVar1 ^ uVar7;
  uVar4 = ((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20);
  uVar6 = (uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4;
  uVar8 = (uint)(uVar7 >> 0x20);
  uVar5 = (uint)((skey->xtea).B[0] >> 0x20) & uVar8;
  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;
  uVar7 = CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5);
  uVar1 = F((skey->xtea).A[0x10] ^ uVar7);
  uVar10 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1;
  uVar1 = F((skey->xtea).A[0xf] ^ uVar10);
  uVar7 = uVar7 ^ uVar1;
  uVar1 = F((skey->xtea).A[0xe] ^ uVar7);
  uVar10 = uVar10 ^ uVar1;
  uVar1 = F((skey->xtea).A[0xd] ^ uVar10);
  uVar7 = uVar7 ^ uVar1;
  uVar1 = F((skey->xtea).A[0xc] ^ uVar7);
  uVar10 = uVar10 ^ uVar1;
  uVar1 = F((skey->xtea).A[0xb] ^ uVar10);
  uVar7 = uVar1 ^ uVar7;
  uVar5 = ((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20);
  uVar6 = (uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5;
  uVar8 = (uint)(uVar7 >> 0x20);
  uVar4 = (uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8;
  uVar4 = (uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f);
  uVar9 = CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4);
  uVar1 = F((skey->xtea).A[10] ^ uVar9);
  uVar7 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1;
  uVar1 = F((skey->xtea).A[9] ^ uVar7);
  uVar9 = uVar9 ^ uVar1;
  uVar1 = F((skey->xtea).A[8] ^ uVar9);
  uVar7 = uVar7 ^ uVar1;
  uVar1 = F((skey->xtea).A[7] ^ uVar7);
  uVar9 = uVar9 ^ uVar1;
  uVar1 = F((skey->xtea).A[6] ^ uVar9);
  uVar7 = uVar7 ^ uVar1;
  uVar1 = F((skey->xtea).A[5] ^ uVar7);
  uVar7 = uVar7 ^ (skey->xtea).A[1];
  uVar9 = uVar9 ^ uVar1 ^ (skey->xtea).A[2];
  *(ulong *)pt = uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |
                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |
                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |
                 uVar7 << 0x38;
  *(ulong *)(pt + 8) =
       uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |
       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;
  return 0;
}



undefined8 camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)

{
  ulong uVar1;
  ulong uVar2;
  ulong uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  ulong uVar7;
  uint uVar8;
  ulong uVar9;
  
  uVar7 = *param_1;
  uVar9 = param_1[1];
  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |
           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |
           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);
  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |
           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);
  if (*param_3 == 0x18) {
    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);
    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);
    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);
    uVar3 = uVar9 ^ uVar1 ^ uVar3;
    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);
    uVar9 = uVar7 ^ uVar2 ^ uVar9;
    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);
    uVar3 = uVar3 ^ uVar7;
    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);
    uVar9 = uVar9 ^ uVar7;
    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);
    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;
    uVar5 = (uint)(uVar9 >> 0x20);
    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;
    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;
    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);
    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);
  }
  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);
  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);
  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);
  uVar3 = uVar9 ^ uVar1 ^ uVar3;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);
  uVar9 = uVar7 ^ uVar2 ^ uVar9;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);
  uVar3 = uVar3 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);
  uVar7 = uVar7 ^ uVar9;
  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);
  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;
  uVar8 = (uint)(uVar7 >> 0x20);
  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;
  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;
  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);
  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);
  uVar1 = uVar1 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);
  uVar7 = uVar7 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);
  uVar1 = uVar1 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);
  uVar7 = uVar7 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);
  uVar9 = uVar9 ^ uVar1;
  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);
  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;
  uVar8 = (uint)(uVar9 >> 0x20);
  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;
  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);
  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);
  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);
  uVar1 = uVar1 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);
  uVar9 = uVar9 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);
  uVar1 = uVar1 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);
  uVar9 = uVar9 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);
  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);
  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);
  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |
             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;
  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18
               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |
               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;
  return 0;
}


PUSH R15
PUSH R14
PUSH R13
MOV R13,RSI
PUSH R12
PUSH RBP
PUSH RBX
MOV R12,qword ptr [RDI]
MOV RBX,RDX
MOV R15,qword ptr [RDI + 0x8]
BSWAP R12
XOR R12,qword ptr [RDX + 0x18]
BSWAP R15
XOR R15,qword ptr [RDX + 0x20]
CMP dword ptr [RDX],0x18
JNZ 0x0011989d
MOV RDI,qword ptr [RDX + 0xe0]
MOV R14,R15
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xd8]
XOR R14,RAX
XOR RDI,R14
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xd0]
XOR R12,RAX
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xc8]
XOR R14,RAX
XOR RDI,R14
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xc0]
XOR R12,RAX
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xb8]
XOR R14,RAX
XOR RDI,R14
MOV R15D,R14D
CALL 0x001193d0
MOV RSI,qword ptr [RBX + 0x108]
MOV ECX,0x1
MOV RBP,qword ptr [RBX + 0x110]
XOR R12,RAX
MOV RAX,R14
OR R15D,ESI
SHR RAX,0x20
MOV RDI,R12
MOV R8,RBP
SHR RSI,0x20
XOR R15D,EAX
SHR RDI,0x20
SHR R8,0x20
MOV RDX,RSI
AND EDX,R15D
AND R8D,EDI
SHL R15,0x20
ROL EDX,CL
ROL R8D,CL
XOR EDX,R14D
XOR R8D,R12D
MOV R12D,EBP
OR R15,RDX
OR R12D,R8D
XOR R12D,EDI
SHL R12,0x20
OR R12,R8
MOV RDI,qword ptr [RBX + 0xb0]
MOV R14D,0x1
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xa8]
XOR R15,RAX
XOR RDI,R15
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0xa0]
XOR R12,RAX
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x98]
XOR R15,RAX
XOR RDI,R15
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x90]
XOR R12,RAX
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x88]
XOR R15,RAX
XOR RDI,R15
MOV EBP,R15D
CALL 0x001193d0
MOV RDX,qword ptr [RBX + 0xf8]
MOV R9,R15
MOV ECX,R14D
XOR RAX,R12
MOV R12,qword ptr [RBX + 0x100]
SHR R9,0x20
MOV RDI,qword ptr [RBX + 0x80]
OR EBP,EDX
MOV R11,RAX
SHR RDX,0x20
MOV RSI,R12
SHR R11,0x20
XOR EBP,R9D
MOV R10,RDX
SHR RSI,0x20
AND R10D,EBP
SHL RBP,0x20
AND ESI,R11D
ROL R10D,CL
ROL ESI,CL
XOR R10D,R15D
XOR ESI,EAX
OR RBP,R10
OR R12D,ESI
XOR R12D,R11D
MOV R15,RBP
SHL R12,0x20
OR R12,RSI
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x78]
XOR R15,RAX
XOR RDI,R15
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x70]
XOR R12,RAX
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x68]
XOR R15,RAX
XOR RDI,R15
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x60]
XOR R12,RAX
XOR RDI,R12
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x58]
XOR R15,RAX
XOR RDI,R15
MOV EBP,R15D
CALL 0x001193d0
MOV RDX,qword ptr [RBX + 0xe8]
MOV RDI,R15
MOV ECX,R14D
XOR RAX,R12
SHR RDI,0x20
MOV R12,qword ptr [RBX + 0xf0]
OR EBP,EDX
SHR RDX,0x20
MOV R9,RAX
MOV R8,RDX
XOR EBP,EDI
MOV R10,R12
SHR R9,0x20
AND R8D,EBP
SHL RBP,0x20
MOV R14D,R12D
MOV RDI,qword ptr [RBX + 0x50]
ROL R8D,CL
XOR R8D,R15D
OR RBP,R8
SHR R10,0x20
AND R10D,R9D
ROL R10D,CL
XOR EAX,R10D
OR R14D,EAX
XOR R14D,R9D
SHL R14,0x20
OR R14,RAX
XOR RDI,R14
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x48]
XOR RBP,RAX
XOR RDI,RBP
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x40]
XOR R14,RAX
XOR RDI,R14
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x38]
XOR RBP,RAX
XOR RDI,RBP
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x30]
XOR R14,RAX
XOR RDI,R14
CALL 0x001193d0
MOV RDI,qword ptr [RBX + 0x28]
XOR RBP,RAX
XOR RDI,RBP
CALL 0x001193d0
XOR RAX,qword ptr [RBX + 0x10]
XOR RBP,qword ptr [RBX + 0x8]
XOR R14,RAX
POP RBX
BSWAP RBP
XOR EAX,EAX
BSWAP R14
MOV qword ptr [R13],RBP
POP RBP
MOV qword ptr [R13 + 0x8],R14
POP R12
POP R13
POP R14
POP R15
RET
(translation_unit "undefined8 camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)\n\n{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}\n\n" (function_definition "undefined8 camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)\n\n{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}" type_identifier (function_declarator "camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)" identifier (parameter_list "(ulong *param_1,ulong *param_2,int *param_3)" ( (parameter_declaration "ulong *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "ulong *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);" (assignment_expression "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6)" identifier = (binary_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6)" (parenthesized_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38)" ( (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal)) )) ^ (pointer_expression "*(ulong *)(param_3 + 6)" * (cast_expression "(ulong *)(param_3 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 6)" ( (binary_expression "param_3 + 6" identifier + number_literal) )))))) ;) (expression_statement "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);" (assignment_expression "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8)" identifier = (binary_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8)" (parenthesized_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38)" ( (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" ( (binary_expression "uVar9 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" ( (binary_expression "uVar9 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" ( (binary_expression "uVar9 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" ( (binary_expression "uVar9 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x38" identifier << number_literal)) )) ^ (pointer_expression "*(ulong *)(param_3 + 8)" * (cast_expression "(ulong *)(param_3 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))))) ;) (if_statement "if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }" if (parenthesized_expression "(*param_3 == 0x18)" ( (binary_expression "*param_3 == 0x18" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }" { (expression_statement "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);" (assignment_expression "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x38) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x38) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x38)" * (cast_expression "(ulong *)(param_3 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x38)" ( (binary_expression "param_3 + 0x38" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1" (binary_expression "*(ulong *)(param_3 + 0x36) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x36)" * (cast_expression "(ulong *)(param_3 + 0x36)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x36)" ( (binary_expression "param_3 + 0x36" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" identifier (argument_list "(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" ( (binary_expression "*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2" (binary_expression "*(ulong *)(param_3 + 0x34) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x34)" * (cast_expression "(ulong *)(param_3 + 0x34)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar9 ^ uVar1 ^ uVar3" identifier = (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x32) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x32) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x32)" * (cast_expression "(ulong *)(param_3 + 0x32)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x32)" ( (binary_expression "param_3 + 0x32" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar7 ^ uVar2 ^ uVar9;" (assignment_expression "uVar9 = uVar7 ^ uVar2 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar2 ^ uVar9" (binary_expression "uVar7 ^ uVar2" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0x30) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0x30) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x30)" * (cast_expression "(ulong *)(param_3 + 0x30)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar3 ^ uVar7;" (assignment_expression "uVar3 = uVar3 ^ uVar7" identifier = (binary_expression "uVar3 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x2e) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x2e) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x2e)" * (cast_expression "(ulong *)(param_3 + 0x2e)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2e)" ( (binary_expression "param_3 + 0x2e" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" identifier = (binary_expression "uVar9 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);" (assignment_expression "uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20)" identifier = (binary_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20)" (parenthesized_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42))" ( (binary_expression "(uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)*(undefined8 *)(param_3 + 0x42)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x42)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x42)" ( (binary_expression "param_3 + 0x42" identifier + number_literal) ))))) )) ^ (call_expression "(uint)(uVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 >> 0x20)" ( (binary_expression "uVar3 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x42)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x42)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x42)" ( (binary_expression "param_3 + 0x42" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar5 = (uint)(uVar9 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar9 >> 0x20)" identifier = (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 >> 0x20)" ( (binary_expression "uVar9 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x44)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x44)" ( (binary_expression "param_3 + 0x44" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;" (assignment_expression "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" identifier = (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);" (assignment_expression "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" identifier = (call_expression "CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" identifier (argument_list "(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" ( identifier , (binary_expression "(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3" (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" ( (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" identifier << number_literal) | (binary_expression "uVar4 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);" (assignment_expression "uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" identifier = (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" identifier (argument_list "(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" ( (binary_expression "((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x44) | uVar6)" ( (binary_expression "(uint)*(undefined8 *)(param_3 + 0x44) | uVar6" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x44)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x44)" ( (binary_expression "param_3 + 0x44" identifier + number_literal) )))) | identifier) )) ^ identifier) , identifier )))) ;) })) (expression_statement "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);" (assignment_expression "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x2c) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x2c) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x2c)" * (cast_expression "(ulong *)(param_3 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1" (binary_expression "*(ulong *)(param_3 + 0x2a) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x2a)" * (cast_expression "(ulong *)(param_3 + 0x2a)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2a)" ( (binary_expression "param_3 + 0x2a" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" identifier (argument_list "(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" ( (binary_expression "*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2" (binary_expression "*(ulong *)(param_3 + 0x28) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x28)" * (cast_expression "(ulong *)(param_3 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar9 ^ uVar1 ^ uVar3" identifier = (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x26) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x26) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x26)" * (cast_expression "(ulong *)(param_3 + 0x26)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x26)" ( (binary_expression "param_3 + 0x26" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar7 ^ uVar2 ^ uVar9;" (assignment_expression "uVar9 = uVar7 ^ uVar2 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar2 ^ uVar9" (binary_expression "uVar7 ^ uVar2" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0x24) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0x24) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x24)" * (cast_expression "(ulong *)(param_3 + 0x24)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar3 ^ uVar7;" (assignment_expression "uVar3 = uVar3 ^ uVar7" identifier = (binary_expression "uVar3 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x22) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x22) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x22)" * (cast_expression "(ulong *)(param_3 + 0x22)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x22)" ( (binary_expression "param_3 + 0x22" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);" (assignment_expression "uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20)" identifier = (binary_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20)" (parenthesized_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e))" ( (binary_expression "(uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3e)" ( (binary_expression "param_3 + 0x3e" identifier + number_literal) ))))) )) ^ (call_expression "(uint)(uVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 >> 0x20)" ( (binary_expression "uVar3 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3e)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3e)" ( (binary_expression "param_3 + 0x3e" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar8 = (uint)(uVar7 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar7 >> 0x20)" identifier = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;" (assignment_expression "uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;" (assignment_expression "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" identifier = (binary_expression "(uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar5 << 1 | uVar5 >> 0x1f)" ( (binary_expression "uVar5 << 1 | uVar5 >> 0x1f" (binary_expression "uVar5 << 1" identifier << number_literal) | (binary_expression "uVar5 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);" (assignment_expression "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" identifier = (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" identifier (argument_list "(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" ( (binary_expression "((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x40) | uVar5)" ( (binary_expression "(uint)*(undefined8 *)(param_3 + 0x40) | uVar5" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x40)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) )))) | identifier) )) ^ identifier) , identifier )))) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x20) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x20) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x20)" * (cast_expression "(ulong *)(param_3 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;" (assignment_expression "uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7" identifier = (binary_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7" (call_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3)" identifier (argument_list "(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3)" ( identifier , (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x1e) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x1e) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x1e)" * (cast_expression "(ulong *)(param_3 + 0x1e)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1e)" ( (binary_expression "param_3 + 0x1e" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar9;" (assignment_expression "uVar1 = uVar1 ^ uVar9" identifier = (binary_expression "uVar1 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x1c) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x1c) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x1c)" * (cast_expression "(ulong *)(param_3 + 0x1c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x1a) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x1a) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x1a)" * (cast_expression "(ulong *)(param_3 + 0x1a)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1a)" ( (binary_expression "param_3 + 0x1a" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar9;" (assignment_expression "uVar1 = uVar1 ^ uVar9" identifier = (binary_expression "uVar1 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x18) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x18) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x18)" * (cast_expression "(ulong *)(param_3 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x16) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x16) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x16)" * (cast_expression "(ulong *)(param_3 + 0x16)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x16)" ( (binary_expression "param_3 + 0x16" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" identifier = (binary_expression "uVar9 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);" (assignment_expression "uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20)" identifier = (binary_expression "((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20)" (parenthesized_expression "((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a))" ( (binary_expression "(uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)" (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3a)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3a)" ( (binary_expression "param_3 + 0x3a" identifier + number_literal) ))))) )) ^ (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3a)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3a)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3a)" ( (binary_expression "param_3 + 0x3a" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar8 = (uint)(uVar9 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar9 >> 0x20)" identifier = (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 >> 0x20)" ( (binary_expression "uVar9 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3c)" ( (binary_expression "param_3 + 0x3c" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);" (assignment_expression "uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f)" identifier = (binary_expression "(uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f)" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ^ (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" ( (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" identifier << number_literal) | (binary_expression "uVar4 >> 0x1f" identifier >> number_literal)) )))) ;) (expression_statement "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);" (assignment_expression "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" identifier = (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" identifier (argument_list "(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" ( (binary_expression "((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4)" ( (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3c) | uVar4" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3c)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3c)" ( (binary_expression "param_3 + 0x3c" identifier + number_literal) )))) | identifier) )) ^ identifier) , identifier )))) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x14) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x14) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x14)" * (cast_expression "(ulong *)(param_3 + 0x14)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;" (assignment_expression "uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9" identifier = (binary_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9" (call_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7)" identifier (argument_list "(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7)" ( identifier , (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0x12) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0x12) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x12)" * (cast_expression "(ulong *)(param_3 + 0x12)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar7;" (assignment_expression "uVar1 = uVar1 ^ uVar7" identifier = (binary_expression "uVar1 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x10) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x10) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x10)" * (cast_expression "(ulong *)(param_3 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" identifier = (binary_expression "uVar9 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0xe) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0xe) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0xe)" * (cast_expression "(ulong *)(param_3 + 0xe)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xe)" ( (binary_expression "param_3 + 0xe" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar7;" (assignment_expression "uVar1 = uVar1 ^ uVar7" identifier = (binary_expression "uVar1 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0xc) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0xc) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0xc)" * (cast_expression "(ulong *)(param_3 + 0xc)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" identifier = (binary_expression "uVar9 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 10) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 10) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 10)" * (cast_expression "(ulong *)(param_3 + 10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 10)" ( (binary_expression "param_3 + 10" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);" (assignment_expression "uVar9 = uVar9 ^ *(ulong *)(param_3 + 2)" identifier = (binary_expression "uVar9 ^ *(ulong *)(param_3 + 2)" identifier ^ (pointer_expression "*(ulong *)(param_3 + 2)" * (cast_expression "(ulong *)(param_3 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))))) ;) (expression_statement "uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);" (assignment_expression "uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4)" identifier = (binary_expression "uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4)" (binary_expression "uVar1 ^ uVar7" identifier ^ identifier) ^ (pointer_expression "*(ulong *)(param_3 + 4)" * (cast_expression "(ulong *)(param_3 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))))) ;) (expression_statement "*param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;" (assignment_expression "*param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (pointer_expression "*param_2" * identifier) = (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" ( (binary_expression "uVar9 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" ( (binary_expression "uVar9 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" ( (binary_expression "uVar9 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" ( (binary_expression "uVar9 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x38" identifier << number_literal))) ;) (expression_statement "param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;" (assignment_expression "param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28" (binary_expression "uVar1 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar1 & 0xff000000000000)" ( (binary_expression "uVar1 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar1 & 0xff0000000000)" ( (binary_expression "uVar1 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00000000) >> 8" (parenthesized_expression "(uVar1 & 0xff00000000)" ( (binary_expression "uVar1 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff000000) << 8" (parenthesized_expression "(uVar1 & 0xff000000)" ( (binary_expression "uVar1 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar1 & 0xff0000) << 0x18" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar1 & 0xff00) << 0x28" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x38" identifier << number_literal))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "int camellia_ecb_decrypt(uchar *ct,uchar *pt,symmetric_key *skey)\n\n{\n  ulong64 uVar1;\n  ulong64 uVar2;\n  ulong64 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  ulong uVar10;\n  \n  uVar7 = *(ulong *)ct;\n  uVar9 = *(ulong *)(ct + 8);\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3];\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4];\n  if ((skey->des).ek[0] == 0x18) {\n    uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);\n    uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);\n    uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);\n    uVar9 = uVar9 ^ uVar1 ^ uVar3;\n    uVar1 = F((skey->xtea).A[0x19] ^ uVar9);\n    uVar7 = uVar7 ^ uVar2 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x18] ^ uVar7);\n    uVar9 = uVar9 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x17] ^ uVar9);\n    uVar7 = uVar7 ^ uVar1;\n    uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);\n    uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar7 >> 0x20);\n    uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);\n    uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = F((skey->xtea).A[0x16] ^ uVar7);\n  uVar2 = F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1);\n  uVar3 = F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2);\n  uVar9 = uVar9 ^ uVar1 ^ uVar3;\n  uVar1 = F((skey->xtea).A[0x13] ^ uVar9);\n  uVar7 = uVar7 ^ uVar2 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0x12] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0x11] ^ uVar9);\n  uVar7 = uVar1 ^ uVar7;\n  uVar4 = ((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20);\n  uVar6 = (uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((skey->xtea).B[0] >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar7 = CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5);\n  uVar1 = F((skey->xtea).A[0x10] ^ uVar7);\n  uVar10 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xf] ^ uVar10);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xe] ^ uVar7);\n  uVar10 = uVar10 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xd] ^ uVar10);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xc] ^ uVar7);\n  uVar10 = uVar10 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xb] ^ uVar10);\n  uVar7 = uVar1 ^ uVar7;\n  uVar5 = ((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20);\n  uVar6 = (uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar4 = (uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8;\n  uVar4 = (uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar9 = CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4);\n  uVar1 = F((skey->xtea).A[10] ^ uVar9);\n  uVar7 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1;\n  uVar1 = F((skey->xtea).A[9] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[8] ^ uVar9);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[7] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[6] ^ uVar9);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[5] ^ uVar7);\n  uVar7 = uVar7 ^ (skey->xtea).A[1];\n  uVar9 = uVar9 ^ uVar1 ^ (skey->xtea).A[2];\n  *(ulong *)pt = uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |\n                 uVar7 << 0x38;\n  *(ulong *)(pt + 8) =\n       uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  return 0;\n}\n\n" (function_definition "int camellia_ecb_decrypt(uchar *ct,uchar *pt,symmetric_key *skey)\n\n{\n  ulong64 uVar1;\n  ulong64 uVar2;\n  ulong64 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  ulong uVar10;\n  \n  uVar7 = *(ulong *)ct;\n  uVar9 = *(ulong *)(ct + 8);\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3];\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4];\n  if ((skey->des).ek[0] == 0x18) {\n    uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);\n    uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);\n    uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);\n    uVar9 = uVar9 ^ uVar1 ^ uVar3;\n    uVar1 = F((skey->xtea).A[0x19] ^ uVar9);\n    uVar7 = uVar7 ^ uVar2 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x18] ^ uVar7);\n    uVar9 = uVar9 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x17] ^ uVar9);\n    uVar7 = uVar7 ^ uVar1;\n    uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);\n    uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar7 >> 0x20);\n    uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);\n    uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = F((skey->xtea).A[0x16] ^ uVar7);\n  uVar2 = F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1);\n  uVar3 = F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2);\n  uVar9 = uVar9 ^ uVar1 ^ uVar3;\n  uVar1 = F((skey->xtea).A[0x13] ^ uVar9);\n  uVar7 = uVar7 ^ uVar2 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0x12] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0x11] ^ uVar9);\n  uVar7 = uVar1 ^ uVar7;\n  uVar4 = ((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20);\n  uVar6 = (uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((skey->xtea).B[0] >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar7 = CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5);\n  uVar1 = F((skey->xtea).A[0x10] ^ uVar7);\n  uVar10 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xf] ^ uVar10);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xe] ^ uVar7);\n  uVar10 = uVar10 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xd] ^ uVar10);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xc] ^ uVar7);\n  uVar10 = uVar10 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xb] ^ uVar10);\n  uVar7 = uVar1 ^ uVar7;\n  uVar5 = ((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20);\n  uVar6 = (uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar4 = (uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8;\n  uVar4 = (uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar9 = CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4);\n  uVar1 = F((skey->xtea).A[10] ^ uVar9);\n  uVar7 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1;\n  uVar1 = F((skey->xtea).A[9] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[8] ^ uVar9);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[7] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[6] ^ uVar9);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[5] ^ uVar7);\n  uVar7 = uVar7 ^ (skey->xtea).A[1];\n  uVar9 = uVar9 ^ uVar1 ^ (skey->xtea).A[2];\n  *(ulong *)pt = uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |\n                 uVar7 << 0x38;\n  *(ulong *)(pt + 8) =\n       uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  return 0;\n}" primitive_type (function_declarator "camellia_ecb_decrypt(uchar *ct,uchar *pt,symmetric_key *skey)" identifier (parameter_list "(uchar *ct,uchar *pt,symmetric_key *skey)" ( (parameter_declaration "uchar *ct" type_identifier (pointer_declarator "*ct" * identifier)) , (parameter_declaration "uchar *pt" type_identifier (pointer_declarator "*pt" * identifier)) , (parameter_declaration "symmetric_key *skey" type_identifier (pointer_declarator "*skey" * identifier)) ))) (compound_statement "{\n  ulong64 uVar1;\n  ulong64 uVar2;\n  ulong64 uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  ulong uVar10;\n  \n  uVar7 = *(ulong *)ct;\n  uVar9 = *(ulong *)(ct + 8);\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3];\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4];\n  if ((skey->des).ek[0] == 0x18) {\n    uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);\n    uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);\n    uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);\n    uVar9 = uVar9 ^ uVar1 ^ uVar3;\n    uVar1 = F((skey->xtea).A[0x19] ^ uVar9);\n    uVar7 = uVar7 ^ uVar2 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x18] ^ uVar7);\n    uVar9 = uVar9 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x17] ^ uVar9);\n    uVar7 = uVar7 ^ uVar1;\n    uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);\n    uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar7 >> 0x20);\n    uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);\n    uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = F((skey->xtea).A[0x16] ^ uVar7);\n  uVar2 = F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1);\n  uVar3 = F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2);\n  uVar9 = uVar9 ^ uVar1 ^ uVar3;\n  uVar1 = F((skey->xtea).A[0x13] ^ uVar9);\n  uVar7 = uVar7 ^ uVar2 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0x12] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0x11] ^ uVar9);\n  uVar7 = uVar1 ^ uVar7;\n  uVar4 = ((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20);\n  uVar6 = (uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((skey->xtea).B[0] >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar7 = CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5);\n  uVar1 = F((skey->xtea).A[0x10] ^ uVar7);\n  uVar10 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xf] ^ uVar10);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xe] ^ uVar7);\n  uVar10 = uVar10 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xd] ^ uVar10);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xc] ^ uVar7);\n  uVar10 = uVar10 ^ uVar1;\n  uVar1 = F((skey->xtea).A[0xb] ^ uVar10);\n  uVar7 = uVar1 ^ uVar7;\n  uVar5 = ((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20);\n  uVar6 = (uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar4 = (uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8;\n  uVar4 = (uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar9 = CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4);\n  uVar1 = F((skey->xtea).A[10] ^ uVar9);\n  uVar7 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1;\n  uVar1 = F((skey->xtea).A[9] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[8] ^ uVar9);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[7] ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar1 = F((skey->xtea).A[6] ^ uVar9);\n  uVar7 = uVar7 ^ uVar1;\n  uVar1 = F((skey->xtea).A[5] ^ uVar7);\n  uVar7 = uVar7 ^ (skey->xtea).A[1];\n  uVar9 = uVar9 ^ uVar1 ^ (skey->xtea).A[2];\n  *(ulong *)pt = uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |\n                 uVar7 << 0x38;\n  *(ulong *)(pt + 8) =\n       uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  return 0;\n}" { (declaration "ulong64 uVar1;" type_identifier identifier ;) (declaration "ulong64 uVar2;" type_identifier identifier ;) (declaration "ulong64 uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (expression_statement "uVar7 = *(ulong *)ct;" (assignment_expression "uVar7 = *(ulong *)ct" identifier = (pointer_expression "*(ulong *)ct" * (cast_expression "(ulong *)ct" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar9 = *(ulong *)(ct + 8);" (assignment_expression "uVar9 = *(ulong *)(ct + 8)" identifier = (pointer_expression "*(ulong *)(ct + 8)" * (cast_expression "(ulong *)(ct + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ct + 8)" ( (binary_expression "ct + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3];" (assignment_expression "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3]" identifier = (binary_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ (skey->xtea).A[3]" (parenthesized_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38)" ( (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal)) )) ^ (subscript_expression "(skey->xtea).A[3]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4];" (assignment_expression "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4]" identifier = (binary_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ (skey->xtea).A[4]" (parenthesized_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38)" ( (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" ( (binary_expression "uVar9 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" ( (binary_expression "uVar9 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" ( (binary_expression "uVar9 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" ( (binary_expression "uVar9 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x38" identifier << number_literal)) )) ^ (subscript_expression "(skey->xtea).A[4]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if ((skey->des).ek[0] == 0x18) {\n    uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);\n    uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);\n    uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);\n    uVar9 = uVar9 ^ uVar1 ^ uVar3;\n    uVar1 = F((skey->xtea).A[0x19] ^ uVar9);\n    uVar7 = uVar7 ^ uVar2 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x18] ^ uVar7);\n    uVar9 = uVar9 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x17] ^ uVar9);\n    uVar7 = uVar7 ^ uVar1;\n    uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);\n    uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar7 >> 0x20);\n    uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);\n    uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);\n  }" if (parenthesized_expression "((skey->des).ek[0] == 0x18)" ( (binary_expression "(skey->des).ek[0] == 0x18" (subscript_expression "(skey->des).ek[0]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == number_literal) )) (compound_statement "{\n    uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);\n    uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);\n    uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);\n    uVar9 = uVar9 ^ uVar1 ^ uVar3;\n    uVar1 = F((skey->xtea).A[0x19] ^ uVar9);\n    uVar7 = uVar7 ^ uVar2 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x18] ^ uVar7);\n    uVar9 = uVar9 ^ uVar1;\n    uVar1 = F((skey->xtea).A[0x17] ^ uVar9);\n    uVar7 = uVar7 ^ uVar1;\n    uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);\n    uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar7 >> 0x20);\n    uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);\n    uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);\n  }" { (expression_statement "uVar1 = F((skey->xtea).A[0x1c] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0x1c] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0x1c] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0x1c] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0x1c] ^ uVar7" (subscript_expression "(skey->xtea).A[0x1c]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1)" identifier = (call_expression "F((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1)" identifier (argument_list "((skey->xtea).A[0x1b] ^ uVar9 ^ uVar1)" ( (binary_expression "(skey->xtea).A[0x1b] ^ uVar9 ^ uVar1" (binary_expression "(skey->xtea).A[0x1b] ^ uVar9" (subscript_expression "(skey->xtea).A[0x1b]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2)" identifier = (call_expression "F((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2)" identifier (argument_list "((skey->xtea).A[0x1a] ^ uVar7 ^ uVar2)" ( (binary_expression "(skey->xtea).A[0x1a] ^ uVar7 ^ uVar2" (binary_expression "(skey->xtea).A[0x1a] ^ uVar7" (subscript_expression "(skey->xtea).A[0x1a]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar9 = uVar9 ^ uVar1 ^ uVar3" identifier = (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x19] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[0x19] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[0x19] ^ uVar9)" identifier (argument_list "((skey->xtea).A[0x19] ^ uVar9)" ( (binary_expression "(skey->xtea).A[0x19] ^ uVar9" (subscript_expression "(skey->xtea).A[0x19]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar2 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar2 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar2 ^ uVar1" (binary_expression "uVar7 ^ uVar2" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x18] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0x18] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0x18] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0x18] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0x18] ^ uVar7" (subscript_expression "(skey->xtea).A[0x18]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" identifier = (binary_expression "uVar9 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x17] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[0x17] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[0x17] ^ uVar9)" identifier (argument_list "((skey->xtea).A[0x17] ^ uVar9)" ( (binary_expression "(skey->xtea).A[0x17] ^ uVar9" (subscript_expression "(skey->xtea).A[0x17]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20);" (assignment_expression "uVar8 = ((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20)" identifier = (binary_expression "((uint)uVar9 | (uint)(skey->xtea).B[1]) ^ (uint)(uVar9 >> 0x20)" (parenthesized_expression "((uint)uVar9 | (uint)(skey->xtea).B[1])" ( (binary_expression "(uint)uVar9 | (uint)(skey->xtea).B[1]" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) | (subscript_expression "(uint)(skey->xtea).B[1]" (field_expression "(uint)(skey->xtea).B" (call_expression "(uint)(skey->xtea)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) )) ^ (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 >> 0x20)" ( (binary_expression "uVar9 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((skey->xtea).B[1] >> 0x20) & uVar8" identifier = (binary_expression "(uint)((skey->xtea).B[1] >> 0x20) & uVar8" (call_expression "(uint)((skey->xtea).B[1] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((skey->xtea).B[1] >> 0x20)" ( (binary_expression "(skey->xtea).B[1] >> 0x20" (subscript_expression "(skey->xtea).B[1]" (field_expression "(skey->xtea).B" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar5 = (uint)(uVar7 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar7 >> 0x20)" identifier = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((skey->xtea).B[2] >> 0x20) & uVar5" identifier = (binary_expression "(uint)((skey->xtea).B[2] >> 0x20) & uVar5" (call_expression "(uint)((skey->xtea).B[2] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((skey->xtea).B[2] >> 0x20)" ( (binary_expression "(skey->xtea).B[2] >> 0x20" (subscript_expression "(skey->xtea).B[2]" (field_expression "(skey->xtea).B" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7;" (assignment_expression "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7" identifier = (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9);" (assignment_expression "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9)" identifier = (call_expression "CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9)" identifier (argument_list "(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9)" ( identifier , (binary_expression "(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar9" (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" ( (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" identifier << number_literal) | (binary_expression "uVar4 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6);" (assignment_expression "uVar7 = CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6)" identifier = (call_expression "CONCAT44(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6)" identifier (argument_list "(((uint)(skey->xtea).B[2] | uVar6) ^ uVar5,uVar6)" ( (binary_expression "((uint)(skey->xtea).B[2] | uVar6) ^ uVar5" (parenthesized_expression "((uint)(skey->xtea).B[2] | uVar6)" ( (binary_expression "(uint)(skey->xtea).B[2] | uVar6" (subscript_expression "(uint)(skey->xtea).B[2]" (field_expression "(uint)(skey->xtea).B" (call_expression "(uint)(skey->xtea)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]) | identifier) )) ^ identifier) , identifier )))) ;) })) (expression_statement "uVar1 = F((skey->xtea).A[0x16] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0x16] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0x16] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0x16] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0x16] ^ uVar7" (subscript_expression "(skey->xtea).A[0x16]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar2 = F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1)" identifier = (call_expression "F((skey->xtea).A[0x15] ^ uVar9 ^ uVar1)" identifier (argument_list "((skey->xtea).A[0x15] ^ uVar9 ^ uVar1)" ( (binary_expression "(skey->xtea).A[0x15] ^ uVar9 ^ uVar1" (binary_expression "(skey->xtea).A[0x15] ^ uVar9" (subscript_expression "(skey->xtea).A[0x15]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2)" identifier = (call_expression "F((skey->xtea).A[0x14] ^ uVar7 ^ uVar2)" identifier (argument_list "((skey->xtea).A[0x14] ^ uVar7 ^ uVar2)" ( (binary_expression "(skey->xtea).A[0x14] ^ uVar7 ^ uVar2" (binary_expression "(skey->xtea).A[0x14] ^ uVar7" (subscript_expression "(skey->xtea).A[0x14]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar9 = uVar9 ^ uVar1 ^ uVar3" identifier = (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x13] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[0x13] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[0x13] ^ uVar9)" identifier (argument_list "((skey->xtea).A[0x13] ^ uVar9)" ( (binary_expression "(skey->xtea).A[0x13] ^ uVar9" (subscript_expression "(skey->xtea).A[0x13]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar2 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar2 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar2 ^ uVar1" (binary_expression "uVar7 ^ uVar2" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x12] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0x12] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0x12] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0x12] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0x12] ^ uVar7" (subscript_expression "(skey->xtea).A[0x12]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" identifier = (binary_expression "uVar9 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x11] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[0x11] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[0x11] ^ uVar9)" identifier (argument_list "((skey->xtea).A[0x11] ^ uVar9)" ( (binary_expression "(skey->xtea).A[0x11] ^ uVar9" (subscript_expression "(skey->xtea).A[0x11]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar1 ^ uVar7;" (assignment_expression "uVar7 = uVar1 ^ uVar7" identifier = (binary_expression "uVar1 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar4 = ((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20);" (assignment_expression "uVar4 = ((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20)" identifier = (binary_expression "((uint)uVar9 | (uint)(skey->xtea).A[0x1f]) ^ (uint)(uVar9 >> 0x20)" (parenthesized_expression "((uint)uVar9 | (uint)(skey->xtea).A[0x1f])" ( (binary_expression "(uint)uVar9 | (uint)(skey->xtea).A[0x1f]" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) | (subscript_expression "(uint)(skey->xtea).A[0x1f]" (field_expression "(uint)(skey->xtea).A" (call_expression "(uint)(skey->xtea)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) )) ^ (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 >> 0x20)" ( (binary_expression "uVar9 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar6 = (uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4;" (assignment_expression "uVar6 = (uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4" identifier = (binary_expression "(uint)((skey->xtea).A[0x1f] >> 0x20) & uVar4" (call_expression "(uint)((skey->xtea).A[0x1f] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((skey->xtea).A[0x1f] >> 0x20)" ( (binary_expression "(skey->xtea).A[0x1f] >> 0x20" (subscript_expression "(skey->xtea).A[0x1f]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar8 = (uint)(uVar7 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar7 >> 0x20)" identifier = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar5 = (uint)((skey->xtea).B[0] >> 0x20) & uVar8;" (assignment_expression "uVar5 = (uint)((skey->xtea).B[0] >> 0x20) & uVar8" identifier = (binary_expression "(uint)((skey->xtea).B[0] >> 0x20) & uVar8" (call_expression "(uint)((skey->xtea).B[0] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((skey->xtea).B[0] >> 0x20)" ( (binary_expression "(skey->xtea).B[0] >> 0x20" (subscript_expression "(skey->xtea).B[0]" (field_expression "(skey->xtea).B" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;" (assignment_expression "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" identifier = (binary_expression "(uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar5 << 1 | uVar5 >> 0x1f)" ( (binary_expression "uVar5 << 1 | uVar5 >> 0x1f" (binary_expression "uVar5 << 1" identifier << number_literal) | (binary_expression "uVar5 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar7 = CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5);" (assignment_expression "uVar7 = CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5)" identifier = (call_expression "CONCAT44(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5)" identifier (argument_list "(((uint)(skey->xtea).B[0] | uVar5) ^ uVar8,uVar5)" ( (binary_expression "((uint)(skey->xtea).B[0] | uVar5) ^ uVar8" (parenthesized_expression "((uint)(skey->xtea).B[0] | uVar5)" ( (binary_expression "(uint)(skey->xtea).B[0] | uVar5" (subscript_expression "(uint)(skey->xtea).B[0]" (field_expression "(uint)(skey->xtea).B" (call_expression "(uint)(skey->xtea)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]) | identifier) )) ^ identifier) , identifier )))) ;) (expression_statement "uVar1 = F((skey->xtea).A[0x10] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0x10] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0x10] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0x10] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0x10] ^ uVar7" (subscript_expression "(skey->xtea).A[0x10]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar10 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1;" (assignment_expression "uVar10 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1" identifier = (binary_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9) ^ uVar1" (call_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9)" identifier (argument_list "(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9)" ( identifier , (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0xf] ^ uVar10);" (assignment_expression "uVar1 = F((skey->xtea).A[0xf] ^ uVar10)" identifier = (call_expression "F((skey->xtea).A[0xf] ^ uVar10)" identifier (argument_list "((skey->xtea).A[0xf] ^ uVar10)" ( (binary_expression "(skey->xtea).A[0xf] ^ uVar10" (subscript_expression "(skey->xtea).A[0xf]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0xe] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0xe] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0xe] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0xe] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0xe] ^ uVar7" (subscript_expression "(skey->xtea).A[0xe]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar10 = uVar10 ^ uVar1;" (assignment_expression "uVar10 = uVar10 ^ uVar1" identifier = (binary_expression "uVar10 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0xd] ^ uVar10);" (assignment_expression "uVar1 = F((skey->xtea).A[0xd] ^ uVar10)" identifier = (call_expression "F((skey->xtea).A[0xd] ^ uVar10)" identifier (argument_list "((skey->xtea).A[0xd] ^ uVar10)" ( (binary_expression "(skey->xtea).A[0xd] ^ uVar10" (subscript_expression "(skey->xtea).A[0xd]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0xc] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[0xc] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[0xc] ^ uVar7)" identifier (argument_list "((skey->xtea).A[0xc] ^ uVar7)" ( (binary_expression "(skey->xtea).A[0xc] ^ uVar7" (subscript_expression "(skey->xtea).A[0xc]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar10 = uVar10 ^ uVar1;" (assignment_expression "uVar10 = uVar10 ^ uVar1" identifier = (binary_expression "uVar10 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[0xb] ^ uVar10);" (assignment_expression "uVar1 = F((skey->xtea).A[0xb] ^ uVar10)" identifier = (call_expression "F((skey->xtea).A[0xb] ^ uVar10)" identifier (argument_list "((skey->xtea).A[0xb] ^ uVar10)" ( (binary_expression "(skey->xtea).A[0xb] ^ uVar10" (subscript_expression "(skey->xtea).A[0xb]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar1 ^ uVar7;" (assignment_expression "uVar7 = uVar1 ^ uVar7" identifier = (binary_expression "uVar1 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar5 = ((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20);" (assignment_expression "uVar5 = ((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20)" identifier = (binary_expression "((uint)uVar10 | (uint)(skey->xtea).A[0x1d]) ^ (uint)(uVar10 >> 0x20)" (parenthesized_expression "((uint)uVar10 | (uint)(skey->xtea).A[0x1d])" ( (binary_expression "(uint)uVar10 | (uint)(skey->xtea).A[0x1d]" (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier) | (subscript_expression "(uint)(skey->xtea).A[0x1d]" (field_expression "(uint)(skey->xtea).A" (call_expression "(uint)(skey->xtea)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) )) ^ (call_expression "(uint)(uVar10 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 >> 0x20)" ( (binary_expression "uVar10 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar6 = (uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5" identifier = (binary_expression "(uint)((skey->xtea).A[0x1d] >> 0x20) & uVar5" (call_expression "(uint)((skey->xtea).A[0x1d] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((skey->xtea).A[0x1d] >> 0x20)" ( (binary_expression "(skey->xtea).A[0x1d] >> 0x20" (subscript_expression "(skey->xtea).A[0x1d]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar8 = (uint)(uVar7 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar7 >> 0x20)" identifier = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8" identifier = (binary_expression "(uint)((skey->xtea).A[0x1e] >> 0x20) & uVar8" (call_expression "(uint)((skey->xtea).A[0x1e] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((skey->xtea).A[0x1e] >> 0x20)" ( (binary_expression "(skey->xtea).A[0x1e] >> 0x20" (subscript_expression "(skey->xtea).A[0x1e]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar4 = (uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f);" (assignment_expression "uVar4 = (uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f)" identifier = (binary_expression "(uint)uVar7 ^ (uVar4 << 1 | uVar4 >> 0x1f)" (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier) ^ (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" ( (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" identifier << number_literal) | (binary_expression "uVar4 >> 0x1f" identifier >> number_literal)) )))) ;) (expression_statement "uVar9 = CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4);" (assignment_expression "uVar9 = CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4)" identifier = (call_expression "CONCAT44(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4)" identifier (argument_list "(((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8,uVar4)" ( (binary_expression "((uint)(skey->xtea).A[0x1e] | uVar4) ^ uVar8" (parenthesized_expression "((uint)(skey->xtea).A[0x1e] | uVar4)" ( (binary_expression "(uint)(skey->xtea).A[0x1e] | uVar4" (subscript_expression "(uint)(skey->xtea).A[0x1e]" (field_expression "(uint)(skey->xtea).A" (call_expression "(uint)(skey->xtea)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]) | identifier) )) ^ identifier) , identifier )))) ;) (expression_statement "uVar1 = F((skey->xtea).A[10] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[10] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[10] ^ uVar9)" identifier (argument_list "((skey->xtea).A[10] ^ uVar9)" ( (binary_expression "(skey->xtea).A[10] ^ uVar9" (subscript_expression "(skey->xtea).A[10]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1;" (assignment_expression "uVar7 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1" identifier = (binary_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10) ^ uVar1" (call_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10)" identifier (argument_list "(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10)" ( identifier , (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar10" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[9] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[9] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[9] ^ uVar7)" identifier (argument_list "((skey->xtea).A[9] ^ uVar7)" ( (binary_expression "(skey->xtea).A[9] ^ uVar7" (subscript_expression "(skey->xtea).A[9]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" identifier = (binary_expression "uVar9 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[8] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[8] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[8] ^ uVar9)" identifier (argument_list "((skey->xtea).A[8] ^ uVar9)" ( (binary_expression "(skey->xtea).A[8] ^ uVar9" (subscript_expression "(skey->xtea).A[8]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[7] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[7] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[7] ^ uVar7)" identifier (argument_list "((skey->xtea).A[7] ^ uVar7)" ( (binary_expression "(skey->xtea).A[7] ^ uVar7" (subscript_expression "(skey->xtea).A[7]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" identifier = (binary_expression "uVar9 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[6] ^ uVar9);" (assignment_expression "uVar1 = F((skey->xtea).A[6] ^ uVar9)" identifier = (call_expression "F((skey->xtea).A[6] ^ uVar9)" identifier (argument_list "((skey->xtea).A[6] ^ uVar9)" ( (binary_expression "(skey->xtea).A[6] ^ uVar9" (subscript_expression "(skey->xtea).A[6]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar1;" (assignment_expression "uVar7 = uVar7 ^ uVar1" identifier = (binary_expression "uVar7 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar1 = F((skey->xtea).A[5] ^ uVar7);" (assignment_expression "uVar1 = F((skey->xtea).A[5] ^ uVar7)" identifier = (call_expression "F((skey->xtea).A[5] ^ uVar7)" identifier (argument_list "((skey->xtea).A[5] ^ uVar7)" ( (binary_expression "(skey->xtea).A[5] ^ uVar7" (subscript_expression "(skey->xtea).A[5]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ (skey->xtea).A[1];" (assignment_expression "uVar7 = uVar7 ^ (skey->xtea).A[1]" identifier = (binary_expression "uVar7 ^ (skey->xtea).A[1]" identifier ^ (subscript_expression "(skey->xtea).A[1]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1 ^ (skey->xtea).A[2];" (assignment_expression "uVar9 = uVar9 ^ uVar1 ^ (skey->xtea).A[2]" identifier = (binary_expression "uVar9 ^ uVar1 ^ (skey->xtea).A[2]" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ (subscript_expression "(skey->xtea).A[2]" (field_expression "(skey->xtea).A" (parenthesized_expression "(skey->xtea)" ( (field_expression "skey->xtea" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "*(ulong *)pt = uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |\n                 uVar7 << 0x38;" (assignment_expression "*(ulong *)pt = uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |\n                 uVar7 << 0x38" (pointer_expression "*(ulong *)pt" * (cast_expression "(ulong *)pt" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28 |\n                 uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 | (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                 (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                 (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal))) ;) (expression_statement "*(ulong *)(pt + 8) =\n       uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;" (assignment_expression "*(ulong *)(pt + 8) =\n       uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (pointer_expression "*(ulong *)(pt + 8)" * (cast_expression "(ulong *)(pt + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pt + 8)" ( (binary_expression "pt + 8" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n       (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n       (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" ( (binary_expression "uVar9 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" ( (binary_expression "uVar9 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" ( (binary_expression "uVar9 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" ( (binary_expression "uVar9 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x38" identifier << number_literal))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined8 camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)\n\n{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}\n\n" (function_definition "undefined8 camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)\n\n{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}" type_identifier (function_declarator "camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)" identifier (parameter_list "(ulong *param_1,ulong *param_2,int *param_3)" ( (parameter_declaration "ulong *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "ulong *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);" (assignment_expression "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6)" identifier = (binary_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6)" (parenthesized_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38)" ( (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal)) )) ^ (pointer_expression "*(ulong *)(param_3 + 6)" * (cast_expression "(ulong *)(param_3 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 6)" ( (binary_expression "param_3 + 6" identifier + number_literal) )))))) ;) (expression_statement "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);" (assignment_expression "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8)" identifier = (binary_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8)" (parenthesized_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38)" ( (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" ( (binary_expression "uVar9 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" ( (binary_expression "uVar9 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" ( (binary_expression "uVar9 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" ( (binary_expression "uVar9 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x38" identifier << number_literal)) )) ^ (pointer_expression "*(ulong *)(param_3 + 8)" * (cast_expression "(ulong *)(param_3 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))))) ;) (if_statement "if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }" if (parenthesized_expression "(*param_3 == 0x18)" ( (binary_expression "*param_3 == 0x18" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }" { (expression_statement "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);" (assignment_expression "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x38) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x38) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x38)" * (cast_expression "(ulong *)(param_3 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x38)" ( (binary_expression "param_3 + 0x38" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1" (binary_expression "*(ulong *)(param_3 + 0x36) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x36)" * (cast_expression "(ulong *)(param_3 + 0x36)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x36)" ( (binary_expression "param_3 + 0x36" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" identifier (argument_list "(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" ( (binary_expression "*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2" (binary_expression "*(ulong *)(param_3 + 0x34) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x34)" * (cast_expression "(ulong *)(param_3 + 0x34)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x34)" ( (binary_expression "param_3 + 0x34" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar9 ^ uVar1 ^ uVar3" identifier = (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x32) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x32) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x32)" * (cast_expression "(ulong *)(param_3 + 0x32)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x32)" ( (binary_expression "param_3 + 0x32" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar7 ^ uVar2 ^ uVar9;" (assignment_expression "uVar9 = uVar7 ^ uVar2 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar2 ^ uVar9" (binary_expression "uVar7 ^ uVar2" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0x30) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0x30) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x30)" * (cast_expression "(ulong *)(param_3 + 0x30)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x30)" ( (binary_expression "param_3 + 0x30" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar3 ^ uVar7;" (assignment_expression "uVar3 = uVar3 ^ uVar7" identifier = (binary_expression "uVar3 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x2e) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x2e) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x2e)" * (cast_expression "(ulong *)(param_3 + 0x2e)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2e)" ( (binary_expression "param_3 + 0x2e" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" identifier = (binary_expression "uVar9 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);" (assignment_expression "uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20)" identifier = (binary_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20)" (parenthesized_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42))" ( (binary_expression "(uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)*(undefined8 *)(param_3 + 0x42)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x42)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x42)" ( (binary_expression "param_3 + 0x42" identifier + number_literal) ))))) )) ^ (call_expression "(uint)(uVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 >> 0x20)" ( (binary_expression "uVar3 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x42)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x42)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x42)" ( (binary_expression "param_3 + 0x42" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar5 = (uint)(uVar9 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar9 >> 0x20)" identifier = (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 >> 0x20)" ( (binary_expression "uVar9 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x44)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x44)" ( (binary_expression "param_3 + 0x44" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;" (assignment_expression "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" identifier = (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);" (assignment_expression "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" identifier = (call_expression "CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" identifier (argument_list "(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" ( identifier , (binary_expression "(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3" (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" ( (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" identifier << number_literal) | (binary_expression "uVar4 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);" (assignment_expression "uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" identifier = (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" identifier (argument_list "(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" ( (binary_expression "((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x44) | uVar6)" ( (binary_expression "(uint)*(undefined8 *)(param_3 + 0x44) | uVar6" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x44)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x44)" ( (binary_expression "param_3 + 0x44" identifier + number_literal) )))) | identifier) )) ^ identifier) , identifier )))) ;) })) (expression_statement "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);" (assignment_expression "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x2c) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x2c) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x2c)" * (cast_expression "(ulong *)(param_3 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2c)" ( (binary_expression "param_3 + 0x2c" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1" (binary_expression "*(ulong *)(param_3 + 0x2a) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x2a)" * (cast_expression "(ulong *)(param_3 + 0x2a)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x2a)" ( (binary_expression "param_3 + 0x2a" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" identifier (argument_list "(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" ( (binary_expression "*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2" (binary_expression "*(ulong *)(param_3 + 0x28) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x28)" * (cast_expression "(ulong *)(param_3 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x28)" ( (binary_expression "param_3 + 0x28" identifier + number_literal) )))) ^ identifier) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar9 ^ uVar1 ^ uVar3" identifier = (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x26) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x26) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x26)" * (cast_expression "(ulong *)(param_3 + 0x26)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x26)" ( (binary_expression "param_3 + 0x26" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar7 ^ uVar2 ^ uVar9;" (assignment_expression "uVar9 = uVar7 ^ uVar2 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar2 ^ uVar9" (binary_expression "uVar7 ^ uVar2" identifier ^ identifier) ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0x24) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0x24) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x24)" * (cast_expression "(ulong *)(param_3 + 0x24)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x24)" ( (binary_expression "param_3 + 0x24" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar3 = uVar3 ^ uVar7;" (assignment_expression "uVar3 = uVar3 ^ uVar7" identifier = (binary_expression "uVar3 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3)" identifier (argument_list "(*(ulong *)(param_3 + 0x22) ^ uVar3)" ( (binary_expression "*(ulong *)(param_3 + 0x22) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x22)" * (cast_expression "(ulong *)(param_3 + 0x22)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x22)" ( (binary_expression "param_3 + 0x22" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);" (assignment_expression "uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20)" identifier = (binary_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20)" (parenthesized_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e))" ( (binary_expression "(uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3e)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3e)" ( (binary_expression "param_3 + 0x3e" identifier + number_literal) ))))) )) ^ (call_expression "(uint)(uVar3 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 >> 0x20)" ( (binary_expression "uVar3 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3e)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3e)" ( (binary_expression "param_3 + 0x3e" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar8 = (uint)(uVar7 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar7 >> 0x20)" identifier = (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;" (assignment_expression "uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;" (assignment_expression "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" identifier = (binary_expression "(uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar5 << 1 | uVar5 >> 0x1f)" ( (binary_expression "uVar5 << 1 | uVar5 >> 0x1f" (binary_expression "uVar5 << 1" identifier << number_literal) | (binary_expression "uVar5 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);" (assignment_expression "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" identifier = (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" identifier (argument_list "(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" ( (binary_expression "((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x40) | uVar5)" ( (binary_expression "(uint)*(undefined8 *)(param_3 + 0x40) | uVar5" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x40)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x40)" ( (binary_expression "param_3 + 0x40" identifier + number_literal) )))) | identifier) )) ^ identifier) , identifier )))) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x20) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x20) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x20)" * (cast_expression "(ulong *)(param_3 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x20)" ( (binary_expression "param_3 + 0x20" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;" (assignment_expression "uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7" identifier = (binary_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7" (call_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3)" identifier (argument_list "(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3)" ( identifier , (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x1e) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x1e) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x1e)" * (cast_expression "(ulong *)(param_3 + 0x1e)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1e)" ( (binary_expression "param_3 + 0x1e" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar9;" (assignment_expression "uVar1 = uVar1 ^ uVar9" identifier = (binary_expression "uVar1 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x1c) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x1c) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x1c)" * (cast_expression "(ulong *)(param_3 + 0x1c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1c)" ( (binary_expression "param_3 + 0x1c" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x1a) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x1a) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x1a)" * (cast_expression "(ulong *)(param_3 + 0x1a)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1a)" ( (binary_expression "param_3 + 0x1a" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar9;" (assignment_expression "uVar1 = uVar1 ^ uVar9" identifier = (binary_expression "uVar1 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x18) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x18) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x18)" * (cast_expression "(ulong *)(param_3 + 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x18)" ( (binary_expression "param_3 + 0x18" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" identifier = (binary_expression "uVar7 ^ uVar9" identifier ^ identifier)) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7)" identifier (argument_list "(*(ulong *)(param_3 + 0x16) ^ uVar7)" ( (binary_expression "*(ulong *)(param_3 + 0x16) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x16)" * (cast_expression "(ulong *)(param_3 + 0x16)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x16)" ( (binary_expression "param_3 + 0x16" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" identifier = (binary_expression "uVar9 ^ uVar1" identifier ^ identifier)) ;) (expression_statement "uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);" (assignment_expression "uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20)" identifier = (binary_expression "((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20)" (parenthesized_expression "((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a))" ( (binary_expression "(uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)" (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3a)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3a)" ( (binary_expression "param_3 + 0x3a" identifier + number_literal) ))))) )) ^ (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 >> 0x20)" ( (binary_expression "uVar7 >> 0x20" identifier >> number_literal) ))))) ;) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3a)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3a)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3a)" ( (binary_expression "param_3 + 0x3a" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar8 = (uint)(uVar9 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar9 >> 0x20)" identifier = (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 >> 0x20)" ( (binary_expression "uVar9 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8" identifier = (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20)" ( (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3c)" ( (binary_expression "param_3 + 0x3c" identifier + number_literal) )))) >> number_literal) ))) & identifier)) ;) (expression_statement "uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);" (assignment_expression "uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f)" identifier = (binary_expression "(uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f)" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ^ (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" ( (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" identifier << number_literal) | (binary_expression "uVar4 >> 0x1f" identifier >> number_literal)) )))) ;) (expression_statement "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);" (assignment_expression "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" identifier = (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" identifier (argument_list "(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" ( (binary_expression "((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4)" ( (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3c) | uVar4" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3c)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)(param_3 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x3c)" ( (binary_expression "param_3 + 0x3c" identifier + number_literal) )))) | identifier) )) ^ identifier) , identifier )))) ;) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x14) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x14) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x14)" * (cast_expression "(ulong *)(param_3 + 0x14)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;" (assignment_expression "uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9" identifier = (binary_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9" (call_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7)" identifier (argument_list "(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7)" ( identifier , (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" ( (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" identifier << number_literal) | (binary_expression "uVar6 >> 0x1f" identifier >> number_literal)) )) ^ (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0x12) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0x12) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x12)" * (cast_expression "(ulong *)(param_3 + 0x12)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x12)" ( (binary_expression "param_3 + 0x12" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar7;" (assignment_expression "uVar1 = uVar1 ^ uVar7" identifier = (binary_expression "uVar1 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0x10) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0x10) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x10)" * (cast_expression "(ulong *)(param_3 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x10)" ( (binary_expression "param_3 + 0x10" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" identifier = (binary_expression "uVar9 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 0xe) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 0xe) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0xe)" * (cast_expression "(ulong *)(param_3 + 0xe)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xe)" ( (binary_expression "param_3 + 0xe" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar1 = uVar1 ^ uVar7;" (assignment_expression "uVar1 = uVar1 ^ uVar7" identifier = (binary_expression "uVar1 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1)" identifier (argument_list "(*(ulong *)(param_3 + 0xc) ^ uVar1)" ( (binary_expression "*(ulong *)(param_3 + 0xc) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0xc)" * (cast_expression "(ulong *)(param_3 + 0xc)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" identifier = (binary_expression "uVar9 ^ uVar7" identifier ^ identifier)) ;) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9)" identifier = (call_expression "FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9)" identifier (argument_list "(*(ulong *)(param_3 + 10) ^ uVar9)" ( (binary_expression "*(ulong *)(param_3 + 10) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 10)" * (cast_expression "(ulong *)(param_3 + 10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 10)" ( (binary_expression "param_3 + 10" identifier + number_literal) )))) ^ identifier) )))) ;) (expression_statement "uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);" (assignment_expression "uVar9 = uVar9 ^ *(ulong *)(param_3 + 2)" identifier = (binary_expression "uVar9 ^ *(ulong *)(param_3 + 2)" identifier ^ (pointer_expression "*(ulong *)(param_3 + 2)" * (cast_expression "(ulong *)(param_3 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))))) ;) (expression_statement "uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);" (assignment_expression "uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4)" identifier = (binary_expression "uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4)" (binary_expression "uVar1 ^ uVar7" identifier ^ identifier) ^ (pointer_expression "*(ulong *)(param_3 + 4)" * (cast_expression "(ulong *)(param_3 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) )))))) ;) (expression_statement "*param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;" (assignment_expression "*param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (pointer_expression "*param_2" * identifier) = (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" ( (binary_expression "uVar9 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" ( (binary_expression "uVar9 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" ( (binary_expression "uVar9 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" ( (binary_expression "uVar9 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x38" identifier << number_literal))) ;) (expression_statement "param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;" (assignment_expression "param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28" (binary_expression "uVar1 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar1 & 0xff000000000000)" ( (binary_expression "uVar1 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar1 & 0xff0000000000)" ( (binary_expression "uVar1 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00000000) >> 8" (parenthesized_expression "(uVar1 & 0xff00000000)" ( (binary_expression "uVar1 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff000000) << 8" (parenthesized_expression "(uVar1 & 0xff000000)" ( (binary_expression "uVar1 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar1 & 0xff0000) << 0x18" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar1 & 0xff00) << 0x28" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x38" identifier << number_literal))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * 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 * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT ^ IDENT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT ^ IDENT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT) )) ^ IDENT) , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT ^ IDENT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT ^ IDENT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT) )) ^ IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) ))) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT) )) ^ IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT ^ IDENT) ^ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 LIT ;) })))
(function_definition "undefined8 camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)\n\n{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}" (type_identifier "undefined8") (function_declarator "camellia_ecb_decrypt(ulong *param_1,ulong *param_2,int *param_3)" (identifier "camellia_ecb_decrypt") (parameter_list "(ulong *param_1,ulong *param_2,int *param_3)" (( "(") (parameter_declaration "ulong *param_1" (type_identifier "ulong") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "ulong *param_2" (type_identifier "ulong") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  ulong uVar1;\n  ulong uVar2;\n  ulong uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  ulong uVar7;\n  uint uVar8;\n  ulong uVar9;\n  \n  uVar7 = *param_1;\n  uVar9 = param_1[1];\n  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);\n  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);\n  if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }\n  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);\n  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);\n  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);\n  uVar3 = uVar9 ^ uVar1 ^ uVar3;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);\n  uVar9 = uVar7 ^ uVar2 ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);\n  uVar3 = uVar3 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);\n  uVar7 = uVar7 ^ uVar9;\n  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;\n  uVar8 = (uint)(uVar7 >> 0x20);\n  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;\n  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);\n  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);\n  uVar1 = uVar1 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);\n  uVar7 = uVar7 ^ uVar9;\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);\n  uVar9 = uVar9 ^ uVar1;\n  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);\n  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;\n  uVar8 = (uint)(uVar9 >> 0x20);\n  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;\n  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);\n  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);\n  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);\n  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);\n  uVar1 = uVar1 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);\n  uVar9 = uVar9 ^ uVar7;\n  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);\n  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);\n  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);\n  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;\n  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;\n  return 0;\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (declaration "ulong uVar3;" (type_identifier "ulong") (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 "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "ulong uVar9;" (type_identifier "ulong") (identifier "uVar9") (; ";")) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" (identifier "uVar9") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);" (assignment_expression "uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6)" (identifier "uVar7") (= "=") (binary_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6)" (parenthesized_expression "(uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38)" (( "(") (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n           (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |\n           (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" (identifier "uVar7") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" (( "(") (binary_expression "uVar7 & 0xff000000000000" (identifier "uVar7") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" (( "(") (binary_expression "uVar7 & 0xff0000000000" (identifier "uVar7") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" (( "(") (binary_expression "uVar7 & 0xff00000000" (identifier "uVar7") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" (( "(") (binary_expression "uVar7 & 0xff000000" (identifier "uVar7") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar7 << 0x38" (identifier "uVar7") (<< "<<") (number_literal "0x38"))) () ")")) (^ "^") (pointer_expression "*(ulong *)(param_3 + 6)" (* "*") (cast_expression "(ulong *)(param_3 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 6)" (( "(") (binary_expression "param_3 + 6" (identifier "param_3") (+ "+") (number_literal "6")) () ")")))))) (; ";")) (expression_statement "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);" (assignment_expression "uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8)" (identifier "uVar9") (= "=") (binary_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8)" (parenthesized_expression "(uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38)" (( "(") (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n           (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n           (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" (identifier "uVar9") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" (( "(") (binary_expression "uVar9 & 0xff000000000000" (identifier "uVar9") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" (( "(") (binary_expression "uVar9 & 0xff0000000000" (identifier "uVar9") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" (( "(") (binary_expression "uVar9 & 0xff00000000" (identifier "uVar9") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" (( "(") (binary_expression "uVar9 & 0xff000000" (identifier "uVar9") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar9 << 0x38" (identifier "uVar9") (<< "<<") (number_literal "0x38"))) () ")")) (^ "^") (pointer_expression "*(ulong *)(param_3 + 8)" (* "*") (cast_expression "(ulong *)(param_3 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if (*param_3 == 0x18) {\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }" (if "if") (parenthesized_expression "(*param_3 == 0x18)" (( "(") (binary_expression "*param_3 == 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (number_literal "0x18")) () ")")) (compound_statement "{\n    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);\n    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);\n    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);\n    uVar3 = uVar9 ^ uVar1 ^ uVar3;\n    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);\n    uVar9 = uVar7 ^ uVar2 ^ uVar9;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);\n    uVar3 = uVar3 ^ uVar7;\n    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);\n    uVar9 = uVar9 ^ uVar7;\n    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);\n    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;\n    uVar5 = (uint)(uVar9 >> 0x20);\n    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;\n    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;\n    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);\n    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);\n  }" ({ "{") (expression_statement "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);" (assignment_expression "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7)" (identifier "uVar1") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x38) ^ uVar7)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x38) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x38)" (* "*") (cast_expression "(ulong *)(param_3 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x38)" (( "(") (binary_expression "param_3 + 0x38" (identifier "param_3") (+ "+") (number_literal "0x38")) () ")")))) (^ "^") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" (identifier "uVar2") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1" (binary_expression "*(ulong *)(param_3 + 0x36) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x36)" (* "*") (cast_expression "(ulong *)(param_3 + 0x36)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x36)" (( "(") (binary_expression "param_3 + 0x36" (identifier "param_3") (+ "+") (number_literal "0x36")) () ")")))) (^ "^") (identifier "uVar9")) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" (identifier "uVar3") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2" (binary_expression "*(ulong *)(param_3 + 0x34) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x34)" (* "*") (cast_expression "(ulong *)(param_3 + 0x34)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x34)" (( "(") (binary_expression "param_3 + 0x34" (identifier "param_3") (+ "+") (number_literal "0x34")) () ")")))) (^ "^") (identifier "uVar7")) (^ "^") (identifier "uVar2")) () ")")))) (; ";")) (expression_statement "uVar3 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar9 ^ uVar1 ^ uVar3" (identifier "uVar3") (= "=") (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" (identifier "uVar9") (^ "^") (identifier "uVar1")) (^ "^") (identifier "uVar3"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x32) ^ uVar3)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x32) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x32)" (* "*") (cast_expression "(ulong *)(param_3 + 0x32)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x32)" (( "(") (binary_expression "param_3 + 0x32" (identifier "param_3") (+ "+") (number_literal "0x32")) () ")")))) (^ "^") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar7 ^ uVar2 ^ uVar9;" (assignment_expression "uVar9 = uVar7 ^ uVar2 ^ uVar9" (identifier "uVar9") (= "=") (binary_expression "uVar7 ^ uVar2 ^ uVar9" (binary_expression "uVar7 ^ uVar2" (identifier "uVar7") (^ "^") (identifier "uVar2")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x30) ^ uVar9)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x30) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x30)" (* "*") (cast_expression "(ulong *)(param_3 + 0x30)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x30)" (( "(") (binary_expression "param_3 + 0x30" (identifier "param_3") (+ "+") (number_literal "0x30")) () ")")))) (^ "^") (identifier "uVar9")) () ")")))) (; ";")) (expression_statement "uVar3 = uVar3 ^ uVar7;" (assignment_expression "uVar3 = uVar3 ^ uVar7" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ uVar7" (identifier "uVar3") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x2e) ^ uVar3)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x2e) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x2e)" (* "*") (cast_expression "(ulong *)(param_3 + 0x2e)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x2e)" (( "(") (binary_expression "param_3 + 0x2e" (identifier "param_3") (+ "+") (number_literal "0x2e")) () ")")))) (^ "^") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);" (assignment_expression "uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20)" (identifier "uVar8") (= "=") (binary_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20)" (parenthesized_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42))" (( "(") (binary_expression "(uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)" (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3")) (| "|") (binary_expression "(uint)*(undefined8 *)(param_3 + 0x42)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x42)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x42)" (( "(") (binary_expression "param_3 + 0x42" (identifier "param_3") (+ "+") (number_literal "0x42")) () ")"))))) () ")")) (^ "^") (call_expression "(uint)(uVar3 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar3 >> 0x20)" (( "(") (binary_expression "uVar3 >> 0x20" (identifier "uVar3") (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8" (identifier "uVar4") (= "=") (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20)" (( "(") (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x42)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x42)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x42)" (( "(") (binary_expression "param_3 + 0x42" (identifier "param_3") (+ "+") (number_literal "0x42")) () ")")))) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (identifier "uVar8"))) (; ";")) (expression_statement "uVar5 = (uint)(uVar9 >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar9 >> 0x20)" (identifier "uVar5") (= "=") (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 >> 0x20)" (( "(") (binary_expression "uVar9 >> 0x20" (identifier "uVar9") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5" (identifier "uVar6") (= "=") (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20)" (( "(") (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x44)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x44)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x44)" (( "(") (binary_expression "param_3 + 0x44" (identifier "param_3") (+ "+") (number_literal "0x44")) () ")")))) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (identifier "uVar5"))) (; ";")) (expression_statement "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;" (assignment_expression "uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" (identifier "uVar6") (= "=") (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" (( "(") (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" (identifier "uVar6") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar6 >> 0x1f" (identifier "uVar6") (>> ">>") (number_literal "0x1f"))) () ")")) (^ "^") (cast_expression "(uint)uVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar9")))) (; ";")) (expression_statement "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);" (assignment_expression "uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" (identifier "uVar9") (= "=") (call_expression "CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" (identifier "CONCAT44") (argument_list "(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3)" (( "(") (identifier "uVar8") (, ",") (binary_expression "(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3" (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" (( "(") (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" (identifier "uVar4") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar4 >> 0x1f" (identifier "uVar4") (>> ">>") (number_literal "0x1f"))) () ")")) (^ "^") (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3"))) () ")")))) (; ";")) (expression_statement "uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);" (assignment_expression "uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" (identifier "uVar7") (= "=") (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" (identifier "CONCAT44") (argument_list "(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6)" (( "(") (binary_expression "((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x44) | uVar6)" (( "(") (binary_expression "(uint)*(undefined8 *)(param_3 + 0x44) | uVar6" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x44)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x44)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x44)" (( "(") (binary_expression "param_3 + 0x44" (identifier "param_3") (+ "+") (number_literal "0x44")) () ")")))) (| "|") (identifier "uVar6")) () ")")) (^ "^") (identifier "uVar5")) (, ",") (identifier "uVar6") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);" (assignment_expression "uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7)" (identifier "uVar1") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x2c) ^ uVar7)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x2c) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x2c)" (* "*") (cast_expression "(ulong *)(param_3 + 0x2c)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x2c)" (( "(") (binary_expression "param_3 + 0x2c" (identifier "param_3") (+ "+") (number_literal "0x2c")) () ")")))) (^ "^") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);" (assignment_expression "uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" (identifier "uVar2") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1" (binary_expression "*(ulong *)(param_3 + 0x2a) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x2a)" (* "*") (cast_expression "(ulong *)(param_3 + 0x2a)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x2a)" (( "(") (binary_expression "param_3 + 0x2a" (identifier "param_3") (+ "+") (number_literal "0x2a")) () ")")))) (^ "^") (identifier "uVar9")) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);" (assignment_expression "uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" (identifier "uVar3") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2" (binary_expression "*(ulong *)(param_3 + 0x28) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x28)" (* "*") (cast_expression "(ulong *)(param_3 + 0x28)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x28)" (( "(") (binary_expression "param_3 + 0x28" (identifier "param_3") (+ "+") (number_literal "0x28")) () ")")))) (^ "^") (identifier "uVar7")) (^ "^") (identifier "uVar2")) () ")")))) (; ";")) (expression_statement "uVar3 = uVar9 ^ uVar1 ^ uVar3;" (assignment_expression "uVar3 = uVar9 ^ uVar1 ^ uVar3" (identifier "uVar3") (= "=") (binary_expression "uVar9 ^ uVar1 ^ uVar3" (binary_expression "uVar9 ^ uVar1" (identifier "uVar9") (^ "^") (identifier "uVar1")) (^ "^") (identifier "uVar3"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x26) ^ uVar3)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x26) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x26)" (* "*") (cast_expression "(ulong *)(param_3 + 0x26)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x26)" (( "(") (binary_expression "param_3 + 0x26" (identifier "param_3") (+ "+") (number_literal "0x26")) () ")")))) (^ "^") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar7 ^ uVar2 ^ uVar9;" (assignment_expression "uVar9 = uVar7 ^ uVar2 ^ uVar9" (identifier "uVar9") (= "=") (binary_expression "uVar7 ^ uVar2 ^ uVar9" (binary_expression "uVar7 ^ uVar2" (identifier "uVar7") (^ "^") (identifier "uVar2")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x24) ^ uVar9)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x24) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x24)" (* "*") (cast_expression "(ulong *)(param_3 + 0x24)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x24)" (( "(") (binary_expression "param_3 + 0x24" (identifier "param_3") (+ "+") (number_literal "0x24")) () ")")))) (^ "^") (identifier "uVar9")) () ")")))) (; ";")) (expression_statement "uVar3 = uVar3 ^ uVar7;" (assignment_expression "uVar3 = uVar3 ^ uVar7" (identifier "uVar3") (= "=") (binary_expression "uVar3 ^ uVar7" (identifier "uVar3") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x22) ^ uVar3)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x22) ^ uVar3" (pointer_expression "*(ulong *)(param_3 + 0x22)" (* "*") (cast_expression "(ulong *)(param_3 + 0x22)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x22)" (( "(") (binary_expression "param_3 + 0x22" (identifier "param_3") (+ "+") (number_literal "0x22")) () ")")))) (^ "^") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" (identifier "uVar7") (= "=") (binary_expression "uVar7 ^ uVar9" (identifier "uVar7") (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);" (assignment_expression "uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20)" (identifier "uVar4") (= "=") (binary_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20)" (parenthesized_expression "((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e))" (( "(") (binary_expression "(uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)" (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3")) (| "|") (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3e)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x3e)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3e)" (( "(") (binary_expression "param_3 + 0x3e" (identifier "param_3") (+ "+") (number_literal "0x3e")) () ")"))))) () ")")) (^ "^") (call_expression "(uint)(uVar3 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar3 >> 0x20)" (( "(") (binary_expression "uVar3 >> 0x20" (identifier "uVar3") (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4" (identifier "uVar6") (= "=") (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20)" (( "(") (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3e)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x3e)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3e)" (( "(") (binary_expression "param_3 + 0x3e" (identifier "param_3") (+ "+") (number_literal "0x3e")) () ")")))) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (identifier "uVar4"))) (; ";")) (expression_statement "uVar8 = (uint)(uVar7 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar7 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 >> 0x20)" (( "(") (binary_expression "uVar7 >> 0x20" (identifier "uVar7") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;" (assignment_expression "uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8" (identifier "uVar5") (= "=") (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20)" (( "(") (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x40)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x40)" (( "(") (binary_expression "param_3 + 0x40" (identifier "param_3") (+ "+") (number_literal "0x40")) () ")")))) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (identifier "uVar8"))) (; ";")) (expression_statement "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;" (assignment_expression "uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" (identifier "uVar5") (= "=") (binary_expression "(uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar5 << 1 | uVar5 >> 0x1f)" (( "(") (binary_expression "uVar5 << 1 | uVar5 >> 0x1f" (binary_expression "uVar5 << 1" (identifier "uVar5") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar5 >> 0x1f" (identifier "uVar5") (>> ">>") (number_literal "0x1f"))) () ")")) (^ "^") (cast_expression "(uint)uVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar7")))) (; ";")) (expression_statement "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);" (assignment_expression "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" (identifier "uVar1") (= "=") (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" (identifier "CONCAT44") (argument_list "(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5)" (( "(") (binary_expression "((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x40) | uVar5)" (( "(") (binary_expression "(uint)*(undefined8 *)(param_3 + 0x40) | uVar5" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x40)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x40)" (( "(") (binary_expression "param_3 + 0x40" (identifier "param_3") (+ "+") (number_literal "0x40")) () ")")))) (| "|") (identifier "uVar5")) () ")")) (^ "^") (identifier "uVar8")) (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x20) ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x20) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x20)" (* "*") (cast_expression "(ulong *)(param_3 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x20)" (( "(") (binary_expression "param_3 + 0x20" (identifier "param_3") (+ "+") (number_literal "0x20")) () ")")))) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;" (assignment_expression "uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7" (identifier "uVar7") (= "=") (binary_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7" (call_expression "CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3)" (identifier "CONCAT44") (argument_list "(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3)" (( "(") (identifier "uVar4") (, ",") (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" (( "(") (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" (identifier "uVar6") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar6 >> 0x1f" (identifier "uVar6") (>> ">>") (number_literal "0x1f"))) () ")")) (^ "^") (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3"))) () ")"))) (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x1e) ^ uVar7)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x1e) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x1e)" (* "*") (cast_expression "(ulong *)(param_3 + 0x1e)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1e)" (( "(") (binary_expression "param_3 + 0x1e" (identifier "param_3") (+ "+") (number_literal "0x1e")) () ")")))) (^ "^") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "uVar1 = uVar1 ^ uVar9;" (assignment_expression "uVar1 = uVar1 ^ uVar9" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ uVar9" (identifier "uVar1") (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x1c) ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x1c) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x1c)" (* "*") (cast_expression "(ulong *)(param_3 + 0x1c)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1c)" (( "(") (binary_expression "param_3 + 0x1c" (identifier "param_3") (+ "+") (number_literal "0x1c")) () ")")))) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" (identifier "uVar7") (= "=") (binary_expression "uVar7 ^ uVar9" (identifier "uVar7") (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x1a) ^ uVar7)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x1a) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x1a)" (* "*") (cast_expression "(ulong *)(param_3 + 0x1a)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1a)" (( "(") (binary_expression "param_3 + 0x1a" (identifier "param_3") (+ "+") (number_literal "0x1a")) () ")")))) (^ "^") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "uVar1 = uVar1 ^ uVar9;" (assignment_expression "uVar1 = uVar1 ^ uVar9" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ uVar9" (identifier "uVar1") (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x18) ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x18) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x18)" (* "*") (cast_expression "(ulong *)(param_3 + 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x18)" (( "(") (binary_expression "param_3 + 0x18" (identifier "param_3") (+ "+") (number_literal "0x18")) () ")")))) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar7 = uVar7 ^ uVar9;" (assignment_expression "uVar7 = uVar7 ^ uVar9" (identifier "uVar7") (= "=") (binary_expression "uVar7 ^ uVar9" (identifier "uVar7") (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x16) ^ uVar7)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x16) ^ uVar7" (pointer_expression "*(ulong *)(param_3 + 0x16)" (* "*") (cast_expression "(ulong *)(param_3 + 0x16)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x16)" (( "(") (binary_expression "param_3 + 0x16" (identifier "param_3") (+ "+") (number_literal "0x16")) () ")")))) (^ "^") (identifier "uVar7")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar9 ^ uVar1;" (assignment_expression "uVar9 = uVar9 ^ uVar1" (identifier "uVar9") (= "=") (binary_expression "uVar9 ^ uVar1" (identifier "uVar9") (^ "^") (identifier "uVar1"))) (; ";")) (expression_statement "uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);" (assignment_expression "uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20)" (identifier "uVar5") (= "=") (binary_expression "((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20)" (parenthesized_expression "((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a))" (( "(") (binary_expression "(uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)" (cast_expression "(uint)uVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar7")) (| "|") (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3a)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x3a)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3a)" (( "(") (binary_expression "param_3 + 0x3a" (identifier "param_3") (+ "+") (number_literal "0x3a")) () ")"))))) () ")")) (^ "^") (call_expression "(uint)(uVar7 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 >> 0x20)" (( "(") (binary_expression "uVar7 >> 0x20" (identifier "uVar7") (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;" (assignment_expression "uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5" (identifier "uVar6") (= "=") (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20)" (( "(") (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3a)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x3a)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3a)" (( "(") (binary_expression "param_3 + 0x3a" (identifier "param_3") (+ "+") (number_literal "0x3a")) () ")")))) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (identifier "uVar5"))) (; ";")) (expression_statement "uVar8 = (uint)(uVar9 >> 0x20);" (assignment_expression "uVar8 = (uint)(uVar9 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(uint)(uVar9 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 >> 0x20)" (( "(") (binary_expression "uVar9 >> 0x20" (identifier "uVar9") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;" (assignment_expression "uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8" (identifier "uVar4") (= "=") (binary_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8" (call_expression "(uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20)" (( "(") (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20" (binary_expression "(ulong)*(undefined8 *)(param_3 + 0x3c)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x3c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3c)" (( "(") (binary_expression "param_3 + 0x3c" (identifier "param_3") (+ "+") (number_literal "0x3c")) () ")")))) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (identifier "uVar8"))) (; ";")) (expression_statement "uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);" (assignment_expression "uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f)" (identifier "uVar4") (= "=") (binary_expression "(uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f)" (cast_expression "(uint)uVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar9")) (^ "^") (parenthesized_expression "(uVar4 << 1 | uVar4 >> 0x1f)" (( "(") (binary_expression "uVar4 << 1 | uVar4 >> 0x1f" (binary_expression "uVar4 << 1" (identifier "uVar4") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar4 >> 0x1f" (identifier "uVar4") (>> ">>") (number_literal "0x1f"))) () ")")))) (; ";")) (expression_statement "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);" (assignment_expression "uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" (identifier "uVar1") (= "=") (call_expression "CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" (identifier "CONCAT44") (argument_list "(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4)" (( "(") (binary_expression "((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8" (parenthesized_expression "((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4)" (( "(") (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3c) | uVar4" (binary_expression "(uint)*(undefined8 *)(param_3 + 0x3c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)(param_3 + 0x3c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x3c)" (( "(") (binary_expression "param_3 + 0x3c" (identifier "param_3") (+ "+") (number_literal "0x3c")) () ")")))) (| "|") (identifier "uVar4")) () ")")) (^ "^") (identifier "uVar8")) (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);" (assignment_expression "uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1)" (identifier "uVar9") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x14) ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x14) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x14)" (* "*") (cast_expression "(ulong *)(param_3 + 0x14)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")")))) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;" (assignment_expression "uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9" (identifier "uVar9") (= "=") (binary_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9" (call_expression "CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7)" (identifier "CONCAT44") (argument_list "(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7)" (( "(") (identifier "uVar5") (, ",") (binary_expression "(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7" (parenthesized_expression "(uVar6 << 1 | uVar6 >> 0x1f)" (( "(") (binary_expression "uVar6 << 1 | uVar6 >> 0x1f" (binary_expression "uVar6 << 1" (identifier "uVar6") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar6 >> 0x1f" (identifier "uVar6") (>> ">>") (number_literal "0x1f"))) () ")")) (^ "^") (cast_expression "(uint)uVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar7"))) () ")"))) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x12) ^ uVar9)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x12) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0x12)" (* "*") (cast_expression "(ulong *)(param_3 + 0x12)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x12)" (( "(") (binary_expression "param_3 + 0x12" (identifier "param_3") (+ "+") (number_literal "0x12")) () ")")))) (^ "^") (identifier "uVar9")) () ")")))) (; ";")) (expression_statement "uVar1 = uVar1 ^ uVar7;" (assignment_expression "uVar1 = uVar1 ^ uVar7" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ uVar7" (identifier "uVar1") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0x10) ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0x10) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0x10)" (* "*") (cast_expression "(ulong *)(param_3 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x10)" (( "(") (binary_expression "param_3 + 0x10" (identifier "param_3") (+ "+") (number_literal "0x10")) () ")")))) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0xe) ^ uVar9)" (( "(") (binary_expression "*(ulong *)(param_3 + 0xe) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 0xe)" (* "*") (cast_expression "(ulong *)(param_3 + 0xe)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xe)" (( "(") (binary_expression "param_3 + 0xe" (identifier "param_3") (+ "+") (number_literal "0xe")) () ")")))) (^ "^") (identifier "uVar9")) () ")")))) (; ";")) (expression_statement "uVar1 = uVar1 ^ uVar7;" (assignment_expression "uVar1 = uVar1 ^ uVar7" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ uVar7" (identifier "uVar1") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 0xc) ^ uVar1)" (( "(") (binary_expression "*(ulong *)(param_3 + 0xc) ^ uVar1" (pointer_expression "*(ulong *)(param_3 + 0xc)" (* "*") (cast_expression "(ulong *)(param_3 + 0xc)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")")))) (^ "^") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar9 ^ uVar7;" (assignment_expression "uVar9 = uVar9 ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);" (assignment_expression "uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9)" (identifier "uVar7") (= "=") (call_expression "FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9)" (identifier "FUN_001193d0") (argument_list "(*(ulong *)(param_3 + 10) ^ uVar9)" (( "(") (binary_expression "*(ulong *)(param_3 + 10) ^ uVar9" (pointer_expression "*(ulong *)(param_3 + 10)" (* "*") (cast_expression "(ulong *)(param_3 + 10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 10)" (( "(") (binary_expression "param_3 + 10" (identifier "param_3") (+ "+") (number_literal "10")) () ")")))) (^ "^") (identifier "uVar9")) () ")")))) (; ";")) (expression_statement "uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);" (assignment_expression "uVar9 = uVar9 ^ *(ulong *)(param_3 + 2)" (identifier "uVar9") (= "=") (binary_expression "uVar9 ^ *(ulong *)(param_3 + 2)" (identifier "uVar9") (^ "^") (pointer_expression "*(ulong *)(param_3 + 2)" (* "*") (cast_expression "(ulong *)(param_3 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))))) (; ";")) (expression_statement "uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);" (assignment_expression "uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4)" (identifier "uVar1") (= "=") (binary_expression "uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4)" (binary_expression "uVar1 ^ uVar7" (identifier "uVar1") (^ "^") (identifier "uVar7")) (^ "^") (pointer_expression "*(ulong *)(param_3 + 4)" (* "*") (cast_expression "(ulong *)(param_3 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (expression_statement "*param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;" (assignment_expression "*param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |\n             (uVar9 & 0xff00) << 0x28" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |\n             (uVar9 & 0xff00000000) >> 8" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18" (binary_expression "uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28" (binary_expression "uVar9 >> 0x38" (identifier "uVar9") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar9 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar9 & 0xff000000000000)" (( "(") (binary_expression "uVar9 & 0xff000000000000" (identifier "uVar9") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar9 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar9 & 0xff0000000000)" (( "(") (binary_expression "uVar9 & 0xff0000000000" (identifier "uVar9") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar9 & 0xff00000000) >> 8" (parenthesized_expression "(uVar9 & 0xff00000000)" (( "(") (binary_expression "uVar9 & 0xff00000000" (identifier "uVar9") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff000000) << 8" (parenthesized_expression "(uVar9 & 0xff000000)" (( "(") (binary_expression "uVar9 & 0xff000000" (identifier "uVar9") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff0000) << 0x18" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 0x28" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar9 << 0x38" (identifier "uVar9") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;" (assignment_expression "param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |\n               (uVar1 & 0xff0000) << 0x18" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18\n               | (uVar1 & 0xff00000000) >> 8" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18" (binary_expression "uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28" (binary_expression "uVar1 >> 0x38" (identifier "uVar1") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar1 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar1 & 0xff000000000000)" (( "(") (binary_expression "uVar1 & 0xff000000000000" (identifier "uVar1") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar1 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar1 & 0xff0000000000)" (( "(") (binary_expression "uVar1 & 0xff0000000000" (identifier "uVar1") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar1 & 0xff00000000) >> 8" (parenthesized_expression "(uVar1 & 0xff00000000)" (( "(") (binary_expression "uVar1 & 0xff00000000" (identifier "uVar1") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar1 & 0xff000000) << 8" (parenthesized_expression "(uVar1 & 0xff000000)" (( "(") (binary_expression "uVar1 & 0xff000000" (identifier "uVar1") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar1 & 0xff0000) << 0x18" (parenthesized_expression "(uVar1 & 0xff0000)" (( "(") (binary_expression "uVar1 & 0xff0000" (identifier "uVar1") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar1 & 0xff00) << 0x28" (parenthesized_expression "(uVar1 & 0xff00)" (( "(") (binary_expression "uVar1 & 0xff00" (identifier "uVar1") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar1 << 0x38" (identifier "uVar1") (<< "<<") (number_literal "0x38")))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

int function_1(type_1 *var_1,type_1 *var_14,type_2 *skey)

{
  type_3 var_5;
  type_3 var_6;
  type_3 var_7;
  type_4 var_12;
  type_4 var_9;
  type_4 var_10;
  type_5 var_2;
  type_4 var_8;
  type_5 var_3;
  type_5 var_13;
  
  var_2 = *(type_5 *)var_1;
  var_3 = *(type_5 *)(var_1 + 8);
  var_2 = (var_2 >> 0x38 | (var_2 & 0xff000000000000) >> 0x28 | (var_2 & 0xff0000000000) >> 0x18 |
           (var_2 & 0xff00000000) >> 8 | (var_2 & 0xff000000) << 8 | (var_2 & 0xff0000) << 0x18 |
           (var_2 & 0xff00) << 0x28 | var_2 << 0x38) ^ (skey->xtea).A[3];
  var_3 = (var_3 >> 0x38 | (var_3 & 0xff000000000000) >> 0x28 | (var_3 & 0xff0000000000) >> 0x18 |
           (var_3 & 0xff00000000) >> 8 | (var_3 & 0xff000000) << 8 | (var_3 & 0xff0000) << 0x18 |
           (var_3 & 0xff00) << 0x28 | var_3 << 0x38) ^ (skey->xtea).A[4];
  if ((skey->des).ek[0] == 0x18) {
    var_5 = var_4((skey->xtea).A[0x1c] ^ var_2);
    var_6 = var_4((skey->xtea).A[0x1b] ^ var_3 ^ var_5);
    var_7 = var_4((skey->xtea).A[0x1a] ^ var_2 ^ var_6);
    var_3 = var_3 ^ var_5 ^ var_7;
    var_5 = var_4((skey->xtea).A[0x19] ^ var_3);
    var_2 = var_2 ^ var_6 ^ var_5;
    var_5 = var_4((skey->xtea).A[0x18] ^ var_2);
    var_3 = var_3 ^ var_5;
    var_5 = var_4((skey->xtea).A[0x17] ^ var_3);
    var_2 = var_2 ^ var_5;
    var_8 = ((type_4)var_3 | (type_4)(skey->xtea).B[1]) ^ (type_4)(var_3 >> 0x20);
    var_12 = (type_4)((skey->xtea).B[1] >> 0x20) & var_8;
    var_9 = (type_4)(var_2 >> 0x20);
    var_10 = (type_4)((skey->xtea).B[2] >> 0x20) & var_9;
    var_10 = (var_10 << 1 | var_10 >> 0x1f) ^ (type_4)var_2;
    var_3 = var_11(var_8,(var_12 << 1 | var_12 >> 0x1f) ^ (type_4)var_3);
    var_2 = var_11(((type_4)(skey->xtea).B[2] | var_10) ^ var_9,var_10);
  }
  var_5 = var_4((skey->xtea).A[0x16] ^ var_2);
  var_6 = var_4((skey->xtea).A[0x15] ^ var_3 ^ var_5);
  var_7 = var_4((skey->xtea).A[0x14] ^ var_2 ^ var_6);
  var_3 = var_3 ^ var_5 ^ var_7;
  var_5 = var_4((skey->xtea).A[0x13] ^ var_3);
  var_2 = var_2 ^ var_6 ^ var_5;
  var_5 = var_4((skey->xtea).A[0x12] ^ var_2);
  var_3 = var_3 ^ var_5;
  var_5 = var_4((skey->xtea).A[0x11] ^ var_3);
  var_2 = var_5 ^ var_2;
  var_12 = ((type_4)var_3 | (type_4)(skey->xtea).A[0x1f]) ^ (type_4)(var_3 >> 0x20);
  var_10 = (type_4)((skey->xtea).A[0x1f] >> 0x20) & var_12;
  var_8 = (type_4)(var_2 >> 0x20);
  var_9 = (type_4)((skey->xtea).B[0] >> 0x20) & var_8;
  var_9 = (var_9 << 1 | var_9 >> 0x1f) ^ (type_4)var_2;
  var_2 = var_11(((type_4)(skey->xtea).B[0] | var_9) ^ var_8,var_9);
  var_5 = var_4((skey->xtea).A[0x10] ^ var_2);
  var_13 = var_11(var_12,(var_10 << 1 | var_10 >> 0x1f) ^ (type_4)var_3) ^ var_5;
  var_5 = var_4((skey->xtea).A[0xf] ^ var_13);
  var_2 = var_2 ^ var_5;
  var_5 = var_4((skey->xtea).A[0xe] ^ var_2);
  var_13 = var_13 ^ var_5;
  var_5 = var_4((skey->xtea).A[0xd] ^ var_13);
  var_2 = var_2 ^ var_5;
  var_5 = var_4((skey->xtea).A[0xc] ^ var_2);
  var_13 = var_13 ^ var_5;
  var_5 = var_4((skey->xtea).A[0xb] ^ var_13);
  var_2 = var_5 ^ var_2;
  var_9 = ((type_4)var_13 | (type_4)(skey->xtea).A[0x1d]) ^ (type_4)(var_13 >> 0x20);
  var_10 = (type_4)((skey->xtea).A[0x1d] >> 0x20) & var_9;
  var_8 = (type_4)(var_2 >> 0x20);
  var_12 = (type_4)((skey->xtea).A[0x1e] >> 0x20) & var_8;
  var_12 = (type_4)var_2 ^ (var_12 << 1 | var_12 >> 0x1f);
  var_3 = var_11(((type_4)(skey->xtea).A[0x1e] | var_12) ^ var_8,var_12);
  var_5 = var_4((skey->xtea).A[10] ^ var_3);
  var_2 = var_11(var_9,(var_10 << 1 | var_10 >> 0x1f) ^ (type_4)var_13) ^ var_5;
  var_5 = var_4((skey->xtea).A[9] ^ var_2);
  var_3 = var_3 ^ var_5;
  var_5 = var_4((skey->xtea).A[8] ^ var_3);
  var_2 = var_2 ^ var_5;
  var_5 = var_4((skey->xtea).A[7] ^ var_2);
  var_3 = var_3 ^ var_5;
  var_5 = var_4((skey->xtea).A[6] ^ var_3);
  var_2 = var_2 ^ var_5;
  var_5 = var_4((skey->xtea).A[5] ^ var_2);
  var_2 = var_2 ^ (skey->xtea).A[1];
  var_3 = var_3 ^ var_5 ^ (skey->xtea).A[2];
  *(type_5 *)var_14 = var_2 >> 0x38 | (var_2 & 0xff000000000000) >> 0x28 |
                 (var_2 & 0xff0000000000) >> 0x18 | (var_2 & 0xff00000000) >> 8 |
                 (var_2 & 0xff000000) << 8 | (var_2 & 0xff0000) << 0x18 | (var_2 & 0xff00) << 0x28 |
                 var_2 << 0x38;
  *(type_5 *)(var_14 + 8) =
       var_3 >> 0x38 | (var_3 & 0xff000000000000) >> 0x28 | (var_3 & 0xff0000000000) >> 0x18 |
       (var_3 & 0xff00000000) >> 8 | (var_3 & 0xff000000) << 8 | (var_3 & 0xff0000) << 0x18 |
       (var_3 & 0xff00) << 0x28 | var_3 << 0x38;
  return 0;
}


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

undefined8 MASKED(ulong *param_1,ulong *param_2,int *param_3)

{
  ulong uVar1;
  ulong uVar2;
  ulong uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  ulong uVar7;
  uint uVar8;
  ulong uVar9;
  
  uVar7 = *param_1;
  uVar9 = param_1[1];
  uVar7 = (uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 | (uVar7 & 0xff0000000000) >> 0x18 |
           (uVar7 & 0xff00000000) >> 8 | (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |
           (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38) ^ *(ulong *)(param_3 + 6);
  uVar9 = (uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |
           (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
           (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) ^ *(ulong *)(param_3 + 8);
  if (*param_3 == 0x18) {
    uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x38) ^ uVar7);
    uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x36) ^ uVar9 ^ uVar1);
    uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x34) ^ uVar7 ^ uVar2);
    uVar3 = uVar9 ^ uVar1 ^ uVar3;
    uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x32) ^ uVar3);
    uVar9 = uVar7 ^ uVar2 ^ uVar9;
    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x30) ^ uVar9);
    uVar3 = uVar3 ^ uVar7;
    uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x2e) ^ uVar3);
    uVar9 = uVar9 ^ uVar7;
    uVar8 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x42)) ^ (uint)(uVar3 >> 0x20);
    uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x42) >> 0x20) & uVar8;
    uVar5 = (uint)(uVar9 >> 0x20);
    uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x44) >> 0x20) & uVar5;
    uVar6 = (uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar9;
    uVar9 = CONCAT44(uVar8,(uVar4 << 1 | uVar4 >> 0x1f) ^ (uint)uVar3);
    uVar7 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x44) | uVar6) ^ uVar5,uVar6);
  }
  uVar1 = FUN_001193d0(*(ulong *)(param_3 + 0x2c) ^ uVar7);
  uVar2 = FUN_001193d0(*(ulong *)(param_3 + 0x2a) ^ uVar9 ^ uVar1);
  uVar3 = FUN_001193d0(*(ulong *)(param_3 + 0x28) ^ uVar7 ^ uVar2);
  uVar3 = uVar9 ^ uVar1 ^ uVar3;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x26) ^ uVar3);
  uVar9 = uVar7 ^ uVar2 ^ uVar9;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x24) ^ uVar9);
  uVar3 = uVar3 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x22) ^ uVar3);
  uVar7 = uVar7 ^ uVar9;
  uVar4 = ((uint)uVar3 | (uint)*(undefined8 *)(param_3 + 0x3e)) ^ (uint)(uVar3 >> 0x20);
  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3e) >> 0x20) & uVar4;
  uVar8 = (uint)(uVar7 >> 0x20);
  uVar5 = (uint)((ulong)*(undefined8 *)(param_3 + 0x40) >> 0x20) & uVar8;
  uVar5 = (uVar5 << 1 | uVar5 >> 0x1f) ^ (uint)uVar7;
  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x40) | uVar5) ^ uVar8,uVar5);
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x20) ^ uVar1);
  uVar7 = CONCAT44(uVar4,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar3) ^ uVar7;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1e) ^ uVar7);
  uVar1 = uVar1 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1c) ^ uVar1);
  uVar7 = uVar7 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x1a) ^ uVar7);
  uVar1 = uVar1 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x18) ^ uVar1);
  uVar7 = uVar7 ^ uVar9;
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x16) ^ uVar7);
  uVar9 = uVar9 ^ uVar1;
  uVar5 = ((uint)uVar7 | (uint)*(undefined8 *)(param_3 + 0x3a)) ^ (uint)(uVar7 >> 0x20);
  uVar6 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3a) >> 0x20) & uVar5;
  uVar8 = (uint)(uVar9 >> 0x20);
  uVar4 = (uint)((ulong)*(undefined8 *)(param_3 + 0x3c) >> 0x20) & uVar8;
  uVar4 = (uint)uVar9 ^ (uVar4 << 1 | uVar4 >> 0x1f);
  uVar1 = CONCAT44(((uint)*(undefined8 *)(param_3 + 0x3c) | uVar4) ^ uVar8,uVar4);
  uVar9 = FUN_001193d0(*(ulong *)(param_3 + 0x14) ^ uVar1);
  uVar9 = CONCAT44(uVar5,(uVar6 << 1 | uVar6 >> 0x1f) ^ (uint)uVar7) ^ uVar9;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x12) ^ uVar9);
  uVar1 = uVar1 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0x10) ^ uVar1);
  uVar9 = uVar9 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xe) ^ uVar9);
  uVar1 = uVar1 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 0xc) ^ uVar1);
  uVar9 = uVar9 ^ uVar7;
  uVar7 = FUN_001193d0(*(ulong *)(param_3 + 10) ^ uVar9);
  uVar9 = uVar9 ^ *(ulong *)(param_3 + 2);
  uVar1 = uVar1 ^ uVar7 ^ *(ulong *)(param_3 + 4);
  *param_2 = uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 | (uVar9 & 0xff0000000000) >> 0x18 |
             (uVar9 & 0xff00000000) >> 8 | (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
             (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38;
  param_2[1] = uVar1 >> 0x38 | (uVar1 & 0xff000000000000) >> 0x28 | (uVar1 & 0xff0000000000) >> 0x18
               | (uVar1 & 0xff00000000) >> 8 | (uVar1 & 0xff000000) << 8 |
               (uVar1 & 0xff0000) << 0x18 | (uVar1 & 0xff00) << 0x28 | uVar1 << 0x38;
  return 0;
}

