
void gcm_gf_mult(uchar *a,uchar *b,uchar *c)

{
  byte bVar1;
  byte bVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  byte bVar6;
  byte bVar7;
  byte bVar8;
  byte bVar9;
  byte bVar10;
  byte bVar11;
  byte bVar12;
  byte bVar13;
  byte bVar14;
  byte bVar15;
  long lVar16;
  ulong uVar17;
  ushort uVar18;
  ulong uVar19;
  ulong uVar20;
  byte bVar21;
  byte bVar22;
  byte bVar23;
  ulong uVar24;
  byte bVar25;
  byte bVar26;
  uint uVar27;
  uint uVar28;
  ulong uVar29;
  uint uVar30;
  uint uVar31;
  uint uVar32;
  int iVar33;
  long in_FS_OFFSET;
  LTC_FAST_TYPE pB [2];
  LTC_FAST_TYPE tmp [4];
  LTC_FAST_TYPE B [16] [3];
  uchar pTmp [32];
  
  lVar16 = *(long *)(in_FS_OFFSET + 0x28);
  zeromem(B,0x18);
  zeromem(B + 8,0x18);
  uVar24 = *(ulong *)a;
  uVar29 = *(ulong *)(a + 8);
  uVar19 = *(ulong *)b;
  uVar20 = *(ulong *)(b + 8);
  uVar17 = uVar24 >> 0x38;
  B[8][0] = uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |
            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18
            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38;
  uVar24 = uVar29 >> 0x38;
  B[8][1] = uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |
            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18
            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38;
  B[4][0] = B[8][0] >> 1;
  B[2][0] = B[8][0] >> 2;
  B[4][1] = uVar17 << 0x3f | B[8][1] >> 1;
  B[2][1] = uVar17 << 0x3e | B[8][1] >> 2;
  B[1][1] = uVar17 << 0x3d | B[8][1] >> 3;
  B[1][0] = B[8][0] >> 3;
  B[2][2] = uVar24 << 0x3e | B[8][2] >> 2;
  B[4][2] = uVar24 << 0x3f | B[8][2] >> 1;
  B[0xc][2] = B[8][2] ^ B[4][2];
  B[10][2] = B[8][2] ^ B[2][2];
  B[0xc][0] = B[4][0] ^ B[8][0];
  B[0xc][1] = B[4][1] ^ B[8][1];
  iVar33 = 0xf;
  B[6][2] = B[4][2] ^ B[2][2];
  B[6][0] = B[2][0] ^ B[4][0];
  B[6][1] = B[2][1] ^ B[4][1];
  B[0xe][0] = B[2][0] ^ B[0xc][0];
  B[0xe][1] = B[2][1] ^ B[0xc][1];
  B[10][0] = B[2][0] ^ B[8][0];
  B[10][1] = B[2][1] ^ B[8][1];
  B[1][2] = uVar24 << 0x3d | B[8][2] >> 3;
  B[3][0] = B[2][0] ^ B[1][0];
  B[3][1] = B[2][1] ^ B[1][1];
  B[3][2] = B[2][2] ^ B[1][2];
  B[9][2] = B[8][2] ^ B[1][2];
  B[9][0] = B[1][0] ^ B[8][0];
  B[9][1] = B[1][1] ^ B[8][1];
  B[5][0] = B[4][0] ^ B[1][0];
  B[5][1] = B[4][1] ^ B[1][1];
  B[0xd][0] = B[0xc][0] ^ B[1][0];
  B[0xd][1] = B[0xc][1] ^ B[1][1];
  B[7][0] = B[6][0] ^ B[1][0];
  B[7][1] = B[6][1] ^ B[1][1];
  B[0xb][0] = B[8][0] ^ B[3][0];
  B[0xb][1] = B[8][1] ^ B[3][1];
  B[5][2] = B[4][2] ^ B[1][2];
  B[0xe][2] = B[2][2] ^ B[0xc][2];
  B[0xf][0] = B[1][0] ^ B[0xe][0];
  B[0xf][1] = B[1][1] ^ B[0xe][1];
  B[0xd][2] = B[0xc][2] ^ B[1][2];
  B[0xb][2] = B[8][2] ^ B[3][2];
  B[7][2] = B[6][2] ^ B[1][2];
  B[0xf][2] = B[0xe][2] ^ B[1][2];
  zeromem(tmp,0x20);
  while( true ) {
    bVar25 = (char)iVar33 * '\x04' ^ 4;
    uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;
    uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;
    tmp[0] = tmp[0] ^ B[uVar28][0];
    tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];
    tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];
    tmp[3] = tmp[3] ^ B[uVar27][2];
    if (iVar33 == 0) break;
    uVar29 = tmp[1] << 0x3c;
    iVar33 = iVar33 + -1;
    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;
    uVar24 = tmp[2] << 0x3c;
    tmp[0] = tmp[0] >> 4;
    tmp[2] = tmp[2] >> 4 | uVar29;
    tmp[3] = tmp[3] >> 4 | uVar24;
  }
  bVar23 = (byte)(tmp[2] >> 0x30);
  uVar31 = (uint)(tmp[2] >> 0x20);
  bVar22 = (byte)(tmp[2] >> 0x18);
  bVar15 = (byte)(tmp[2] >> 0x10);
  bVar21 = (byte)(tmp[2] >> 8);
  bVar11 = (byte)(tmp[3] >> 0x30);
  uVar30 = (uint)(tmp[3] >> 0x20);
  uVar28 = (uint)(tmp[3] >> 8) & 0xff00;
  uVar18 = (ushort)(tmp[3] >> 8) & 0xff;
  uVar27 = (uint)(byte)tmp[3] * 2;
  bVar25 = PTR_gcm_shift_table_001ecfc8[uVar27];
  bVar26 = (byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar27 = (uint)uVar18 + (uint)uVar18;
  bVar1 = PTR_gcm_shift_table_001ecfc8[uVar27];
  bVar2 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar27 = (uVar28 >> 8) + (uVar28 >> 8);
  bVar3 = PTR_gcm_shift_table_001ecfc8[uVar27];
  bVar4 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar27 = ((uint)(tmp[3] >> 0x18) & 0xff) * 2;
  bVar5 = PTR_gcm_shift_table_001ecfc8[uVar27];
  bVar6 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar27 = (uVar30 & 0xff) * 2;
  bVar7 = PTR_gcm_shift_table_001ecfc8[uVar27];
  bVar8 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  bVar9 = (byte)(tmp[3] >> 0x38);
  uVar28 = (uint)bVar9 + (uint)bVar9;
  uVar27 = (uVar30 & 0xff00) >> 7;
  bVar9 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  bVar10 = PTR_gcm_shift_table_001ecfc8[uVar27];
  uVar27 = (uint)bVar11 + (uint)bVar11;
  bVar11 = PTR_gcm_shift_table_001ecfc8[uVar27];
  bVar12 = PTR_gcm_shift_table_001ecfc8[uVar28];
  bVar13 = PTR_gcm_shift_table_001ecfc8[uVar28 + 1];
  bVar14 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar30 = (uint)bVar15 + (uint)bVar15;
  uVar27 = (uint)(byte)tmp[2] * 2;
  bVar15 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar32 = (uint)bVar21 + (uint)bVar21;
  uVar28 = (uVar31 & 0xff00) >> 7;
  pTmp[7] = (byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^
            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];
  pTmp[6] = (byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^
            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];
  uVar27 = (uVar31 & 0xff) * 2;
  uVar32 = (uint)bVar22 + (uint)bVar22;
  uVar31 = (uint)bVar23 + (uint)bVar23;
  pTmp[5] = (byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^
            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];
  pTmp[4] = (byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^
            PTR_gcm_shift_table_001ecfc8[uVar27 + 1];
  uVar30 = (uint)bVar26 + (uint)bVar26;
  pTmp[3] = (byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^
            PTR_gcm_shift_table_001ecfc8[uVar28 + 1];
  pTmp[0] = (uchar)(tmp[0] >> 0x38);
  pTmp[2] = (byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^
            PTR_gcm_shift_table_001ecfc8[uVar31 + 1];
  pTmp[1] = (byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^
            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];
  pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30];
  *(undefined8 *)c = pTmp._0_8_;
  *(ulong *)(c + 8) =
       CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,
                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,
                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,
                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,
                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,
                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^
                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)
                                                                             ^ bVar11 ^ bVar13,
                                                                             (byte)(tmp[1] >> 0x38)
                                                                             ^ bVar12 ^ bVar15))))))
               );
  if (lVar16 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



void gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)

{
  ulong uVar1;
  ushort uVar2;
  ulong uVar3;
  ulong uVar4;
  ulong uVar5;
  byte bVar6;
  byte bVar7;
  byte bVar8;
  uint uVar9;
  ulong uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  long in_FS_OFFSET;
  byte local_258;
  byte local_248;
  byte local_238;
  ulong local_208;
  ulong uStack_200;
  ulong local_1f8;
  ulong uStack_1f0;
  ulong local_1e8 [4];
  ulong uStack_1c8;
  ulong local_1c0;
  ulong local_1b8;
  ulong uStack_1b0;
  ulong local_1a8;
  ulong local_1a0;
  ulong uStack_198;
  ulong local_190;
  ulong local_188;
  ulong uStack_180;
  ulong local_178;
  ulong local_170;
  ulong uStack_168;
  ulong local_160;
  ulong local_158;
  ulong uStack_150;
  ulong local_148;
  ulong local_140;
  ulong uStack_138;
  ulong local_130;
  ulong local_128;
  ulong uStack_120;
  ulong local_118;
  ulong local_110;
  ulong uStack_108;
  ulong local_100;
  ulong local_f8;
  ulong uStack_f0;
  ulong local_e8;
  ulong local_e0;
  ulong uStack_d8;
  ulong local_d0;
  ulong local_c8;
  ulong uStack_c0;
  ulong local_b8;
  ulong local_b0;
  ulong uStack_a8;
  ulong local_a0;
  ulong local_98;
  ulong uStack_90;
  ulong local_88;
  ulong local_80;
  ulong uStack_78;
  ulong local_70;
  undefined8 local_68;
  byte bStack_60;
  byte bStack_5f;
  byte bStack_5e;
  byte bStack_5d;
  byte bStack_5c;
  byte bStack_5b;
  byte bStack_5a;
  byte bStack_59;
  ulong local_58;
  ulong local_50;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  zeromem(local_1e8,0x18);
  zeromem(&local_128,0x18);
  uVar5 = *param_1;
  uVar10 = param_1[1];
  uVar3 = *param_2;
  uVar4 = param_2[1];
  uVar1 = uVar5 >> 0x38;
  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |
              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |
              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;
  uVar5 = uVar10 >> 0x38;
  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |
               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |
               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
  local_188 = local_128 >> 1;
  local_1b8 = local_128 >> 2;
  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;
  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;
  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;
  local_1e8[3] = local_128 >> 3;
  local_1a8 = uVar5 << 0x3e | local_118 >> 2;
  local_178 = uVar5 << 0x3f | local_118 >> 1;
  local_b8 = local_118 ^ local_178;
  local_e8 = local_118 ^ local_1a8;
  local_c8 = local_188 ^ local_128;
  uStack_c0 = uStack_180 ^ uStack_120;
  iVar15 = 0xf;
  local_148 = local_178 ^ local_1a8;
  local_158 = local_1b8 ^ local_188;
  uStack_150 = uStack_1b0 ^ uStack_180;
  local_98 = local_1b8 ^ local_c8;
  uStack_90 = uStack_1b0 ^ uStack_c0;
  local_f8 = local_1b8 ^ local_128;
  uStack_f0 = uStack_1b0 ^ uStack_120;
  local_1c0 = uVar5 << 0x3d | local_118 >> 3;
  local_1a0 = local_1b8 ^ local_1e8[3];
  uStack_198 = uStack_1b0 ^ uStack_1c8;
  local_190 = local_1a8 ^ local_1c0;
  local_100 = local_118 ^ local_1c0;
  local_110 = local_1e8[3] ^ local_128;
  uStack_108 = uStack_1c8 ^ uStack_120;
  local_170 = local_188 ^ local_1e8[3];
  uStack_168 = uStack_180 ^ uStack_1c8;
  local_b0 = local_c8 ^ local_1e8[3];
  uStack_a8 = uStack_c0 ^ uStack_1c8;
  local_140 = local_158 ^ local_1e8[3];
  uStack_138 = uStack_150 ^ uStack_1c8;
  local_e0 = local_128 ^ local_1a0;
  uStack_d8 = uStack_120 ^ uStack_198;
  local_160 = local_178 ^ local_1c0;
  local_88 = local_1a8 ^ local_b8;
  local_80 = local_1e8[3] ^ local_98;
  uStack_78 = uStack_1c8 ^ uStack_90;
  local_a0 = local_b8 ^ local_1c0;
  local_d0 = local_118 ^ local_190;
  local_130 = local_148 ^ local_1c0;
  local_70 = local_88 ^ local_1c0;
  zeromem(&local_208,0x20);
  while( true ) {
    bVar6 = (char)iVar15 * '\x04' ^ 4;
    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);
    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);
    local_208 = local_208 ^ local_1e8[uVar10 * 3];
    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;
    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;
    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];
    if (iVar15 == 0) break;
    uVar10 = uStack_200 << 0x3c;
    iVar15 = iVar15 + -1;
    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;
    uVar5 = local_1f8 << 0x3c;
    local_208 = local_208 >> 4;
    local_1f8 = local_1f8 >> 4 | uVar10;
    uStack_1f0 = uStack_1f0 >> 4 | uVar5;
  }
  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |
             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |
             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |
             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;
  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |
          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;
  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |
             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;
  uVar9 = (uint)(byte)uStack_1f0 * 2;
  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);
  uVar14 = (uint)uVar2 + (uint)uVar2;
  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^
              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];
  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);
  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);
  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^
              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];
  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;
  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);
  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^
              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;
  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);
  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^
              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];
  bVar6 = (byte)(uStack_1f0 >> 0x38);
  uVar14 = (uint)bVar6 + (uint)bVar6;
  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;
  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^
              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  uVar11 = (uint)bVar8 + (uint)bVar8;
  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^
              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];
  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^
              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];
  uVar9 = (uint)(byte)local_1f8 * 2;
  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^
              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  local_258 = (byte)((local_1f8 & 0xff00) >> 8);
  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);
  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;
  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);
  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;
  uVar12 = (uint)bVar6 + (uint)bVar6;
  uVar13 = (uint)bVar7 + (uint)bVar7;
  local_68._0_1_ = (byte)(local_208 >> 0x38);
  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];
  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^
                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_258 + (uint)local_258 + 1],
                                                          (byte)(local_208 >> 8) ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_258 + (uint)local_258] ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_248 + (uint)local_248 + 1]),
                                                 CONCAT11((byte)(local_208 >> 0x10) ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_248 + (uint)local_248] ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_238 + (uint)local_238 + 1],
                                                          (byte)(local_208 >> 0x18) ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_238 + (uint)local_238] ^
                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))
                                        ,(byte)(local_208 >> 0x20) ^
                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^
                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),
                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^
                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),
                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^
                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));
  *param_3 = local_68;
  param_3[1] = CONCAT17(bStack_59,
                        CONCAT16(bStack_5a,
                                 CONCAT15(bStack_5b,
                                          CONCAT14(bStack_5c,
                                                   CONCAT13(bStack_5d,
                                                            CONCAT12(bStack_5e,
                                                                     CONCAT11(bStack_5f,bStack_60)))
                                                  ))));
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
MOV R12,RSI
MOV ESI,0x18
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0x248
MOV qword ptr [RSP + 0x58],RDX
LEA RBX,[RSP + 0x90]
MOV RDI,RBX
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x238],RAX
XOR EAX,EAX
CALL 0x00114e10
LEA RDI,[RBX + 0xc0]
MOV ESI,0x18
CALL 0x00114e10
MOV RAX,qword ptr [RBP]
MOV RDX,qword ptr [RBP + 0x8]
MOV RBP,qword ptr [RSP + 0x160]
MOVDQU XMM6,xmmword ptr [R12]
BSWAP RAX
BSWAP RDX
MOV qword ptr [RSP + 0x8],RAX
MOVQ XMM0,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x8],RDX
MOV RBX,RBP
MOV RDX,RBP
SHR RDX,0x2
SHR RBX,0x1
MOVAPS xmmword ptr [RSP + 0x60],XMM6
MOVHPS XMM0,qword ptr [RSP + 0x8]
MOVQ R9,XMM0
MOVQ R13,XMM0
MOVQ RDI,XMM0
MOVAPS xmmword ptr [RSP + 0x150],XMM0
MOV R10,qword ptr [RSP + 0x158]
MOVQ RCX,XMM0
MOVQ RSI,XMM0
SHL R9,0x3f
SHL R13,0x3e
SHR RCX,0x1
MOVQ R8,XMM0
MOV R11,R10
MOV R14,R10
MOV R15,R10
SHR RSI,0x2
SHR R11,0x1
SHR R14,0x2
MOV R12,R10
MOV RAX,R10
SHR R15,0x3
OR R9,R11
OR R13,R14
SHL RDI,0x3d
OR RDI,R15
MOV qword ptr [RSP + 0xf0],RCX
SHR R8,0x3
MOV RCX,RBP
MOV qword ptr [RSP + 0xc0],RSI
SHL R12,0x3f
SHL RAX,0x3e
MOV RSI,RBP
MOV qword ptr [RSP + 0xf8],R9
OR RAX,RDX
OR R12,RBX
MOVDQA XMM4,xmmword ptr [RSP + 0xf0]
SHL R10,0x3d
XOR RSI,R12
MOV R9,RBP
MOV R11,RAX
MOV qword ptr [RSP + 0xc8],R13
MOVDQA XMM3,XMM4
XOR RCX,RAX
MOVDQA XMM2,xmmword ptr [RSP + 0xc0]
MOV qword ptr [RSP + 0xa8],R8
PXOR XMM3,XMM0
MOV R8,R12
MOV R15D,0xf
MOVDQA XMM5,XMM2
MOVDQA XMM9,XMM2
MOVDQA XMM1,XMM2
XOR R8,RAX
MOV qword ptr [RSP + 0xb0],RDI
MOV RDI,RBP
PXOR XMM5,XMM4
PXOR XMM2,XMM3
SHR RDI,0x3
PXOR XMM1,XMM0
MOVDQU XMM7,xmmword ptr [RSP + 0xa8]
MOVAPS xmmword ptr [RSP + 0x1b0],XMM3
OR R10,RDI
MOVAPS xmmword ptr [RSP + 0x120],XMM5
LEA RDI,[RSP + 0x70]
PXOR XMM9,XMM7
MOVDQA XMM8,XMM7
XOR R11,R10
XOR R9,R10
PXOR XMM8,XMM0
PXOR XMM4,XMM7
PXOR XMM3,XMM7
MOV qword ptr [RSP + 0xb8],R10
PXOR XMM5,XMM7
PXOR XMM0,XMM9
MOV qword ptr [RSP + 0x100],R12
XOR R12,R10
MOV qword ptr [RSP + 0xd0],RAX
XOR RAX,RSI
PXOR XMM7,XMM2
MOVAPS xmmword ptr [RSP + 0x180],XMM1
MOVUPS xmmword ptr [RSP + 0x168],XMM8
MOVUPS xmmword ptr [RSP + 0x108],XMM4
MOVUPS xmmword ptr [RSP + 0xd8],XMM9
MOVAPS xmmword ptr [RSP + 0x1e0],XMM2
MOVUPS xmmword ptr [RSP + 0x1c8],XMM3
MOVUPS xmmword ptr [RSP + 0x198],XMM0
MOVUPS xmmword ptr [RSP + 0x138],XMM5
MOV qword ptr [RSP + 0x1c0],RSI
XOR RSI,R10
XOR RBP,R11
MOV qword ptr [RSP + 0x130],R8
XOR R8,R10
MOV qword ptr [RSP + 0x1f0],RAX
XOR RAX,R10
MOV qword ptr [RSP + 0x1d8],RSI
MOV ESI,0x20
MOV qword ptr [RSP + 0x178],R9
MOV qword ptr [RSP + 0xe8],R11
MOVUPS xmmword ptr [RSP + 0x1f8],XMM7
MOV qword ptr [RSP + 0x190],RCX
MOV qword ptr [RSP + 0x118],R12
MOV qword ptr [RSP + 0x1a8],RBP
MOV qword ptr [RSP + 0x148],R8
MOV qword ptr [RSP + 0x208],RAX
CALL 0x00114e10
MOV R13,qword ptr [RSP + 0x60]
MOV R10,qword ptr [RSP + 0x68]
MOV RDI,qword ptr [RSP + 0x70]
MOV R9,qword ptr [RSP + 0x78]
MOV R11,qword ptr [RSP + 0x80]
MOV R14,qword ptr [RSP + 0x88]
NOP
LEA ECX,[R15*0x4]
MOV RBP,R13
MOV RBX,R10
XOR ECX,0x4
SHR RBP,CL
SHR RBX,CL
AND EBP,0xf
AND EBX,0xf
LEA R12,[RBP + RBP*0x2]
SHL R12,0x3
XOR RDI,qword ptr [RSP + R12*0x1 + 0x90]
MOV RSI,qword ptr [RSP + R12*0x1 + 0x98]
MOV RDX,RDI
LEA RDI,[RBX + RBX*0x2]
MOV RAX,qword ptr [RSP + R12*0x1 + 0xa0]
SHL RDI,0x3
XOR RSI,qword ptr [RSP + RDI*0x1 + 0x90]
XOR RAX,qword ptr [RSP + RDI*0x1 + 0x98]
XOR RSI,R9
XOR RAX,R11
XOR R14,qword ptr [RSP + RDI*0x1 + 0xa0]
TEST R15D,R15D
JNZ 0x0013c5a0
MOV qword ptr [RSP + 0x8],RDX
MOVQ XMM10,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x8],RSI
MOVHPS XMM10,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x8],RAX
MOVQ XMM11,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x8],R14
MOVQ RCX,XMM10
MOV RAX,qword ptr [0x001ecfc8]
BSWAP RCX
MOV R10D,ECX
MOV R9,RCX
MOV R14D,ECX
SHR R10D,0x18
MOVAPS xmmword ptr [RSP + 0x70],XMM10
MOV R13,RCX
MOV R11,RCX
MOVHPS XMM11,qword ptr [RSP + 0x8]
MOV RSI,qword ptr [RSP + 0x78]
MOV dword ptr [RSP + 0x50],R10D
SHR R9,0x30
MOVQ R8,XMM11
MOV qword ptr [RSP + 0x28],R9
SHR R14D,0x10
BSWAP R8
MOV RDX,R8
BSWAP RSI
MOV R15D,ESI
MOV RBX,RDX
SHR R15D,0x10
MOV RDI,RDX
MOV qword ptr [RSP + 0x10],RDX
SHR RBX,0x28
MOV dword ptr [RSP + 0x1c],R15D
SHR R8,0x30
MOV R12,RSI
MOV qword ptr [RSP + 0x30],RBX
SHR R13,0x20
SHR RDI,0x20
MOV RBP,RSI
MOV qword ptr [RSP + 0x220],RDX
SHR R11,0x28
SHR R12,0x28
MOVAPS xmmword ptr [RSP + 0x80],XMM11
MOV RBX,qword ptr [RSP + 0x88]
SHR RBP,0x20
MOV dword ptr [RSP + 0x54],R14D
MOV R14,RSI
BSWAP RBX
MOV R10,RBX
MOV R9,RBX
MOV qword ptr [RSP + 0x20],R8
SHR R10,0x38
SHR R9,0x30
MOV R8,RBX
MOV qword ptr [RSP + 0x48],R13
ADD R10D,R10D
SHR R8,0x28
MOV R13,RSI
MOV qword ptr [RSP + 0x40],RDI
LEA R15D,[R10 + 0x1]
SHR R14,0x38
XOR R14B,byte ptr [RAX + R10*0x1]
MOV RDI,RBX
XOR DL,byte ptr [RAX + R15*0x1]
SHR RDI,0x20
MOV qword ptr [RSP + 0x38],R11
MOV R11D,ESI
MOV byte ptr [RSP + 0x8],DL
MOVZX EDX,R9B
SHR R13,0x30
LEA R15D,[RDX + RDX*0x1]
MOV qword ptr [RSP + 0x210],RCX
SHR R11D,0x18
MOV R9,R15
XOR R13B,byte ptr [RAX + R15*0x1]
MOV qword ptr [RSP + 0x228],RBX
ADD R9D,0x1
XOR R14B,byte ptr [RAX + R9*0x1]
MOV byte ptr [RSP + 0x21f],R14B
MOVZX R14D,R8B
LEA R10D,[R14 + R14*0x1]
MOV R8,R10
XOR R12B,byte ptr [RAX + R10*0x1]
ADD R8D,0x1
XOR R13B,byte ptr [RAX + R8*0x1]
MOVZX R8D,byte ptr [RSP + 0x1c]
MOV byte ptr [RSP + 0x21e],R13B
MOVZX R13D,DIL
LEA EDX,[R13 + R13*0x1]
MOV RDI,RDX
XOR BPL,byte ptr [RAX + RDX*0x1]
MOVZX EDX,BH
ADD EDI,0x1
XOR R12B,byte ptr [RAX + RDI*0x1]
MOV byte ptr [RSP + 0x21d],R12B
MOV R12D,EBX
SHR R12D,0x18
LEA R15D,[R12 + R12*0x1]
MOV R9,R15
XOR R11B,byte ptr [RAX + R15*0x1]
MOVZX R15D,byte ptr [RSP + 0x30]
ADD R9D,0x1
XOR BPL,byte ptr [RAX + R9*0x1]
MOV byte ptr [RSP + 0x21c],BPL
MOV EBP,EBX
MOVZX EBX,BL
SHR EBP,0xf
LEA R12D,[RBX + RBX*0x1]
AND EBP,0x1fe
LEA R9D,[R12 + 0x1]
MOV R10D,EBP
ADD EBP,0x1
XOR R11B,byte ptr [RAX + RBP*0x1]
XOR R8B,byte ptr [RAX + R10*0x1]
MOV byte ptr [RSP + 0x21b],R11B
LEA R11D,[RDX + RDX*0x1]
MOV RDX,RSI
MOV R14D,R8D
MOVZX EDI,DH
MOV RDX,qword ptr [RSP + 0x10]
XOR DIL,byte ptr [RAX + R11*0x1]
MOV R13,R11
XOR SIL,byte ptr [RAX + R12*0x1]
ADD R13D,0x1
XOR DIL,byte ptr [RAX + R9*0x1]
MOV R8,RDX
XOR R14B,byte ptr [RAX + R13*0x1]
LEA R9D,[R15 + R15*0x1]
MOV byte ptr [RSP + 0x219],DIL
SHR R8,0x38
MOV RDI,RCX
MOV RBP,R9
MOV byte ptr [RSP + 0x21a],R14B
LEA R10D,[R8 + R8*0x1]
SHR RDI,0x38
ADD EBP,0x1
MOVZX ECX,CH
MOV R11,R10
MOVZX R8D,byte ptr [RSP + 0x28]
MOV R14,RDI
XOR R14B,byte ptr [RAX + R10*0x1]
ADD R11D,0x1
MOVZX EDI,byte ptr [RSP + 0x38]
XOR DIL,byte ptr [RAX + R9*0x1]
XOR SIL,byte ptr [RAX + R11*0x1]
MOV byte ptr [RSP + 0x218],SIL
MOVZX ESI,byte ptr [RSP + 0x20]
LEA R13D,[RSI + RSI*0x1]
MOV ESI,EDX
MOV RBX,R13
XOR R8B,byte ptr [RAX + R13*0x1]
SHR ESI,0x18
ADD EBX,0x1
MOV R12D,R8D
XOR R12B,byte ptr [RAX + RBP*0x1]
MOV EBP,EDX
XOR R14B,byte ptr [RAX + RBX*0x1]
MOV EBX,EDI
SHR EBP,0xf
MOVZX EDX,DH
MOV byte ptr [RSP + 0x217],R14B
AND EBP,0x1fe
MOV byte ptr [RSP + 0x216],R12B
MOVZX R10D,byte ptr [RSP + 0x40]
LEA R12D,[RSI + RSI*0x1]
MOV EDI,EBP
MOV R15,R12
MOVZX R13D,byte ptr [RSP + 0x48]
MOVZX R9D,byte ptr [RSP + 0x50]
LEA R11D,[R10 + R10*0x1]
ADD R15D,0x1
LEA R10D,[RDX + RDX*0x1]
XOR R9B,byte ptr [RAX + R12*0x1]
MOV R14,R11
XOR R13B,byte ptr [RAX + R11*0x1]
XOR R13B,byte ptr [RAX + R15*0x1]
MOV R11,R10
ADD R14D,0x1
MOV byte ptr [RSP + 0x214],R13B
XOR BL,byte ptr [RAX + R14*0x1]
MOVZX R14D,byte ptr [RSP + 0x8]
MOV byte ptr [RSP + 0x215],BL
MOVZX EBX,byte ptr [RSP + 0x54]
LEA R13D,[R14 + R14*0x1]
XOR BL,byte ptr [RAX + RDI*0x1]
ADD EBP,0x1
ADD R11D,0x1
MOV R8,R13
XOR R9B,byte ptr [RAX + RBP*0x1]
XOR CL,byte ptr [RAX + R10*0x1]
ADD R8D,0x1
XOR BL,byte ptr [RAX + R11*0x1]
MOVZX ESI,byte ptr [RAX + R13*0x1]
MOV byte ptr [RSP + 0x213],R9B
XOR CL,byte ptr [RAX + R8*0x1]
XOR byte ptr [RSP + 0x210],SIL
MOV byte ptr [RSP + 0x212],BL
MOV RAX,qword ptr [RSP + 0x58]
MOV byte ptr [RSP + 0x211],CL
MOVDQA XMM12,xmmword ptr [RSP + 0x210]
MOVUPS xmmword ptr [RAX],XMM12
MOV RAX,qword ptr [RSP + 0x238]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x0013c5d7
ADD RSP,0x248
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV R9,RSI
MOV R11,RAX
MOV RDI,RDX
SHL RSI,0x3c
SHR R9,0x4
SHL RDX,0x3c
SUB R15D,0x1
SHR R11,0x4
SHR R14,0x4
OR R9,RDX
SHL RAX,0x3c
SHR RDI,0x4
OR R11,RSI
OR R14,RAX
JMP 0x0013c190
CALL 0x00113880
(translation_unit "void gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)\n\n{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "void gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)\n\n{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)" identifier (parameter_list "(ulong *param_1,ulong *param_2,undefined8 *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 "undefined8 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte local_258;" type_identifier identifier ;) (declaration "byte local_248;" type_identifier identifier ;) (declaration "byte local_238;" type_identifier identifier ;) (declaration "ulong local_208;" type_identifier identifier ;) (declaration "ulong uStack_200;" type_identifier identifier ;) (declaration "ulong local_1f8;" type_identifier identifier ;) (declaration "ulong uStack_1f0;" type_identifier identifier ;) (declaration "ulong local_1e8 [4];" type_identifier (array_declarator "local_1e8 [4]" identifier [ number_literal ]) ;) (declaration "ulong uStack_1c8;" type_identifier identifier ;) (declaration "ulong local_1c0;" type_identifier identifier ;) (declaration "ulong local_1b8;" type_identifier identifier ;) (declaration "ulong uStack_1b0;" type_identifier identifier ;) (declaration "ulong local_1a8;" type_identifier identifier ;) (declaration "ulong local_1a0;" type_identifier identifier ;) (declaration "ulong uStack_198;" type_identifier identifier ;) (declaration "ulong local_190;" type_identifier identifier ;) (declaration "ulong local_188;" type_identifier identifier ;) (declaration "ulong uStack_180;" type_identifier identifier ;) (declaration "ulong local_178;" type_identifier identifier ;) (declaration "ulong local_170;" type_identifier identifier ;) (declaration "ulong uStack_168;" type_identifier identifier ;) (declaration "ulong local_160;" type_identifier identifier ;) (declaration "ulong local_158;" type_identifier identifier ;) (declaration "ulong uStack_150;" type_identifier identifier ;) (declaration "ulong local_148;" type_identifier identifier ;) (declaration "ulong local_140;" type_identifier identifier ;) (declaration "ulong uStack_138;" type_identifier identifier ;) (declaration "ulong local_130;" type_identifier identifier ;) (declaration "ulong local_128;" type_identifier identifier ;) (declaration "ulong uStack_120;" type_identifier identifier ;) (declaration "ulong local_118;" type_identifier identifier ;) (declaration "ulong local_110;" type_identifier identifier ;) (declaration "ulong uStack_108;" type_identifier identifier ;) (declaration "ulong local_100;" type_identifier identifier ;) (declaration "ulong local_f8;" type_identifier identifier ;) (declaration "ulong uStack_f0;" type_identifier identifier ;) (declaration "ulong local_e8;" type_identifier identifier ;) (declaration "ulong local_e0;" type_identifier identifier ;) (declaration "ulong uStack_d8;" type_identifier identifier ;) (declaration "ulong local_d0;" type_identifier identifier ;) (declaration "ulong local_c8;" type_identifier identifier ;) (declaration "ulong uStack_c0;" type_identifier identifier ;) (declaration "ulong local_b8;" type_identifier identifier ;) (declaration "ulong local_b0;" type_identifier identifier ;) (declaration "ulong uStack_a8;" type_identifier identifier ;) (declaration "ulong local_a0;" type_identifier identifier ;) (declaration "ulong local_98;" type_identifier identifier ;) (declaration "ulong uStack_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "ulong uStack_78;" type_identifier identifier ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "byte bStack_60;" type_identifier identifier ;) (declaration "byte bStack_5f;" type_identifier identifier ;) (declaration "byte bStack_5e;" type_identifier identifier ;) (declaration "byte bStack_5d;" type_identifier identifier ;) (declaration "byte bStack_5c;" type_identifier identifier ;) (declaration "byte bStack_5b;" type_identifier identifier ;) (declaration "byte bStack_5a;" type_identifier identifier ;) (declaration "byte bStack_59;" type_identifier identifier ;) (declaration "ulong local_58;" type_identifier identifier ;) (declaration "ulong local_50;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "zeromem(local_1e8,0x18);" (call_expression "zeromem(local_1e8,0x18)" identifier (argument_list "(local_1e8,0x18)" ( identifier , number_literal ))) ;) (expression_statement "zeromem(&local_128,0x18);" (call_expression "zeromem(&local_128,0x18)" identifier (argument_list "(&local_128,0x18)" ( (pointer_expression "&local_128" & identifier) , number_literal ))) ;) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar10 = param_1[1];" (assignment_expression "uVar10 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar4 = param_2[1];" (assignment_expression "uVar4 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = uVar5 >> 0x38;" (assignment_expression "uVar1 = uVar5 >> 0x38" identifier = (binary_expression "uVar5 >> 0x38" identifier >> number_literal)) ;) (expression_statement "local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;" (assignment_expression "local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38" identifier = (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28" identifier | (binary_expression "(uVar5 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar5 & 0xff000000000000)" ( (binary_expression "uVar5 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar5 & 0xff0000000000)" ( (binary_expression "uVar5 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff00000000) >> 8" (parenthesized_expression "(uVar5 & 0xff00000000)" ( (binary_expression "uVar5 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff000000) << 8" (parenthesized_expression "(uVar5 & 0xff000000)" ( (binary_expression "uVar5 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar5 & 0xff0000) << 0x18" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar5 & 0xff00) << 0x28" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar5 = uVar10 >> 0x38;" (assignment_expression "uVar5 = uVar10 >> 0x38" identifier = (binary_expression "uVar10 >> 0x38" identifier >> number_literal)) ;) (expression_statement "uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28" identifier | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "local_188 = local_128 >> 1;" (assignment_expression "local_188 = local_128 >> 1" identifier = (binary_expression "local_128 >> 1" identifier >> number_literal)) ;) (expression_statement "local_1b8 = local_128 >> 2;" (assignment_expression "local_1b8 = local_128 >> 2" identifier = (binary_expression "local_128 >> 2" identifier >> number_literal)) ;) (expression_statement "uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;" (assignment_expression "uStack_180 = uVar1 << 0x3f | uStack_120 >> 1" identifier = (binary_expression "uVar1 << 0x3f | uStack_120 >> 1" (binary_expression "uVar1 << 0x3f" identifier << number_literal) | (binary_expression "uStack_120 >> 1" identifier >> number_literal))) ;) (expression_statement "uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;" (assignment_expression "uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2" identifier = (binary_expression "uVar1 << 0x3e | uStack_120 >> 2" (binary_expression "uVar1 << 0x3e" identifier << number_literal) | (binary_expression "uStack_120 >> 2" identifier >> number_literal))) ;) (expression_statement "uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;" (assignment_expression "uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3" identifier = (binary_expression "uVar1 << 0x3d | uStack_120 >> 3" (binary_expression "uVar1 << 0x3d" identifier << number_literal) | (binary_expression "uStack_120 >> 3" identifier >> number_literal))) ;) (expression_statement "local_1e8[3] = local_128 >> 3;" (assignment_expression "local_1e8[3] = local_128 >> 3" (subscript_expression "local_1e8[3]" identifier [ number_literal ]) = (binary_expression "local_128 >> 3" identifier >> number_literal)) ;) (expression_statement "local_1a8 = uVar5 << 0x3e | local_118 >> 2;" (assignment_expression "local_1a8 = uVar5 << 0x3e | local_118 >> 2" identifier = (binary_expression "uVar5 << 0x3e | local_118 >> 2" (binary_expression "uVar5 << 0x3e" identifier << number_literal) | (binary_expression "local_118 >> 2" identifier >> number_literal))) ;) (expression_statement "local_178 = uVar5 << 0x3f | local_118 >> 1;" (assignment_expression "local_178 = uVar5 << 0x3f | local_118 >> 1" identifier = (binary_expression "uVar5 << 0x3f | local_118 >> 1" (binary_expression "uVar5 << 0x3f" identifier << number_literal) | (binary_expression "local_118 >> 1" identifier >> number_literal))) ;) (expression_statement "local_b8 = local_118 ^ local_178;" (assignment_expression "local_b8 = local_118 ^ local_178" identifier = (binary_expression "local_118 ^ local_178" identifier ^ identifier)) ;) (expression_statement "local_e8 = local_118 ^ local_1a8;" (assignment_expression "local_e8 = local_118 ^ local_1a8" identifier = (binary_expression "local_118 ^ local_1a8" identifier ^ identifier)) ;) (expression_statement "local_c8 = local_188 ^ local_128;" (assignment_expression "local_c8 = local_188 ^ local_128" identifier = (binary_expression "local_188 ^ local_128" identifier ^ identifier)) ;) (expression_statement "uStack_c0 = uStack_180 ^ uStack_120;" (assignment_expression "uStack_c0 = uStack_180 ^ uStack_120" identifier = (binary_expression "uStack_180 ^ uStack_120" identifier ^ identifier)) ;) (expression_statement "iVar15 = 0xf;" (assignment_expression "iVar15 = 0xf" identifier = number_literal) ;) (expression_statement "local_148 = local_178 ^ local_1a8;" (assignment_expression "local_148 = local_178 ^ local_1a8" identifier = (binary_expression "local_178 ^ local_1a8" identifier ^ identifier)) ;) (expression_statement "local_158 = local_1b8 ^ local_188;" (assignment_expression "local_158 = local_1b8 ^ local_188" identifier = (binary_expression "local_1b8 ^ local_188" identifier ^ identifier)) ;) (expression_statement "uStack_150 = uStack_1b0 ^ uStack_180;" (assignment_expression "uStack_150 = uStack_1b0 ^ uStack_180" identifier = (binary_expression "uStack_1b0 ^ uStack_180" identifier ^ identifier)) ;) (expression_statement "local_98 = local_1b8 ^ local_c8;" (assignment_expression "local_98 = local_1b8 ^ local_c8" identifier = (binary_expression "local_1b8 ^ local_c8" identifier ^ identifier)) ;) (expression_statement "uStack_90 = uStack_1b0 ^ uStack_c0;" (assignment_expression "uStack_90 = uStack_1b0 ^ uStack_c0" identifier = (binary_expression "uStack_1b0 ^ uStack_c0" identifier ^ identifier)) ;) (expression_statement "local_f8 = local_1b8 ^ local_128;" (assignment_expression "local_f8 = local_1b8 ^ local_128" identifier = (binary_expression "local_1b8 ^ local_128" identifier ^ identifier)) ;) (expression_statement "uStack_f0 = uStack_1b0 ^ uStack_120;" (assignment_expression "uStack_f0 = uStack_1b0 ^ uStack_120" identifier = (binary_expression "uStack_1b0 ^ uStack_120" identifier ^ identifier)) ;) (expression_statement "local_1c0 = uVar5 << 0x3d | local_118 >> 3;" (assignment_expression "local_1c0 = uVar5 << 0x3d | local_118 >> 3" identifier = (binary_expression "uVar5 << 0x3d | local_118 >> 3" (binary_expression "uVar5 << 0x3d" identifier << number_literal) | (binary_expression "local_118 >> 3" identifier >> number_literal))) ;) (expression_statement "local_1a0 = local_1b8 ^ local_1e8[3];" (assignment_expression "local_1a0 = local_1b8 ^ local_1e8[3]" identifier = (binary_expression "local_1b8 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_198 = uStack_1b0 ^ uStack_1c8;" (assignment_expression "uStack_198 = uStack_1b0 ^ uStack_1c8" identifier = (binary_expression "uStack_1b0 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_190 = local_1a8 ^ local_1c0;" (assignment_expression "local_190 = local_1a8 ^ local_1c0" identifier = (binary_expression "local_1a8 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_100 = local_118 ^ local_1c0;" (assignment_expression "local_100 = local_118 ^ local_1c0" identifier = (binary_expression "local_118 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_110 = local_1e8[3] ^ local_128;" (assignment_expression "local_110 = local_1e8[3] ^ local_128" identifier = (binary_expression "local_1e8[3] ^ local_128" (subscript_expression "local_1e8[3]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uStack_108 = uStack_1c8 ^ uStack_120;" (assignment_expression "uStack_108 = uStack_1c8 ^ uStack_120" identifier = (binary_expression "uStack_1c8 ^ uStack_120" identifier ^ identifier)) ;) (expression_statement "local_170 = local_188 ^ local_1e8[3];" (assignment_expression "local_170 = local_188 ^ local_1e8[3]" identifier = (binary_expression "local_188 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_168 = uStack_180 ^ uStack_1c8;" (assignment_expression "uStack_168 = uStack_180 ^ uStack_1c8" identifier = (binary_expression "uStack_180 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_b0 = local_c8 ^ local_1e8[3];" (assignment_expression "local_b0 = local_c8 ^ local_1e8[3]" identifier = (binary_expression "local_c8 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_a8 = uStack_c0 ^ uStack_1c8;" (assignment_expression "uStack_a8 = uStack_c0 ^ uStack_1c8" identifier = (binary_expression "uStack_c0 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_140 = local_158 ^ local_1e8[3];" (assignment_expression "local_140 = local_158 ^ local_1e8[3]" identifier = (binary_expression "local_158 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_138 = uStack_150 ^ uStack_1c8;" (assignment_expression "uStack_138 = uStack_150 ^ uStack_1c8" identifier = (binary_expression "uStack_150 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_e0 = local_128 ^ local_1a0;" (assignment_expression "local_e0 = local_128 ^ local_1a0" identifier = (binary_expression "local_128 ^ local_1a0" identifier ^ identifier)) ;) (expression_statement "uStack_d8 = uStack_120 ^ uStack_198;" (assignment_expression "uStack_d8 = uStack_120 ^ uStack_198" identifier = (binary_expression "uStack_120 ^ uStack_198" identifier ^ identifier)) ;) (expression_statement "local_160 = local_178 ^ local_1c0;" (assignment_expression "local_160 = local_178 ^ local_1c0" identifier = (binary_expression "local_178 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_88 = local_1a8 ^ local_b8;" (assignment_expression "local_88 = local_1a8 ^ local_b8" identifier = (binary_expression "local_1a8 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "local_80 = local_1e8[3] ^ local_98;" (assignment_expression "local_80 = local_1e8[3] ^ local_98" identifier = (binary_expression "local_1e8[3] ^ local_98" (subscript_expression "local_1e8[3]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uStack_78 = uStack_1c8 ^ uStack_90;" (assignment_expression "uStack_78 = uStack_1c8 ^ uStack_90" identifier = (binary_expression "uStack_1c8 ^ uStack_90" identifier ^ identifier)) ;) (expression_statement "local_a0 = local_b8 ^ local_1c0;" (assignment_expression "local_a0 = local_b8 ^ local_1c0" identifier = (binary_expression "local_b8 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_d0 = local_118 ^ local_190;" (assignment_expression "local_d0 = local_118 ^ local_190" identifier = (binary_expression "local_118 ^ local_190" identifier ^ identifier)) ;) (expression_statement "local_130 = local_148 ^ local_1c0;" (assignment_expression "local_130 = local_148 ^ local_1c0" identifier = (binary_expression "local_148 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_70 = local_88 ^ local_1c0;" (assignment_expression "local_70 = local_88 ^ local_1c0" identifier = (binary_expression "local_88 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "zeromem(&local_208,0x20);" (call_expression "zeromem(&local_208,0x20)" identifier (argument_list "(&local_208,0x20)" ( (pointer_expression "&local_208" & identifier) , number_literal ))) ;) (while_statement "while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }" { (expression_statement "bVar6 = (char)iVar15 * '\x04' ^ 4;" (assignment_expression "bVar6 = (char)iVar15 * '\x04' ^ 4" identifier = (binary_expression "(char)iVar15 * '\x04' ^ 4" (binary_expression "(char)iVar15 * '\x04'" (cast_expression "(char)iVar15" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x04'" ' escape_sequence ')) ^ number_literal)) ;) (expression_statement "uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);" (assignment_expression "uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" identifier = (call_expression "(ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" ( (binary_expression "(uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf" (call_expression "(uint)(uVar3 >> (bVar6 & 0x3f))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 >> (bVar6 & 0x3f))" ( (binary_expression "uVar3 >> (bVar6 & 0x3f)" identifier >> (parenthesized_expression "(bVar6 & 0x3f)" ( (binary_expression "bVar6 & 0x3f" identifier & number_literal) ))) ))) & number_literal) )))) ;) (expression_statement "uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);" (assignment_expression "uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" identifier = (call_expression "(ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" ( (binary_expression "(uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf" (call_expression "(uint)(uVar4 >> (bVar6 & 0x3f))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> (bVar6 & 0x3f))" ( (binary_expression "uVar4 >> (bVar6 & 0x3f)" identifier >> (parenthesized_expression "(bVar6 & 0x3f)" ( (binary_expression "bVar6 & 0x3f" identifier & number_literal) ))) ))) & number_literal) )))) ;) (expression_statement "local_208 = local_208 ^ local_1e8[uVar10 * 3];" (assignment_expression "local_208 = local_208 ^ local_1e8[uVar10 * 3]" identifier = (binary_expression "local_208 ^ local_1e8[uVar10 * 3]" identifier ^ (subscript_expression "local_1e8[uVar10 * 3]" identifier [ (binary_expression "uVar10 * 3" identifier * number_literal) ]))) ;) (expression_statement "uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;" (assignment_expression "uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200" identifier = (binary_expression "local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200" (binary_expression "local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3]" (subscript_expression "local_1e8[uVar10 * 3 + 1]" identifier [ (binary_expression "uVar10 * 3 + 1" (binary_expression "uVar10 * 3" identifier * number_literal) + number_literal) ]) ^ (subscript_expression "local_1e8[uVar5 * 3]" identifier [ (binary_expression "uVar5 * 3" identifier * number_literal) ])) ^ identifier)) ;) (expression_statement "local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;" (assignment_expression "local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8" identifier = (binary_expression "local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8" (binary_expression "local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1]" (subscript_expression "local_1e8[uVar10 * 3 + 2]" identifier [ (binary_expression "uVar10 * 3 + 2" (binary_expression "uVar10 * 3" identifier * number_literal) + number_literal) ]) ^ (subscript_expression "local_1e8[uVar5 * 3 + 1]" identifier [ (binary_expression "uVar5 * 3 + 1" (binary_expression "uVar5 * 3" identifier * number_literal) + number_literal) ])) ^ identifier)) ;) (expression_statement "uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];" (assignment_expression "uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2]" identifier = (binary_expression "uStack_1f0 ^ local_1e8[uVar5 * 3 + 2]" identifier ^ (subscript_expression "local_1e8[uVar5 * 3 + 2]" identifier [ (binary_expression "uVar5 * 3 + 2" (binary_expression "uVar5 * 3" identifier * number_literal) + number_literal) ]))) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uStack_200 << 0x3c;" (assignment_expression "uVar10 = uStack_200 << 0x3c" identifier = (binary_expression "uStack_200 << 0x3c" identifier << number_literal)) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;" (assignment_expression "uStack_200 = uStack_200 >> 4 | local_208 << 0x3c" identifier = (binary_expression "uStack_200 >> 4 | local_208 << 0x3c" (binary_expression "uStack_200 >> 4" identifier >> number_literal) | (binary_expression "local_208 << 0x3c" identifier << number_literal))) ;) (expression_statement "uVar5 = local_1f8 << 0x3c;" (assignment_expression "uVar5 = local_1f8 << 0x3c" identifier = (binary_expression "local_1f8 << 0x3c" identifier << number_literal)) ;) (expression_statement "local_208 = local_208 >> 4;" (assignment_expression "local_208 = local_208 >> 4" identifier = (binary_expression "local_208 >> 4" identifier >> number_literal)) ;) (expression_statement "local_1f8 = local_1f8 >> 4 | uVar10;" (assignment_expression "local_1f8 = local_1f8 >> 4 | uVar10" identifier = (binary_expression "local_1f8 >> 4 | uVar10" (binary_expression "local_1f8 >> 4" identifier >> number_literal) | identifier)) ;) (expression_statement "uStack_1f0 = uStack_1f0 >> 4 | uVar5;" (assignment_expression "uStack_1f0 = uStack_1f0 >> 4 | uVar5" identifier = (binary_expression "uStack_1f0 >> 4 | uVar5" (binary_expression "uStack_1f0 >> 4" identifier >> number_literal) | identifier)) ;) })) (expression_statement "local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;" (assignment_expression "local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38" identifier = (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28" (binary_expression "local_1f8 >> 0x38" identifier >> number_literal) | (binary_expression "(local_1f8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(local_1f8 & 0xff000000000000)" ( (binary_expression "local_1f8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_1f8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(local_1f8 & 0xff0000000000)" ( (binary_expression "local_1f8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_1f8 & 0xff00000000) >> 8" (parenthesized_expression "(local_1f8 & 0xff00000000)" ( (binary_expression "local_1f8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_1f8 & 0xff000000) << 8" (parenthesized_expression "(local_1f8 & 0xff000000)" ( (binary_expression "local_1f8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(local_1f8 & 0xff0000) << 0x18" (parenthesized_expression "(local_1f8 & 0xff0000)" ( (binary_expression "local_1f8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(local_1f8 & 0xff00) << 0x28" (parenthesized_expression "(local_1f8 & 0xff00)" ( (binary_expression "local_1f8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_1f8 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;" (assignment_expression "uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8" identifier = (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8" (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18" (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28" (binary_expression "uStack_1f0 >> 0x38" identifier >> number_literal) | (binary_expression "(uStack_1f0 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uStack_1f0 & 0xff000000000000)" ( (binary_expression "uStack_1f0 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uStack_1f0 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uStack_1f0 & 0xff0000000000)" ( (binary_expression "uStack_1f0 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uStack_1f0 & 0xff00000000) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff00000000)" ( (binary_expression "uStack_1f0 & 0xff00000000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;" (assignment_expression "local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38" identifier = (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8" identifier | (binary_expression "(uStack_1f0 & 0xff000000) << 8" (parenthesized_expression "(uStack_1f0 & 0xff000000)" ( (binary_expression "uStack_1f0 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uStack_1f0 & 0xff0000) << 0x18" (parenthesized_expression "(uStack_1f0 & 0xff0000)" ( (binary_expression "uStack_1f0 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uStack_1f0 & 0xff00) << 0x28" (parenthesized_expression "(uStack_1f0 & 0xff00)" ( (binary_expression "uStack_1f0 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uStack_1f0 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar9 = (uint)(byte)uStack_1f0 * 2;" (assignment_expression "uVar9 = (uint)(byte)uStack_1f0 * 2" identifier = (binary_expression "(uint)(byte)uStack_1f0 * 2" (cast_expression "(uint)(byte)uStack_1f0" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)uStack_1f0" ( (type_descriptor "byte" type_identifier) ) identifier)) * number_literal)) ;) (expression_statement "bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (call_expression "(byte)(local_1f8 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_1f8 >> 0x38)" ( (binary_expression "local_1f8 >> 0x38" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);" (assignment_expression "uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8)" identifier = (call_expression "(ushort)((uStack_1f0 & 0xff00) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uStack_1f0 & 0xff00) >> 8)" ( (binary_expression "(uStack_1f0 & 0xff00) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff00)" ( (binary_expression "uStack_1f0 & 0xff00" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)uVar2 + (uint)uVar2;" (assignment_expression "uVar14 = (uint)uVar2 + (uint)uVar2" identifier = (binary_expression "(uint)uVar2 + (uint)uVar2" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];" (assignment_expression "bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier = (binary_expression "(byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (cast_expression "(byte)uStack_200" ( (type_descriptor "byte" type_identifier) ) identifier) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier [ (binary_expression "uVar14 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);" (assignment_expression "uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8)" identifier = (call_expression "(uint)((uStack_1f0 & 0xff0000) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uStack_1f0 & 0xff0000) >> 8)" ( (binary_expression "(uStack_1f0 & 0xff0000) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff0000)" ( (binary_expression "uStack_1f0 & 0xff0000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar11 = (uVar9 >> 8) + (uVar9 >> 8);" (assignment_expression "uVar11 = (uVar9 >> 8) + (uVar9 >> 8)" identifier = (binary_expression "(uVar9 >> 8) + (uVar9 >> 8)" (parenthesized_expression "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) )) + (parenthesized_expression "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(uStack_200 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 8)" ( (binary_expression "uStack_200 >> 8" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;" (assignment_expression "uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2" identifier = (binary_expression "(int)((uStack_1f0 & 0xff000000) >> 0x18) * 2" (cast_expression "(int)((uStack_1f0 & 0xff000000) >> 0x18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uStack_1f0 & 0xff000000) >> 0x18)" ( (binary_expression "(uStack_1f0 & 0xff000000) >> 0x18" (parenthesized_expression "(uStack_1f0 & 0xff000000)" ( (binary_expression "uStack_1f0 & 0xff000000" identifier & number_literal) )) >> number_literal) ))) * number_literal)) ;) (expression_statement "bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);" (assignment_expression "bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30)" identifier = (call_expression "(byte)((uStack_1f0 & 0xff000000000000) >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uStack_1f0 & 0xff000000000000) >> 0x30)" ( (binary_expression "(uStack_1f0 & 0xff000000000000) >> 0x30" (parenthesized_expression "(uStack_1f0 & 0xff000000000000)" ( (binary_expression "uStack_1f0 & 0xff000000000000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x10)" ( (binary_expression "uStack_200 >> 0x10" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;" (assignment_expression "uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2" identifier = (binary_expression "(int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2" (cast_expression "(int)((uStack_1f0 & 0xff00000000) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uStack_1f0 & 0xff00000000) >> 0x20)" ( (binary_expression "(uStack_1f0 & 0xff00000000) >> 0x20" (parenthesized_expression "(uStack_1f0 & 0xff00000000)" ( (binary_expression "uStack_1f0 & 0xff00000000" identifier & number_literal) )) >> number_literal) ))) * number_literal)) ;) (expression_statement "local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);" (assignment_expression "local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10)" identifier = (call_expression "(byte)((local_1f8 & 0xff0000) >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff0000) >> 0x10)" ( (binary_expression "(local_1f8 & 0xff0000) >> 0x10" (parenthesized_expression "(local_1f8 & 0xff0000)" ( (binary_expression "local_1f8 & 0xff0000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (call_expression "(byte)(uStack_200 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x18)" ( (binary_expression "uStack_200 >> 0x18" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ]))) ;) (expression_statement "bVar6 = (byte)(uStack_1f0 >> 0x38);" (assignment_expression "bVar6 = (byte)(uStack_1f0 >> 0x38)" identifier = (call_expression "(byte)(uStack_1f0 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_1f0 >> 0x38)" ( (binary_expression "uStack_1f0 >> 0x38" identifier >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)bVar6 + (uint)bVar6;" (assignment_expression "uVar14 = (uint)bVar6 + (uint)bVar6" identifier = (binary_expression "(uint)bVar6 + (uint)bVar6" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;" (assignment_expression "uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe" identifier = (binary_expression "(uint)(uVar5 >> 0xf) & 0x1fe" (call_expression "(uint)(uVar5 >> 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 >> 0xf)" ( (binary_expression "uVar5 >> 0xf" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x20)" ( (binary_expression "uStack_200 >> 0x20" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar11 = (uint)bVar8 + (uint)bVar8;" (assignment_expression "uVar11 = (uint)bVar8 + (uint)bVar8" identifier = (binary_expression "(uint)bVar8 + (uint)bVar8" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];" (assignment_expression "bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x30)" ( (binary_expression "uStack_200 >> 0x30" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier [ (binary_expression "uVar14 + 1" identifier + number_literal) ]))) ;) (expression_statement "bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (call_expression "(byte)(uStack_200 >> 0x28)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x28)" ( (binary_expression "uStack_200 >> 0x28" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar9 = (uint)(byte)local_1f8 * 2;" (assignment_expression "uVar9 = (uint)(byte)local_1f8 * 2" identifier = (binary_expression "(uint)(byte)local_1f8 * 2" (cast_expression "(uint)(byte)local_1f8" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)local_1f8" ( (type_descriptor "byte" type_identifier) ) identifier)) * number_literal)) ;) (expression_statement "bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(uStack_200 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x38)" ( (binary_expression "uStack_200 >> 0x38" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "local_258 = (byte)((local_1f8 & 0xff00) >> 8);" (assignment_expression "local_258 = (byte)((local_1f8 & 0xff00) >> 8)" identifier = (call_expression "(byte)((local_1f8 & 0xff00) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff00) >> 8)" ( (binary_expression "(local_1f8 & 0xff00) >> 8" (parenthesized_expression "(local_1f8 & 0xff00)" ( (binary_expression "local_1f8 & 0xff00" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);" (assignment_expression "bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30)" identifier = (call_expression "(byte)((local_1f8 & 0xff000000000000) >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff000000000000) >> 0x30)" ( (binary_expression "(local_1f8 & 0xff000000000000) >> 0x30" (parenthesized_expression "(local_1f8 & 0xff000000000000)" ( (binary_expression "local_1f8 & 0xff000000000000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;" (assignment_expression "uVar14 = (uint)(local_58 >> 0xf) & 0x1fe" identifier = (binary_expression "(uint)(local_58 >> 0xf) & 0x1fe" (call_expression "(uint)(local_58 >> 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_58 >> 0xf)" ( (binary_expression "local_58 >> 0xf" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);" (assignment_expression "local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18)" identifier = (call_expression "(byte)((local_1f8 & 0xff000000) >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff000000) >> 0x18)" ( (binary_expression "(local_1f8 & 0xff000000) >> 0x18" (parenthesized_expression "(local_1f8 & 0xff000000)" ( (binary_expression "local_1f8 & 0xff000000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;" (assignment_expression "uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2" identifier = (binary_expression "(int)((local_1f8 & 0xff00000000) >> 0x20) * 2" (cast_expression "(int)((local_1f8 & 0xff00000000) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_1f8 & 0xff00000000) >> 0x20)" ( (binary_expression "(local_1f8 & 0xff00000000) >> 0x20" (parenthesized_expression "(local_1f8 & 0xff00000000)" ( (binary_expression "local_1f8 & 0xff00000000" identifier & number_literal) )) >> number_literal) ))) * number_literal)) ;) (expression_statement "uVar12 = (uint)bVar6 + (uint)bVar6;" (assignment_expression "uVar12 = (uint)bVar6 + (uint)bVar6" identifier = (binary_expression "(uint)bVar6 + (uint)bVar6" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar13 = (uint)bVar7 + (uint)bVar7;" (assignment_expression "uVar13 = (uint)bVar7 + (uint)bVar7" identifier = (binary_expression "(uint)bVar7 + (uint)bVar7" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_68._0_1_ = (byte)(local_208 >> 0x38);" (assignment_expression "local_68._0_1_ = (byte)(local_208 >> 0x38)" (field_expression "local_68._0_1_" identifier . field_identifier) = (call_expression "(byte)(local_208 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x38)" ( (binary_expression "local_208 >> 0x38" identifier >> number_literal) )))) ;) (expression_statement "local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];" (assignment_expression "local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13]" (field_expression "local_68._0_1_" identifier . field_identifier) = (binary_expression "(byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13]" (cast_expression "(byte)local_68" ( (type_descriptor "byte" type_identifier) ) identifier) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar13]" identifier [ identifier ]))) ;) (expression_statement "local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));" (assignment_expression "local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" identifier = (call_expression "CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" identifier (argument_list "(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" ( (call_expression "CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1])" identifier (argument_list "(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1])" ( (call_expression "CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1])" identifier (argument_list "(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1])" ( (call_expression "CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))" identifier (argument_list "(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))" ( (call_expression "CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1])" identifier (argument_list "((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1])" ( (binary_expression "(byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1]" (binary_expression "(byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9]" (cast_expression "(byte)local_208" ( (type_descriptor "byte" type_identifier) ) identifier) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1]" identifier [ (binary_expression "(uint)local_258 + (uint)local_258 + 1" (binary_expression "(uint)local_258 + (uint)local_258" (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) ])) , (binary_expression "(byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]" (binary_expression "(byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258]" (call_expression "(byte)(local_208 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 8)" ( (binary_expression "local_208 >> 8" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258]" identifier [ (binary_expression "(uint)local_258 + (uint)local_258" (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]" identifier [ (binary_expression "(uint)local_248 + (uint)local_248 + 1" (binary_expression "(uint)local_248 + (uint)local_248" (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) ])) ))) , (call_expression "CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1])" identifier (argument_list "((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1])" ( (binary_expression "(byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1]" (binary_expression "(byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248]" (call_expression "(byte)(local_208 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x10)" ( (binary_expression "local_208 >> 0x10" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248]" identifier [ (binary_expression "(uint)local_248 + (uint)local_248" (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1]" identifier [ (binary_expression "(uint)local_238 + (uint)local_238 + 1" (binary_expression "(uint)local_238 + (uint)local_238" (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) ])) , (binary_expression "(byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238]" (call_expression "(byte)(local_208 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x18)" ( (binary_expression "local_208 >> 0x18" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238]" identifier [ (binary_expression "(uint)local_238 + (uint)local_238" (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ])) ))) ))) , (binary_expression "(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(local_208 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x20)" ( (binary_expression "local_208 >> 0x20" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier [ (binary_expression "uVar14 + 1" identifier + number_literal) ])) ))) , (binary_expression "(byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]" (binary_expression "(byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(local_208 >> 0x28)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x28)" ( (binary_expression "local_208 >> 0x28" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar12 + 1]" identifier [ (binary_expression "uVar12 + 1" identifier + number_literal) ])) ))) , (call_expression "CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68)" identifier (argument_list "((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68)" ( (binary_expression "(byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1]" (binary_expression "(byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12]" (call_expression "(byte)(local_208 >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x30)" ( (binary_expression "local_208 >> 0x30" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar12]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar13 + 1]" identifier [ (binary_expression "uVar13 + 1" identifier + number_literal) ])) , (cast_expression "(byte)local_68" ( (type_descriptor "byte" type_identifier) ) identifier) ))) )))) ;) (expression_statement "*param_3 = local_68;" (assignment_expression "*param_3 = local_68" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));" (assignment_expression "param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (call_expression "CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" identifier (argument_list "(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" ( identifier , (call_expression "CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )))" identifier (argument_list "(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )))" ( identifier , (call_expression "CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))" identifier (argument_list "(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))" ( identifier , (call_expression "CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )" identifier (argument_list "(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )" ( identifier , (call_expression "CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))" identifier (argument_list "(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))" ( identifier , (call_expression "CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60))" identifier (argument_list "(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60))" ( identifier , (call_expression "CONCAT11(bStack_5f,bStack_60)" identifier (argument_list "(bStack_5f,bStack_60)" ( identifier , identifier ))) ))) ))) ))) ))) ))) )))) ;) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void gcm_gf_mult(uchar *a,uchar *b,uchar *c)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  byte bVar11;\n  byte bVar12;\n  byte bVar13;\n  byte bVar14;\n  byte bVar15;\n  long lVar16;\n  ulong uVar17;\n  ushort uVar18;\n  ulong uVar19;\n  ulong uVar20;\n  byte bVar21;\n  byte bVar22;\n  byte bVar23;\n  ulong uVar24;\n  byte bVar25;\n  byte bVar26;\n  uint uVar27;\n  uint uVar28;\n  ulong uVar29;\n  uint uVar30;\n  uint uVar31;\n  uint uVar32;\n  int iVar33;\n  long in_FS_OFFSET;\n  LTC_FAST_TYPE pB [2];\n  LTC_FAST_TYPE tmp [4];\n  LTC_FAST_TYPE B [16] [3];\n  uchar pTmp [32];\n  \n  lVar16 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(B,0x18);\n  zeromem(B + 8,0x18);\n  uVar24 = *(ulong *)a;\n  uVar29 = *(ulong *)(a + 8);\n  uVar19 = *(ulong *)b;\n  uVar20 = *(ulong *)(b + 8);\n  uVar17 = uVar24 >> 0x38;\n  B[8][0] = uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38;\n  uVar24 = uVar29 >> 0x38;\n  B[8][1] = uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38;\n  B[4][0] = B[8][0] >> 1;\n  B[2][0] = B[8][0] >> 2;\n  B[4][1] = uVar17 << 0x3f | B[8][1] >> 1;\n  B[2][1] = uVar17 << 0x3e | B[8][1] >> 2;\n  B[1][1] = uVar17 << 0x3d | B[8][1] >> 3;\n  B[1][0] = B[8][0] >> 3;\n  B[2][2] = uVar24 << 0x3e | B[8][2] >> 2;\n  B[4][2] = uVar24 << 0x3f | B[8][2] >> 1;\n  B[0xc][2] = B[8][2] ^ B[4][2];\n  B[10][2] = B[8][2] ^ B[2][2];\n  B[0xc][0] = B[4][0] ^ B[8][0];\n  B[0xc][1] = B[4][1] ^ B[8][1];\n  iVar33 = 0xf;\n  B[6][2] = B[4][2] ^ B[2][2];\n  B[6][0] = B[2][0] ^ B[4][0];\n  B[6][1] = B[2][1] ^ B[4][1];\n  B[0xe][0] = B[2][0] ^ B[0xc][0];\n  B[0xe][1] = B[2][1] ^ B[0xc][1];\n  B[10][0] = B[2][0] ^ B[8][0];\n  B[10][1] = B[2][1] ^ B[8][1];\n  B[1][2] = uVar24 << 0x3d | B[8][2] >> 3;\n  B[3][0] = B[2][0] ^ B[1][0];\n  B[3][1] = B[2][1] ^ B[1][1];\n  B[3][2] = B[2][2] ^ B[1][2];\n  B[9][2] = B[8][2] ^ B[1][2];\n  B[9][0] = B[1][0] ^ B[8][0];\n  B[9][1] = B[1][1] ^ B[8][1];\n  B[5][0] = B[4][0] ^ B[1][0];\n  B[5][1] = B[4][1] ^ B[1][1];\n  B[0xd][0] = B[0xc][0] ^ B[1][0];\n  B[0xd][1] = B[0xc][1] ^ B[1][1];\n  B[7][0] = B[6][0] ^ B[1][0];\n  B[7][1] = B[6][1] ^ B[1][1];\n  B[0xb][0] = B[8][0] ^ B[3][0];\n  B[0xb][1] = B[8][1] ^ B[3][1];\n  B[5][2] = B[4][2] ^ B[1][2];\n  B[0xe][2] = B[2][2] ^ B[0xc][2];\n  B[0xf][0] = B[1][0] ^ B[0xe][0];\n  B[0xf][1] = B[1][1] ^ B[0xe][1];\n  B[0xd][2] = B[0xc][2] ^ B[1][2];\n  B[0xb][2] = B[8][2] ^ B[3][2];\n  B[7][2] = B[6][2] ^ B[1][2];\n  B[0xf][2] = B[0xe][2] ^ B[1][2];\n  zeromem(tmp,0x20);\n  while( true ) {\n    bVar25 = (char)iVar33 * '\x04' ^ 4;\n    uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;\n    uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;\n    tmp[0] = tmp[0] ^ B[uVar28][0];\n    tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];\n    tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];\n    tmp[3] = tmp[3] ^ B[uVar27][2];\n    if (iVar33 == 0) break;\n    uVar29 = tmp[1] << 0x3c;\n    iVar33 = iVar33 + -1;\n    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;\n    uVar24 = tmp[2] << 0x3c;\n    tmp[0] = tmp[0] >> 4;\n    tmp[2] = tmp[2] >> 4 | uVar29;\n    tmp[3] = tmp[3] >> 4 | uVar24;\n  }\n  bVar23 = (byte)(tmp[2] >> 0x30);\n  uVar31 = (uint)(tmp[2] >> 0x20);\n  bVar22 = (byte)(tmp[2] >> 0x18);\n  bVar15 = (byte)(tmp[2] >> 0x10);\n  bVar21 = (byte)(tmp[2] >> 8);\n  bVar11 = (byte)(tmp[3] >> 0x30);\n  uVar30 = (uint)(tmp[3] >> 0x20);\n  uVar28 = (uint)(tmp[3] >> 8) & 0xff00;\n  uVar18 = (ushort)(tmp[3] >> 8) & 0xff;\n  uVar27 = (uint)(byte)tmp[3] * 2;\n  bVar25 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar26 = (byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uint)uVar18 + (uint)uVar18;\n  bVar1 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar2 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uVar28 >> 8) + (uVar28 >> 8);\n  bVar3 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar4 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = ((uint)(tmp[3] >> 0x18) & 0xff) * 2;\n  bVar5 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar6 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uVar30 & 0xff) * 2;\n  bVar7 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar8 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  bVar9 = (byte)(tmp[3] >> 0x38);\n  uVar28 = (uint)bVar9 + (uint)bVar9;\n  uVar27 = (uVar30 & 0xff00) >> 7;\n  bVar9 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  bVar10 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  uVar27 = (uint)bVar11 + (uint)bVar11;\n  bVar11 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar12 = PTR_gcm_shift_table_001ecfc8[uVar28];\n  bVar13 = PTR_gcm_shift_table_001ecfc8[uVar28 + 1];\n  bVar14 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar30 = (uint)bVar15 + (uint)bVar15;\n  uVar27 = (uint)(byte)tmp[2] * 2;\n  bVar15 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar32 = (uint)bVar21 + (uint)bVar21;\n  uVar28 = (uVar31 & 0xff00) >> 7;\n  pTmp[7] = (byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];\n  pTmp[6] = (byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];\n  uVar27 = (uVar31 & 0xff) * 2;\n  uVar32 = (uint)bVar22 + (uint)bVar22;\n  uVar31 = (uint)bVar23 + (uint)bVar23;\n  pTmp[5] = (byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];\n  pTmp[4] = (byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar30 = (uint)bVar26 + (uint)bVar26;\n  pTmp[3] = (byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar28 + 1];\n  pTmp[0] = (uchar)(tmp[0] >> 0x38);\n  pTmp[2] = (byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^\n            PTR_gcm_shift_table_001ecfc8[uVar31 + 1];\n  pTmp[1] = (byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];\n  pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30];\n  *(undefined8 *)c = pTmp._0_8_;\n  *(ulong *)(c + 8) =\n       CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               );\n  if (lVar16 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "void gcm_gf_mult(uchar *a,uchar *b,uchar *c)\n\n{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  byte bVar11;\n  byte bVar12;\n  byte bVar13;\n  byte bVar14;\n  byte bVar15;\n  long lVar16;\n  ulong uVar17;\n  ushort uVar18;\n  ulong uVar19;\n  ulong uVar20;\n  byte bVar21;\n  byte bVar22;\n  byte bVar23;\n  ulong uVar24;\n  byte bVar25;\n  byte bVar26;\n  uint uVar27;\n  uint uVar28;\n  ulong uVar29;\n  uint uVar30;\n  uint uVar31;\n  uint uVar32;\n  int iVar33;\n  long in_FS_OFFSET;\n  LTC_FAST_TYPE pB [2];\n  LTC_FAST_TYPE tmp [4];\n  LTC_FAST_TYPE B [16] [3];\n  uchar pTmp [32];\n  \n  lVar16 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(B,0x18);\n  zeromem(B + 8,0x18);\n  uVar24 = *(ulong *)a;\n  uVar29 = *(ulong *)(a + 8);\n  uVar19 = *(ulong *)b;\n  uVar20 = *(ulong *)(b + 8);\n  uVar17 = uVar24 >> 0x38;\n  B[8][0] = uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38;\n  uVar24 = uVar29 >> 0x38;\n  B[8][1] = uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38;\n  B[4][0] = B[8][0] >> 1;\n  B[2][0] = B[8][0] >> 2;\n  B[4][1] = uVar17 << 0x3f | B[8][1] >> 1;\n  B[2][1] = uVar17 << 0x3e | B[8][1] >> 2;\n  B[1][1] = uVar17 << 0x3d | B[8][1] >> 3;\n  B[1][0] = B[8][0] >> 3;\n  B[2][2] = uVar24 << 0x3e | B[8][2] >> 2;\n  B[4][2] = uVar24 << 0x3f | B[8][2] >> 1;\n  B[0xc][2] = B[8][2] ^ B[4][2];\n  B[10][2] = B[8][2] ^ B[2][2];\n  B[0xc][0] = B[4][0] ^ B[8][0];\n  B[0xc][1] = B[4][1] ^ B[8][1];\n  iVar33 = 0xf;\n  B[6][2] = B[4][2] ^ B[2][2];\n  B[6][0] = B[2][0] ^ B[4][0];\n  B[6][1] = B[2][1] ^ B[4][1];\n  B[0xe][0] = B[2][0] ^ B[0xc][0];\n  B[0xe][1] = B[2][1] ^ B[0xc][1];\n  B[10][0] = B[2][0] ^ B[8][0];\n  B[10][1] = B[2][1] ^ B[8][1];\n  B[1][2] = uVar24 << 0x3d | B[8][2] >> 3;\n  B[3][0] = B[2][0] ^ B[1][0];\n  B[3][1] = B[2][1] ^ B[1][1];\n  B[3][2] = B[2][2] ^ B[1][2];\n  B[9][2] = B[8][2] ^ B[1][2];\n  B[9][0] = B[1][0] ^ B[8][0];\n  B[9][1] = B[1][1] ^ B[8][1];\n  B[5][0] = B[4][0] ^ B[1][0];\n  B[5][1] = B[4][1] ^ B[1][1];\n  B[0xd][0] = B[0xc][0] ^ B[1][0];\n  B[0xd][1] = B[0xc][1] ^ B[1][1];\n  B[7][0] = B[6][0] ^ B[1][0];\n  B[7][1] = B[6][1] ^ B[1][1];\n  B[0xb][0] = B[8][0] ^ B[3][0];\n  B[0xb][1] = B[8][1] ^ B[3][1];\n  B[5][2] = B[4][2] ^ B[1][2];\n  B[0xe][2] = B[2][2] ^ B[0xc][2];\n  B[0xf][0] = B[1][0] ^ B[0xe][0];\n  B[0xf][1] = B[1][1] ^ B[0xe][1];\n  B[0xd][2] = B[0xc][2] ^ B[1][2];\n  B[0xb][2] = B[8][2] ^ B[3][2];\n  B[7][2] = B[6][2] ^ B[1][2];\n  B[0xf][2] = B[0xe][2] ^ B[1][2];\n  zeromem(tmp,0x20);\n  while( true ) {\n    bVar25 = (char)iVar33 * '\x04' ^ 4;\n    uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;\n    uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;\n    tmp[0] = tmp[0] ^ B[uVar28][0];\n    tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];\n    tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];\n    tmp[3] = tmp[3] ^ B[uVar27][2];\n    if (iVar33 == 0) break;\n    uVar29 = tmp[1] << 0x3c;\n    iVar33 = iVar33 + -1;\n    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;\n    uVar24 = tmp[2] << 0x3c;\n    tmp[0] = tmp[0] >> 4;\n    tmp[2] = tmp[2] >> 4 | uVar29;\n    tmp[3] = tmp[3] >> 4 | uVar24;\n  }\n  bVar23 = (byte)(tmp[2] >> 0x30);\n  uVar31 = (uint)(tmp[2] >> 0x20);\n  bVar22 = (byte)(tmp[2] >> 0x18);\n  bVar15 = (byte)(tmp[2] >> 0x10);\n  bVar21 = (byte)(tmp[2] >> 8);\n  bVar11 = (byte)(tmp[3] >> 0x30);\n  uVar30 = (uint)(tmp[3] >> 0x20);\n  uVar28 = (uint)(tmp[3] >> 8) & 0xff00;\n  uVar18 = (ushort)(tmp[3] >> 8) & 0xff;\n  uVar27 = (uint)(byte)tmp[3] * 2;\n  bVar25 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar26 = (byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uint)uVar18 + (uint)uVar18;\n  bVar1 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar2 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uVar28 >> 8) + (uVar28 >> 8);\n  bVar3 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar4 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = ((uint)(tmp[3] >> 0x18) & 0xff) * 2;\n  bVar5 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar6 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uVar30 & 0xff) * 2;\n  bVar7 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar8 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  bVar9 = (byte)(tmp[3] >> 0x38);\n  uVar28 = (uint)bVar9 + (uint)bVar9;\n  uVar27 = (uVar30 & 0xff00) >> 7;\n  bVar9 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  bVar10 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  uVar27 = (uint)bVar11 + (uint)bVar11;\n  bVar11 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar12 = PTR_gcm_shift_table_001ecfc8[uVar28];\n  bVar13 = PTR_gcm_shift_table_001ecfc8[uVar28 + 1];\n  bVar14 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar30 = (uint)bVar15 + (uint)bVar15;\n  uVar27 = (uint)(byte)tmp[2] * 2;\n  bVar15 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar32 = (uint)bVar21 + (uint)bVar21;\n  uVar28 = (uVar31 & 0xff00) >> 7;\n  pTmp[7] = (byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];\n  pTmp[6] = (byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];\n  uVar27 = (uVar31 & 0xff) * 2;\n  uVar32 = (uint)bVar22 + (uint)bVar22;\n  uVar31 = (uint)bVar23 + (uint)bVar23;\n  pTmp[5] = (byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];\n  pTmp[4] = (byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar30 = (uint)bVar26 + (uint)bVar26;\n  pTmp[3] = (byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar28 + 1];\n  pTmp[0] = (uchar)(tmp[0] >> 0x38);\n  pTmp[2] = (byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^\n            PTR_gcm_shift_table_001ecfc8[uVar31 + 1];\n  pTmp[1] = (byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];\n  pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30];\n  *(undefined8 *)c = pTmp._0_8_;\n  *(ulong *)(c + 8) =\n       CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               );\n  if (lVar16 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "gcm_gf_mult(uchar *a,uchar *b,uchar *c)" identifier (parameter_list "(uchar *a,uchar *b,uchar *c)" ( (parameter_declaration "uchar *a" type_identifier (pointer_declarator "*a" * identifier)) , (parameter_declaration "uchar *b" type_identifier (pointer_declarator "*b" * identifier)) , (parameter_declaration "uchar *c" type_identifier (pointer_declarator "*c" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  byte bVar3;\n  byte bVar4;\n  byte bVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  byte bVar9;\n  byte bVar10;\n  byte bVar11;\n  byte bVar12;\n  byte bVar13;\n  byte bVar14;\n  byte bVar15;\n  long lVar16;\n  ulong uVar17;\n  ushort uVar18;\n  ulong uVar19;\n  ulong uVar20;\n  byte bVar21;\n  byte bVar22;\n  byte bVar23;\n  ulong uVar24;\n  byte bVar25;\n  byte bVar26;\n  uint uVar27;\n  uint uVar28;\n  ulong uVar29;\n  uint uVar30;\n  uint uVar31;\n  uint uVar32;\n  int iVar33;\n  long in_FS_OFFSET;\n  LTC_FAST_TYPE pB [2];\n  LTC_FAST_TYPE tmp [4];\n  LTC_FAST_TYPE B [16] [3];\n  uchar pTmp [32];\n  \n  lVar16 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(B,0x18);\n  zeromem(B + 8,0x18);\n  uVar24 = *(ulong *)a;\n  uVar29 = *(ulong *)(a + 8);\n  uVar19 = *(ulong *)b;\n  uVar20 = *(ulong *)(b + 8);\n  uVar17 = uVar24 >> 0x38;\n  B[8][0] = uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38;\n  uVar24 = uVar29 >> 0x38;\n  B[8][1] = uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38;\n  B[4][0] = B[8][0] >> 1;\n  B[2][0] = B[8][0] >> 2;\n  B[4][1] = uVar17 << 0x3f | B[8][1] >> 1;\n  B[2][1] = uVar17 << 0x3e | B[8][1] >> 2;\n  B[1][1] = uVar17 << 0x3d | B[8][1] >> 3;\n  B[1][0] = B[8][0] >> 3;\n  B[2][2] = uVar24 << 0x3e | B[8][2] >> 2;\n  B[4][2] = uVar24 << 0x3f | B[8][2] >> 1;\n  B[0xc][2] = B[8][2] ^ B[4][2];\n  B[10][2] = B[8][2] ^ B[2][2];\n  B[0xc][0] = B[4][0] ^ B[8][0];\n  B[0xc][1] = B[4][1] ^ B[8][1];\n  iVar33 = 0xf;\n  B[6][2] = B[4][2] ^ B[2][2];\n  B[6][0] = B[2][0] ^ B[4][0];\n  B[6][1] = B[2][1] ^ B[4][1];\n  B[0xe][0] = B[2][0] ^ B[0xc][0];\n  B[0xe][1] = B[2][1] ^ B[0xc][1];\n  B[10][0] = B[2][0] ^ B[8][0];\n  B[10][1] = B[2][1] ^ B[8][1];\n  B[1][2] = uVar24 << 0x3d | B[8][2] >> 3;\n  B[3][0] = B[2][0] ^ B[1][0];\n  B[3][1] = B[2][1] ^ B[1][1];\n  B[3][2] = B[2][2] ^ B[1][2];\n  B[9][2] = B[8][2] ^ B[1][2];\n  B[9][0] = B[1][0] ^ B[8][0];\n  B[9][1] = B[1][1] ^ B[8][1];\n  B[5][0] = B[4][0] ^ B[1][0];\n  B[5][1] = B[4][1] ^ B[1][1];\n  B[0xd][0] = B[0xc][0] ^ B[1][0];\n  B[0xd][1] = B[0xc][1] ^ B[1][1];\n  B[7][0] = B[6][0] ^ B[1][0];\n  B[7][1] = B[6][1] ^ B[1][1];\n  B[0xb][0] = B[8][0] ^ B[3][0];\n  B[0xb][1] = B[8][1] ^ B[3][1];\n  B[5][2] = B[4][2] ^ B[1][2];\n  B[0xe][2] = B[2][2] ^ B[0xc][2];\n  B[0xf][0] = B[1][0] ^ B[0xe][0];\n  B[0xf][1] = B[1][1] ^ B[0xe][1];\n  B[0xd][2] = B[0xc][2] ^ B[1][2];\n  B[0xb][2] = B[8][2] ^ B[3][2];\n  B[7][2] = B[6][2] ^ B[1][2];\n  B[0xf][2] = B[0xe][2] ^ B[1][2];\n  zeromem(tmp,0x20);\n  while( true ) {\n    bVar25 = (char)iVar33 * '\x04' ^ 4;\n    uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;\n    uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;\n    tmp[0] = tmp[0] ^ B[uVar28][0];\n    tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];\n    tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];\n    tmp[3] = tmp[3] ^ B[uVar27][2];\n    if (iVar33 == 0) break;\n    uVar29 = tmp[1] << 0x3c;\n    iVar33 = iVar33 + -1;\n    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;\n    uVar24 = tmp[2] << 0x3c;\n    tmp[0] = tmp[0] >> 4;\n    tmp[2] = tmp[2] >> 4 | uVar29;\n    tmp[3] = tmp[3] >> 4 | uVar24;\n  }\n  bVar23 = (byte)(tmp[2] >> 0x30);\n  uVar31 = (uint)(tmp[2] >> 0x20);\n  bVar22 = (byte)(tmp[2] >> 0x18);\n  bVar15 = (byte)(tmp[2] >> 0x10);\n  bVar21 = (byte)(tmp[2] >> 8);\n  bVar11 = (byte)(tmp[3] >> 0x30);\n  uVar30 = (uint)(tmp[3] >> 0x20);\n  uVar28 = (uint)(tmp[3] >> 8) & 0xff00;\n  uVar18 = (ushort)(tmp[3] >> 8) & 0xff;\n  uVar27 = (uint)(byte)tmp[3] * 2;\n  bVar25 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar26 = (byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uint)uVar18 + (uint)uVar18;\n  bVar1 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar2 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uVar28 >> 8) + (uVar28 >> 8);\n  bVar3 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar4 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = ((uint)(tmp[3] >> 0x18) & 0xff) * 2;\n  bVar5 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar6 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar27 = (uVar30 & 0xff) * 2;\n  bVar7 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar8 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  bVar9 = (byte)(tmp[3] >> 0x38);\n  uVar28 = (uint)bVar9 + (uint)bVar9;\n  uVar27 = (uVar30 & 0xff00) >> 7;\n  bVar9 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  bVar10 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  uVar27 = (uint)bVar11 + (uint)bVar11;\n  bVar11 = PTR_gcm_shift_table_001ecfc8[uVar27];\n  bVar12 = PTR_gcm_shift_table_001ecfc8[uVar28];\n  bVar13 = PTR_gcm_shift_table_001ecfc8[uVar28 + 1];\n  bVar14 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar30 = (uint)bVar15 + (uint)bVar15;\n  uVar27 = (uint)(byte)tmp[2] * 2;\n  bVar15 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar32 = (uint)bVar21 + (uint)bVar21;\n  uVar28 = (uVar31 & 0xff00) >> 7;\n  pTmp[7] = (byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];\n  pTmp[6] = (byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];\n  uVar27 = (uVar31 & 0xff) * 2;\n  uVar32 = (uint)bVar22 + (uint)bVar22;\n  uVar31 = (uint)bVar23 + (uint)bVar23;\n  pTmp[5] = (byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];\n  pTmp[4] = (byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar27 + 1];\n  uVar30 = (uint)bVar26 + (uint)bVar26;\n  pTmp[3] = (byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar28 + 1];\n  pTmp[0] = (uchar)(tmp[0] >> 0x38);\n  pTmp[2] = (byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^\n            PTR_gcm_shift_table_001ecfc8[uVar31 + 1];\n  pTmp[1] = (byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];\n  pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30];\n  *(undefined8 *)c = pTmp._0_8_;\n  *(ulong *)(c + 8) =\n       CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               );\n  if (lVar16 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ushort uVar18;" type_identifier identifier ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "ulong uVar29;" type_identifier identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "LTC_FAST_TYPE pB [2];" type_identifier (array_declarator "pB [2]" identifier [ number_literal ]) ;) (declaration "LTC_FAST_TYPE tmp [4];" type_identifier (array_declarator "tmp [4]" identifier [ number_literal ]) ;) (declaration "LTC_FAST_TYPE B [16] [3];" type_identifier (array_declarator "B [16] [3]" (array_declarator "B [16]" identifier [ number_literal ]) [ number_literal ]) ;) (declaration "uchar pTmp [32];" type_identifier (array_declarator "pTmp [32]" identifier [ number_literal ]) ;) (expression_statement "lVar16 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar16 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "zeromem(B,0x18);" (call_expression "zeromem(B,0x18)" identifier (argument_list "(B,0x18)" ( identifier , number_literal ))) ;) (expression_statement "zeromem(B + 8,0x18);" (call_expression "zeromem(B + 8,0x18)" identifier (argument_list "(B + 8,0x18)" ( (binary_expression "B + 8" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar24 = *(ulong *)a;" (assignment_expression "uVar24 = *(ulong *)a" identifier = (pointer_expression "*(ulong *)a" * (cast_expression "(ulong *)a" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar29 = *(ulong *)(a + 8);" (assignment_expression "uVar29 = *(ulong *)(a + 8)" identifier = (pointer_expression "*(ulong *)(a + 8)" * (cast_expression "(ulong *)(a + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(a + 8)" ( (binary_expression "a + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(ulong *)b;" (assignment_expression "uVar19 = *(ulong *)b" identifier = (pointer_expression "*(ulong *)b" * (cast_expression "(ulong *)b" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar20 = *(ulong *)(b + 8);" (assignment_expression "uVar20 = *(ulong *)(b + 8)" identifier = (pointer_expression "*(ulong *)(b + 8)" * (cast_expression "(ulong *)(b + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(b + 8)" ( (binary_expression "b + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar24 >> 0x38;" (assignment_expression "uVar17 = uVar24 >> 0x38" identifier = (binary_expression "uVar24 >> 0x38" identifier >> number_literal)) ;) (expression_statement "B[8][0] = uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38;" (assignment_expression "B[8][0] = uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38" (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28 | uVar24 << 0x38" (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18\n            | (uVar24 & 0xff00) << 0x28" (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8 | (uVar24 & 0xff0000) << 0x18" (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8 | (uVar24 & 0xff000000) << 8" (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18 |\n            (uVar24 & 0xff00000000) >> 8" (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28 | (uVar24 & 0xff0000000000) >> 0x18" (binary_expression "uVar17 | (uVar24 & 0xff000000000000) >> 0x28" identifier | (binary_expression "(uVar24 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar24 & 0xff000000000000)" ( (binary_expression "uVar24 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar24 & 0xff0000000000)" ( (binary_expression "uVar24 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00000000) >> 8" (parenthesized_expression "(uVar24 & 0xff00000000)" ( (binary_expression "uVar24 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff000000) << 8" (parenthesized_expression "(uVar24 & 0xff000000)" ( (binary_expression "uVar24 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar24 & 0xff0000) << 0x18" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar24 & 0xff00) << 0x28" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar24 = uVar29 >> 0x38;" (assignment_expression "uVar24 = uVar29 >> 0x38" identifier = (binary_expression "uVar29 >> 0x38" identifier >> number_literal)) ;) (expression_statement "B[8][1] = uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38;" (assignment_expression "B[8][1] = uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38" (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28 | uVar29 << 0x38" (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18\n            | (uVar29 & 0xff00) << 0x28" (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8 | (uVar29 & 0xff0000) << 0x18" (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8 | (uVar29 & 0xff000000) << 8" (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18 |\n            (uVar29 & 0xff00000000) >> 8" (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28 | (uVar29 & 0xff0000000000) >> 0x18" (binary_expression "uVar24 | (uVar29 & 0xff000000000000) >> 0x28" identifier | (binary_expression "(uVar29 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar29 & 0xff000000000000)" ( (binary_expression "uVar29 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar29 & 0xff0000000000)" ( (binary_expression "uVar29 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00000000) >> 8" (parenthesized_expression "(uVar29 & 0xff00000000)" ( (binary_expression "uVar29 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff000000) << 8" (parenthesized_expression "(uVar29 & 0xff000000)" ( (binary_expression "uVar29 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar29 & 0xff0000) << 0x18" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar29 & 0xff00) << 0x28" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x38" identifier << number_literal))) ;) (expression_statement "B[4][0] = B[8][0] >> 1;" (assignment_expression "B[4][0] = B[8][0] >> 1" (subscript_expression "B[4][0]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][0] >> 1" (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal)) ;) (expression_statement "B[2][0] = B[8][0] >> 2;" (assignment_expression "B[2][0] = B[8][0] >> 2" (subscript_expression "B[2][0]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][0] >> 2" (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal)) ;) (expression_statement "B[4][1] = uVar17 << 0x3f | B[8][1] >> 1;" (assignment_expression "B[4][1] = uVar17 << 0x3f | B[8][1] >> 1" (subscript_expression "B[4][1]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar17 << 0x3f | B[8][1] >> 1" (binary_expression "uVar17 << 0x3f" identifier << number_literal) | (binary_expression "B[8][1] >> 1" (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal))) ;) (expression_statement "B[2][1] = uVar17 << 0x3e | B[8][1] >> 2;" (assignment_expression "B[2][1] = uVar17 << 0x3e | B[8][1] >> 2" (subscript_expression "B[2][1]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar17 << 0x3e | B[8][1] >> 2" (binary_expression "uVar17 << 0x3e" identifier << number_literal) | (binary_expression "B[8][1] >> 2" (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal))) ;) (expression_statement "B[1][1] = uVar17 << 0x3d | B[8][1] >> 3;" (assignment_expression "B[1][1] = uVar17 << 0x3d | B[8][1] >> 3" (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar17 << 0x3d | B[8][1] >> 3" (binary_expression "uVar17 << 0x3d" identifier << number_literal) | (binary_expression "B[8][1] >> 3" (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal))) ;) (expression_statement "B[1][0] = B[8][0] >> 3;" (assignment_expression "B[1][0] = B[8][0] >> 3" (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][0] >> 3" (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal)) ;) (expression_statement "B[2][2] = uVar24 << 0x3e | B[8][2] >> 2;" (assignment_expression "B[2][2] = uVar24 << 0x3e | B[8][2] >> 2" (subscript_expression "B[2][2]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar24 << 0x3e | B[8][2] >> 2" (binary_expression "uVar24 << 0x3e" identifier << number_literal) | (binary_expression "B[8][2] >> 2" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal))) ;) (expression_statement "B[4][2] = uVar24 << 0x3f | B[8][2] >> 1;" (assignment_expression "B[4][2] = uVar24 << 0x3f | B[8][2] >> 1" (subscript_expression "B[4][2]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar24 << 0x3f | B[8][2] >> 1" (binary_expression "uVar24 << 0x3f" identifier << number_literal) | (binary_expression "B[8][2] >> 1" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal))) ;) (expression_statement "B[0xc][2] = B[8][2] ^ B[4][2];" (assignment_expression "B[0xc][2] = B[8][2] ^ B[4][2]" (subscript_expression "B[0xc][2]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][2] ^ B[4][2]" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[4][2]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[10][2] = B[8][2] ^ B[2][2];" (assignment_expression "B[10][2] = B[8][2] ^ B[2][2]" (subscript_expression "B[10][2]" (subscript_expression "B[10]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][2] ^ B[2][2]" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[2][2]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xc][0] = B[4][0] ^ B[8][0];" (assignment_expression "B[0xc][0] = B[4][0] ^ B[8][0]" (subscript_expression "B[0xc][0]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[4][0] ^ B[8][0]" (subscript_expression "B[4][0]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xc][1] = B[4][1] ^ B[8][1];" (assignment_expression "B[0xc][1] = B[4][1] ^ B[8][1]" (subscript_expression "B[0xc][1]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[4][1] ^ B[8][1]" (subscript_expression "B[4][1]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "iVar33 = 0xf;" (assignment_expression "iVar33 = 0xf" identifier = number_literal) ;) (expression_statement "B[6][2] = B[4][2] ^ B[2][2];" (assignment_expression "B[6][2] = B[4][2] ^ B[2][2]" (subscript_expression "B[6][2]" (subscript_expression "B[6]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[4][2] ^ B[2][2]" (subscript_expression "B[4][2]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[2][2]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[6][0] = B[2][0] ^ B[4][0];" (assignment_expression "B[6][0] = B[2][0] ^ B[4][0]" (subscript_expression "B[6][0]" (subscript_expression "B[6]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][0] ^ B[4][0]" (subscript_expression "B[2][0]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[4][0]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[6][1] = B[2][1] ^ B[4][1];" (assignment_expression "B[6][1] = B[2][1] ^ B[4][1]" (subscript_expression "B[6][1]" (subscript_expression "B[6]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][1] ^ B[4][1]" (subscript_expression "B[2][1]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[4][1]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xe][0] = B[2][0] ^ B[0xc][0];" (assignment_expression "B[0xe][0] = B[2][0] ^ B[0xc][0]" (subscript_expression "B[0xe][0]" (subscript_expression "B[0xe]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][0] ^ B[0xc][0]" (subscript_expression "B[2][0]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[0xc][0]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xe][1] = B[2][1] ^ B[0xc][1];" (assignment_expression "B[0xe][1] = B[2][1] ^ B[0xc][1]" (subscript_expression "B[0xe][1]" (subscript_expression "B[0xe]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][1] ^ B[0xc][1]" (subscript_expression "B[2][1]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[0xc][1]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[10][0] = B[2][0] ^ B[8][0];" (assignment_expression "B[10][0] = B[2][0] ^ B[8][0]" (subscript_expression "B[10][0]" (subscript_expression "B[10]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][0] ^ B[8][0]" (subscript_expression "B[2][0]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[10][1] = B[2][1] ^ B[8][1];" (assignment_expression "B[10][1] = B[2][1] ^ B[8][1]" (subscript_expression "B[10][1]" (subscript_expression "B[10]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][1] ^ B[8][1]" (subscript_expression "B[2][1]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[1][2] = uVar24 << 0x3d | B[8][2] >> 3;" (assignment_expression "B[1][2] = uVar24 << 0x3d | B[8][2] >> 3" (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "uVar24 << 0x3d | B[8][2] >> 3" (binary_expression "uVar24 << 0x3d" identifier << number_literal) | (binary_expression "B[8][2] >> 3" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) >> number_literal))) ;) (expression_statement "B[3][0] = B[2][0] ^ B[1][0];" (assignment_expression "B[3][0] = B[2][0] ^ B[1][0]" (subscript_expression "B[3][0]" (subscript_expression "B[3]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][0] ^ B[1][0]" (subscript_expression "B[2][0]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[3][1] = B[2][1] ^ B[1][1];" (assignment_expression "B[3][1] = B[2][1] ^ B[1][1]" (subscript_expression "B[3][1]" (subscript_expression "B[3]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][1] ^ B[1][1]" (subscript_expression "B[2][1]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[3][2] = B[2][2] ^ B[1][2];" (assignment_expression "B[3][2] = B[2][2] ^ B[1][2]" (subscript_expression "B[3][2]" (subscript_expression "B[3]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][2] ^ B[1][2]" (subscript_expression "B[2][2]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[9][2] = B[8][2] ^ B[1][2];" (assignment_expression "B[9][2] = B[8][2] ^ B[1][2]" (subscript_expression "B[9][2]" (subscript_expression "B[9]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][2] ^ B[1][2]" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[9][0] = B[1][0] ^ B[8][0];" (assignment_expression "B[9][0] = B[1][0] ^ B[8][0]" (subscript_expression "B[9][0]" (subscript_expression "B[9]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[1][0] ^ B[8][0]" (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[9][1] = B[1][1] ^ B[8][1];" (assignment_expression "B[9][1] = B[1][1] ^ B[8][1]" (subscript_expression "B[9][1]" (subscript_expression "B[9]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[1][1] ^ B[8][1]" (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[5][0] = B[4][0] ^ B[1][0];" (assignment_expression "B[5][0] = B[4][0] ^ B[1][0]" (subscript_expression "B[5][0]" (subscript_expression "B[5]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[4][0] ^ B[1][0]" (subscript_expression "B[4][0]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[5][1] = B[4][1] ^ B[1][1];" (assignment_expression "B[5][1] = B[4][1] ^ B[1][1]" (subscript_expression "B[5][1]" (subscript_expression "B[5]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[4][1] ^ B[1][1]" (subscript_expression "B[4][1]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xd][0] = B[0xc][0] ^ B[1][0];" (assignment_expression "B[0xd][0] = B[0xc][0] ^ B[1][0]" (subscript_expression "B[0xd][0]" (subscript_expression "B[0xd]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[0xc][0] ^ B[1][0]" (subscript_expression "B[0xc][0]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xd][1] = B[0xc][1] ^ B[1][1];" (assignment_expression "B[0xd][1] = B[0xc][1] ^ B[1][1]" (subscript_expression "B[0xd][1]" (subscript_expression "B[0xd]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[0xc][1] ^ B[1][1]" (subscript_expression "B[0xc][1]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[7][0] = B[6][0] ^ B[1][0];" (assignment_expression "B[7][0] = B[6][0] ^ B[1][0]" (subscript_expression "B[7][0]" (subscript_expression "B[7]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[6][0] ^ B[1][0]" (subscript_expression "B[6][0]" (subscript_expression "B[6]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[7][1] = B[6][1] ^ B[1][1];" (assignment_expression "B[7][1] = B[6][1] ^ B[1][1]" (subscript_expression "B[7][1]" (subscript_expression "B[7]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[6][1] ^ B[1][1]" (subscript_expression "B[6][1]" (subscript_expression "B[6]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xb][0] = B[8][0] ^ B[3][0];" (assignment_expression "B[0xb][0] = B[8][0] ^ B[3][0]" (subscript_expression "B[0xb][0]" (subscript_expression "B[0xb]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][0] ^ B[3][0]" (subscript_expression "B[8][0]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[3][0]" (subscript_expression "B[3]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xb][1] = B[8][1] ^ B[3][1];" (assignment_expression "B[0xb][1] = B[8][1] ^ B[3][1]" (subscript_expression "B[0xb][1]" (subscript_expression "B[0xb]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][1] ^ B[3][1]" (subscript_expression "B[8][1]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[3][1]" (subscript_expression "B[3]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[5][2] = B[4][2] ^ B[1][2];" (assignment_expression "B[5][2] = B[4][2] ^ B[1][2]" (subscript_expression "B[5][2]" (subscript_expression "B[5]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[4][2] ^ B[1][2]" (subscript_expression "B[4][2]" (subscript_expression "B[4]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xe][2] = B[2][2] ^ B[0xc][2];" (assignment_expression "B[0xe][2] = B[2][2] ^ B[0xc][2]" (subscript_expression "B[0xe][2]" (subscript_expression "B[0xe]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[2][2] ^ B[0xc][2]" (subscript_expression "B[2][2]" (subscript_expression "B[2]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[0xc][2]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xf][0] = B[1][0] ^ B[0xe][0];" (assignment_expression "B[0xf][0] = B[1][0] ^ B[0xe][0]" (subscript_expression "B[0xf][0]" (subscript_expression "B[0xf]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[1][0] ^ B[0xe][0]" (subscript_expression "B[1][0]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[0xe][0]" (subscript_expression "B[0xe]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xf][1] = B[1][1] ^ B[0xe][1];" (assignment_expression "B[0xf][1] = B[1][1] ^ B[0xe][1]" (subscript_expression "B[0xf][1]" (subscript_expression "B[0xf]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[1][1] ^ B[0xe][1]" (subscript_expression "B[1][1]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[0xe][1]" (subscript_expression "B[0xe]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xd][2] = B[0xc][2] ^ B[1][2];" (assignment_expression "B[0xd][2] = B[0xc][2] ^ B[1][2]" (subscript_expression "B[0xd][2]" (subscript_expression "B[0xd]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[0xc][2] ^ B[1][2]" (subscript_expression "B[0xc][2]" (subscript_expression "B[0xc]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xb][2] = B[8][2] ^ B[3][2];" (assignment_expression "B[0xb][2] = B[8][2] ^ B[3][2]" (subscript_expression "B[0xb][2]" (subscript_expression "B[0xb]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[8][2] ^ B[3][2]" (subscript_expression "B[8][2]" (subscript_expression "B[8]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[3][2]" (subscript_expression "B[3]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[7][2] = B[6][2] ^ B[1][2];" (assignment_expression "B[7][2] = B[6][2] ^ B[1][2]" (subscript_expression "B[7][2]" (subscript_expression "B[7]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[6][2] ^ B[1][2]" (subscript_expression "B[6][2]" (subscript_expression "B[6]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "B[0xf][2] = B[0xe][2] ^ B[1][2];" (assignment_expression "B[0xf][2] = B[0xe][2] ^ B[1][2]" (subscript_expression "B[0xf][2]" (subscript_expression "B[0xf]" identifier [ number_literal ]) [ number_literal ]) = (binary_expression "B[0xe][2] ^ B[1][2]" (subscript_expression "B[0xe][2]" (subscript_expression "B[0xe]" identifier [ number_literal ]) [ number_literal ]) ^ (subscript_expression "B[1][2]" (subscript_expression "B[1]" identifier [ number_literal ]) [ number_literal ]))) ;) (expression_statement "zeromem(tmp,0x20);" (call_expression "zeromem(tmp,0x20)" identifier (argument_list "(tmp,0x20)" ( identifier , number_literal ))) ;) (while_statement "while( true ) {\n    bVar25 = (char)iVar33 * '\x04' ^ 4;\n    uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;\n    uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;\n    tmp[0] = tmp[0] ^ B[uVar28][0];\n    tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];\n    tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];\n    tmp[3] = tmp[3] ^ B[uVar27][2];\n    if (iVar33 == 0) break;\n    uVar29 = tmp[1] << 0x3c;\n    iVar33 = iVar33 + -1;\n    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;\n    uVar24 = tmp[2] << 0x3c;\n    tmp[0] = tmp[0] >> 4;\n    tmp[2] = tmp[2] >> 4 | uVar29;\n    tmp[3] = tmp[3] >> 4 | uVar24;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    bVar25 = (char)iVar33 * '\x04' ^ 4;\n    uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;\n    uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;\n    tmp[0] = tmp[0] ^ B[uVar28][0];\n    tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];\n    tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];\n    tmp[3] = tmp[3] ^ B[uVar27][2];\n    if (iVar33 == 0) break;\n    uVar29 = tmp[1] << 0x3c;\n    iVar33 = iVar33 + -1;\n    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;\n    uVar24 = tmp[2] << 0x3c;\n    tmp[0] = tmp[0] >> 4;\n    tmp[2] = tmp[2] >> 4 | uVar29;\n    tmp[3] = tmp[3] >> 4 | uVar24;\n  }" { (expression_statement "bVar25 = (char)iVar33 * '\x04' ^ 4;" (assignment_expression "bVar25 = (char)iVar33 * '\x04' ^ 4" identifier = (binary_expression "(char)iVar33 * '\x04' ^ 4" (binary_expression "(char)iVar33 * '\x04'" (cast_expression "(char)iVar33" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x04'" ' escape_sequence ')) ^ number_literal)) ;) (expression_statement "uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf;" (assignment_expression "uVar28 = (uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf" identifier = (binary_expression "(uint)(uVar19 >> (bVar25 & 0x3f)) & 0xf" (call_expression "(uint)(uVar19 >> (bVar25 & 0x3f))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 >> (bVar25 & 0x3f))" ( (binary_expression "uVar19 >> (bVar25 & 0x3f)" identifier >> (parenthesized_expression "(bVar25 & 0x3f)" ( (binary_expression "bVar25 & 0x3f" identifier & number_literal) ))) ))) & number_literal)) ;) (expression_statement "uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf;" (assignment_expression "uVar27 = (uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf" identifier = (binary_expression "(uint)(uVar20 >> (bVar25 & 0x3f)) & 0xf" (call_expression "(uint)(uVar20 >> (bVar25 & 0x3f))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 >> (bVar25 & 0x3f))" ( (binary_expression "uVar20 >> (bVar25 & 0x3f)" identifier >> (parenthesized_expression "(bVar25 & 0x3f)" ( (binary_expression "bVar25 & 0x3f" identifier & number_literal) ))) ))) & number_literal)) ;) (expression_statement "tmp[0] = tmp[0] ^ B[uVar28][0];" (assignment_expression "tmp[0] = tmp[0] ^ B[uVar28][0]" (subscript_expression "tmp[0]" identifier [ number_literal ]) = (binary_expression "tmp[0] ^ B[uVar28][0]" (subscript_expression "tmp[0]" identifier [ number_literal ]) ^ (subscript_expression "B[uVar28][0]" (subscript_expression "B[uVar28]" identifier [ identifier ]) [ number_literal ]))) ;) (expression_statement "tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1];" (assignment_expression "tmp[1] = B[uVar28][1] ^ B[uVar27][0] ^ tmp[1]" (subscript_expression "tmp[1]" identifier [ number_literal ]) = (binary_expression "B[uVar28][1] ^ B[uVar27][0] ^ tmp[1]" (binary_expression "B[uVar28][1] ^ B[uVar27][0]" (subscript_expression "B[uVar28][1]" (subscript_expression "B[uVar28]" identifier [ identifier ]) [ number_literal ]) ^ (subscript_expression "B[uVar27][0]" (subscript_expression "B[uVar27]" identifier [ identifier ]) [ number_literal ])) ^ (subscript_expression "tmp[1]" identifier [ number_literal ]))) ;) (expression_statement "tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2];" (assignment_expression "tmp[2] = B[uVar28][2] ^ B[uVar27][1] ^ tmp[2]" (subscript_expression "tmp[2]" identifier [ number_literal ]) = (binary_expression "B[uVar28][2] ^ B[uVar27][1] ^ tmp[2]" (binary_expression "B[uVar28][2] ^ B[uVar27][1]" (subscript_expression "B[uVar28][2]" (subscript_expression "B[uVar28]" identifier [ identifier ]) [ number_literal ]) ^ (subscript_expression "B[uVar27][1]" (subscript_expression "B[uVar27]" identifier [ identifier ]) [ number_literal ])) ^ (subscript_expression "tmp[2]" identifier [ number_literal ]))) ;) (expression_statement "tmp[3] = tmp[3] ^ B[uVar27][2];" (assignment_expression "tmp[3] = tmp[3] ^ B[uVar27][2]" (subscript_expression "tmp[3]" identifier [ number_literal ]) = (binary_expression "tmp[3] ^ B[uVar27][2]" (subscript_expression "tmp[3]" identifier [ number_literal ]) ^ (subscript_expression "B[uVar27][2]" (subscript_expression "B[uVar27]" identifier [ identifier ]) [ number_literal ]))) ;) (if_statement "if (iVar33 == 0) break;" if (parenthesized_expression "(iVar33 == 0)" ( (binary_expression "iVar33 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar29 = tmp[1] << 0x3c;" (assignment_expression "uVar29 = tmp[1] << 0x3c" identifier = (binary_expression "tmp[1] << 0x3c" (subscript_expression "tmp[1]" identifier [ number_literal ]) << number_literal)) ;) (expression_statement "iVar33 = iVar33 + -1;" (assignment_expression "iVar33 = iVar33 + -1" identifier = (binary_expression "iVar33 + -1" identifier + number_literal)) ;) (expression_statement "tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;" (assignment_expression "tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c" (subscript_expression "tmp[1]" identifier [ number_literal ]) = (binary_expression "tmp[1] >> 4 | tmp[0] << 0x3c" (binary_expression "tmp[1] >> 4" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) | (binary_expression "tmp[0] << 0x3c" (subscript_expression "tmp[0]" identifier [ number_literal ]) << number_literal))) ;) (expression_statement "uVar24 = tmp[2] << 0x3c;" (assignment_expression "uVar24 = tmp[2] << 0x3c" identifier = (binary_expression "tmp[2] << 0x3c" (subscript_expression "tmp[2]" identifier [ number_literal ]) << number_literal)) ;) (expression_statement "tmp[0] = tmp[0] >> 4;" (assignment_expression "tmp[0] = tmp[0] >> 4" (subscript_expression "tmp[0]" identifier [ number_literal ]) = (binary_expression "tmp[0] >> 4" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal)) ;) (expression_statement "tmp[2] = tmp[2] >> 4 | uVar29;" (assignment_expression "tmp[2] = tmp[2] >> 4 | uVar29" (subscript_expression "tmp[2]" identifier [ number_literal ]) = (binary_expression "tmp[2] >> 4 | uVar29" (binary_expression "tmp[2] >> 4" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) | identifier)) ;) (expression_statement "tmp[3] = tmp[3] >> 4 | uVar24;" (assignment_expression "tmp[3] = tmp[3] >> 4 | uVar24" (subscript_expression "tmp[3]" identifier [ number_literal ]) = (binary_expression "tmp[3] >> 4 | uVar24" (binary_expression "tmp[3] >> 4" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) | identifier)) ;) })) (expression_statement "bVar23 = (byte)(tmp[2] >> 0x30);" (assignment_expression "bVar23 = (byte)(tmp[2] >> 0x30)" identifier = (call_expression "(byte)(tmp[2] >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[2] >> 0x30)" ( (binary_expression "tmp[2] >> 0x30" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "uVar31 = (uint)(tmp[2] >> 0x20);" (assignment_expression "uVar31 = (uint)(tmp[2] >> 0x20)" identifier = (call_expression "(uint)(tmp[2] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(tmp[2] >> 0x20)" ( (binary_expression "tmp[2] >> 0x20" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "bVar22 = (byte)(tmp[2] >> 0x18);" (assignment_expression "bVar22 = (byte)(tmp[2] >> 0x18)" identifier = (call_expression "(byte)(tmp[2] >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[2] >> 0x18)" ( (binary_expression "tmp[2] >> 0x18" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "bVar15 = (byte)(tmp[2] >> 0x10);" (assignment_expression "bVar15 = (byte)(tmp[2] >> 0x10)" identifier = (call_expression "(byte)(tmp[2] >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[2] >> 0x10)" ( (binary_expression "tmp[2] >> 0x10" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "bVar21 = (byte)(tmp[2] >> 8);" (assignment_expression "bVar21 = (byte)(tmp[2] >> 8)" identifier = (call_expression "(byte)(tmp[2] >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[2] >> 8)" ( (binary_expression "tmp[2] >> 8" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "bVar11 = (byte)(tmp[3] >> 0x30);" (assignment_expression "bVar11 = (byte)(tmp[3] >> 0x30)" identifier = (call_expression "(byte)(tmp[3] >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[3] >> 0x30)" ( (binary_expression "tmp[3] >> 0x30" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "uVar30 = (uint)(tmp[3] >> 0x20);" (assignment_expression "uVar30 = (uint)(tmp[3] >> 0x20)" identifier = (call_expression "(uint)(tmp[3] >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(tmp[3] >> 0x20)" ( (binary_expression "tmp[3] >> 0x20" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "uVar28 = (uint)(tmp[3] >> 8) & 0xff00;" (assignment_expression "uVar28 = (uint)(tmp[3] >> 8) & 0xff00" identifier = (binary_expression "(uint)(tmp[3] >> 8) & 0xff00" (call_expression "(uint)(tmp[3] >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(tmp[3] >> 8)" ( (binary_expression "tmp[3] >> 8" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) ))) & number_literal)) ;) (expression_statement "uVar18 = (ushort)(tmp[3] >> 8) & 0xff;" (assignment_expression "uVar18 = (ushort)(tmp[3] >> 8) & 0xff" identifier = (binary_expression "(ushort)(tmp[3] >> 8) & 0xff" (call_expression "(ushort)(tmp[3] >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(tmp[3] >> 8)" ( (binary_expression "tmp[3] >> 8" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) ))) & number_literal)) ;) (expression_statement "uVar27 = (uint)(byte)tmp[3] * 2;" (assignment_expression "uVar27 = (uint)(byte)tmp[3] * 2" identifier = (binary_expression "(uint)(byte)tmp[3] * 2" (cast_expression "(uint)(byte)tmp[3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)tmp[3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "tmp[3]" identifier [ number_literal ]))) * number_literal)) ;) (expression_statement "bVar25 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar25 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "bVar26 = (byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar26 = (byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (binary_expression "(byte)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" (call_expression "(byte)(tmp[2] >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[2] >> 0x38)" ( (binary_expression "tmp[2] >> 0x38" (subscript_expression "tmp[2]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar27 = (uint)uVar18 + (uint)uVar18;" (assignment_expression "uVar27 = (uint)uVar18 + (uint)uVar18" identifier = (binary_expression "(uint)uVar18 + (uint)uVar18" (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)uVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar1 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar1 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "bVar2 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar2 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar27 = (uVar28 >> 8) + (uVar28 >> 8);" (assignment_expression "uVar27 = (uVar28 >> 8) + (uVar28 >> 8)" identifier = (binary_expression "(uVar28 >> 8) + (uVar28 >> 8)" (parenthesized_expression "(uVar28 >> 8)" ( (binary_expression "uVar28 >> 8" identifier >> number_literal) )) + (parenthesized_expression "(uVar28 >> 8)" ( (binary_expression "uVar28 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bVar3 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar3 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "bVar4 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar4 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar27 = ((uint)(tmp[3] >> 0x18) & 0xff) * 2;" (assignment_expression "uVar27 = ((uint)(tmp[3] >> 0x18) & 0xff) * 2" identifier = (binary_expression "((uint)(tmp[3] >> 0x18) & 0xff) * 2" (parenthesized_expression "((uint)(tmp[3] >> 0x18) & 0xff)" ( (binary_expression "(uint)(tmp[3] >> 0x18) & 0xff" (call_expression "(uint)(tmp[3] >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(tmp[3] >> 0x18)" ( (binary_expression "tmp[3] >> 0x18" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) ))) & number_literal) )) * number_literal)) ;) (expression_statement "bVar5 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar5 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "bVar6 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar6 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar27 = (uVar30 & 0xff) * 2;" (assignment_expression "uVar27 = (uVar30 & 0xff) * 2" identifier = (binary_expression "(uVar30 & 0xff) * 2" (parenthesized_expression "(uVar30 & 0xff)" ( (binary_expression "uVar30 & 0xff" identifier & number_literal) )) * number_literal)) ;) (expression_statement "bVar7 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar7 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "bVar8 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar8 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "bVar9 = (byte)(tmp[3] >> 0x38);" (assignment_expression "bVar9 = (byte)(tmp[3] >> 0x38)" identifier = (call_expression "(byte)(tmp[3] >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[3] >> 0x38)" ( (binary_expression "tmp[3] >> 0x38" (subscript_expression "tmp[3]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "uVar28 = (uint)bVar9 + (uint)bVar9;" (assignment_expression "uVar28 = (uint)bVar9 + (uint)bVar9" identifier = (binary_expression "(uint)bVar9 + (uint)bVar9" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar27 = (uVar30 & 0xff00) >> 7;" (assignment_expression "uVar27 = (uVar30 & 0xff00) >> 7" identifier = (binary_expression "(uVar30 & 0xff00) >> 7" (parenthesized_expression "(uVar30 & 0xff00)" ( (binary_expression "uVar30 & 0xff00" identifier & number_literal) )) >> number_literal)) ;) (expression_statement "bVar9 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar9 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "bVar10 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar10 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "uVar27 = (uint)bVar11 + (uint)bVar11;" (assignment_expression "uVar27 = (uint)bVar11 + (uint)bVar11" identifier = (binary_expression "(uint)bVar11 + (uint)bVar11" (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar11 = PTR_gcm_shift_table_001ecfc8[uVar27];" (assignment_expression "bVar11 = PTR_gcm_shift_table_001ecfc8[uVar27]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ;) (expression_statement "bVar12 = PTR_gcm_shift_table_001ecfc8[uVar28];" (assignment_expression "bVar12 = PTR_gcm_shift_table_001ecfc8[uVar28]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar28]" identifier [ identifier ])) ;) (expression_statement "bVar13 = PTR_gcm_shift_table_001ecfc8[uVar28 + 1];" (assignment_expression "bVar13 = PTR_gcm_shift_table_001ecfc8[uVar28 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar28 + 1]" identifier [ (binary_expression "uVar28 + 1" identifier + number_literal) ])) ;) (expression_statement "bVar14 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar14 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar30 = (uint)bVar15 + (uint)bVar15;" (assignment_expression "uVar30 = (uint)bVar15 + (uint)bVar15" identifier = (binary_expression "(uint)bVar15 + (uint)bVar15" (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar15" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar27 = (uint)(byte)tmp[2] * 2;" (assignment_expression "uVar27 = (uint)(byte)tmp[2] * 2" identifier = (binary_expression "(uint)(byte)tmp[2] * 2" (cast_expression "(uint)(byte)tmp[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)tmp[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "tmp[2]" identifier [ number_literal ]))) * number_literal)) ;) (expression_statement "bVar15 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "bVar15 = PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier = (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar32 = (uint)bVar21 + (uint)bVar21;" (assignment_expression "uVar32 = (uint)bVar21 + (uint)bVar21" identifier = (binary_expression "(uint)bVar21 + (uint)bVar21" (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar28 = (uVar31 & 0xff00) >> 7;" (assignment_expression "uVar28 = (uVar31 & 0xff00) >> 7" identifier = (binary_expression "(uVar31 & 0xff00) >> 7" (parenthesized_expression "(uVar31 & 0xff00)" ( (binary_expression "uVar31 & 0xff00" identifier & number_literal) )) >> number_literal)) ;) (expression_statement "pTmp[7] = (byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];" (assignment_expression "pTmp[7] = (byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1]" (subscript_expression "pTmp[7]" identifier [ number_literal ]) = (binary_expression "(byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1]" (binary_expression "(byte)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar27]" (cast_expression "(byte)tmp[0]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "tmp[0]" identifier [ number_literal ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar32 + 1]" identifier [ (binary_expression "uVar32 + 1" identifier + number_literal) ]))) ;) (expression_statement "pTmp[6] = (byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];" (assignment_expression "pTmp[6] = (byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1]" (subscript_expression "pTmp[6]" identifier [ number_literal ]) = (binary_expression "(byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1]" (binary_expression "(byte)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar32]" (call_expression "(byte)(tmp[0] >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[0] >> 8)" ( (binary_expression "tmp[0] >> 8" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar32]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar30 + 1]" identifier [ (binary_expression "uVar30 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar27 = (uVar31 & 0xff) * 2;" (assignment_expression "uVar27 = (uVar31 & 0xff) * 2" identifier = (binary_expression "(uVar31 & 0xff) * 2" (parenthesized_expression "(uVar31 & 0xff)" ( (binary_expression "uVar31 & 0xff" identifier & number_literal) )) * number_literal)) ;) (expression_statement "uVar32 = (uint)bVar22 + (uint)bVar22;" (assignment_expression "uVar32 = (uint)bVar22 + (uint)bVar22" identifier = (binary_expression "(uint)bVar22 + (uint)bVar22" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar31 = (uint)bVar23 + (uint)bVar23;" (assignment_expression "uVar31 = (uint)bVar23 + (uint)bVar23" identifier = (binary_expression "(uint)bVar23 + (uint)bVar23" (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pTmp[5] = (byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1];" (assignment_expression "pTmp[5] = (byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1]" (subscript_expression "pTmp[5]" identifier [ number_literal ]) = (binary_expression "(byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30] ^\n            PTR_gcm_shift_table_001ecfc8[uVar32 + 1]" (binary_expression "(byte)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar30]" (call_expression "(byte)(tmp[0] >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[0] >> 0x10)" ( (binary_expression "tmp[0] >> 0x10" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar30]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar32 + 1]" identifier [ (binary_expression "uVar32 + 1" identifier + number_literal) ]))) ;) (expression_statement "pTmp[4] = (byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar27 + 1];" (assignment_expression "pTmp[4] = (byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" (subscript_expression "pTmp[4]" identifier [ number_literal ]) = (binary_expression "(byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32] ^\n            PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" (binary_expression "(byte)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar32]" (call_expression "(byte)(tmp[0] >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[0] >> 0x18)" ( (binary_expression "tmp[0] >> 0x18" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar32]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27 + 1]" identifier [ (binary_expression "uVar27 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar30 = (uint)bVar26 + (uint)bVar26;" (assignment_expression "uVar30 = (uint)bVar26 + (uint)bVar26" identifier = (binary_expression "(uint)bVar26 + (uint)bVar26" (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pTmp[3] = (byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar28 + 1];" (assignment_expression "pTmp[3] = (byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar28 + 1]" (subscript_expression "pTmp[3]" identifier [ number_literal ]) = (binary_expression "(byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27] ^\n            PTR_gcm_shift_table_001ecfc8[uVar28 + 1]" (binary_expression "(byte)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar27]" (call_expression "(byte)(tmp[0] >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[0] >> 0x20)" ( (binary_expression "tmp[0] >> 0x20" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar27]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar28 + 1]" identifier [ (binary_expression "uVar28 + 1" identifier + number_literal) ]))) ;) (expression_statement "pTmp[0] = (uchar)(tmp[0] >> 0x38);" (assignment_expression "pTmp[0] = (uchar)(tmp[0] >> 0x38)" (subscript_expression "pTmp[0]" identifier [ number_literal ]) = (call_expression "(uchar)(tmp[0] >> 0x38)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(tmp[0] >> 0x38)" ( (binary_expression "tmp[0] >> 0x38" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) )))) ;) (expression_statement "pTmp[2] = (byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^\n            PTR_gcm_shift_table_001ecfc8[uVar31 + 1];" (assignment_expression "pTmp[2] = (byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^\n            PTR_gcm_shift_table_001ecfc8[uVar31 + 1]" (subscript_expression "pTmp[2]" identifier [ number_literal ]) = (binary_expression "(byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28] ^\n            PTR_gcm_shift_table_001ecfc8[uVar31 + 1]" (binary_expression "(byte)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar28]" (call_expression "(byte)(tmp[0] >> 0x28)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[0] >> 0x28)" ( (binary_expression "tmp[0] >> 0x28" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar28]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar31 + 1]" identifier [ (binary_expression "uVar31 + 1" identifier + number_literal) ]))) ;) (expression_statement "pTmp[1] = (byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1];" (assignment_expression "pTmp[1] = (byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1]" (subscript_expression "pTmp[1]" identifier [ number_literal ]) = (binary_expression "(byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31] ^\n            PTR_gcm_shift_table_001ecfc8[uVar30 + 1]" (binary_expression "(byte)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar31]" (call_expression "(byte)(tmp[0] >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[0] >> 0x30)" ( (binary_expression "tmp[0] >> 0x30" (subscript_expression "tmp[0]" identifier [ number_literal ]) >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar31]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar30 + 1]" identifier [ (binary_expression "uVar30 + 1" identifier + number_literal) ]))) ;) (expression_statement "pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30];" (assignment_expression "pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30]" (subscript_expression "pTmp[0]" identifier [ number_literal ]) = (binary_expression "pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[uVar30]" (subscript_expression "pTmp[0]" identifier [ number_literal ]) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar30]" identifier [ identifier ]))) ;) (expression_statement "*(undefined8 *)c = pTmp._0_8_;" (assignment_expression "*(undefined8 *)c = pTmp._0_8_" (pointer_expression "*(undefined8 *)c" * (cast_expression "(undefined8 *)c" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "pTmp._0_8_" identifier . field_identifier)) ;) (expression_statement "*(ulong *)(c + 8) =\n       CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               );" (assignment_expression "*(ulong *)(c + 8) =\n       CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               )" (pointer_expression "*(ulong *)(c + 8)" * (cast_expression "(ulong *)(c + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(c + 8)" ( (binary_expression "c + 8" identifier + number_literal) )))) = (call_expression "CONCAT17((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               )" identifier (argument_list "((byte)tmp[1] ^ bVar25 ^ bVar2,\n                CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))\n               )" ( (binary_expression "(byte)tmp[1] ^ bVar25 ^ bVar2" (binary_expression "(byte)tmp[1] ^ bVar25" (cast_expression "(byte)tmp[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "tmp[1]" identifier [ number_literal ])) ^ identifier) ^ identifier) , (call_expression "CONCAT16((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))" identifier (argument_list "((byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4,\n                         CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))))" ( (binary_expression "(byte)(tmp[1] >> 8) ^ bVar1 ^ bVar4" (binary_expression "(byte)(tmp[1] >> 8) ^ bVar1" (call_expression "(byte)(tmp[1] >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 8)" ( (binary_expression "tmp[1] >> 8" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) , (call_expression "CONCAT15((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15)))))" identifier (argument_list "((byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6,\n                                  CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15)))))" ( (binary_expression "(byte)(tmp[1] >> 0x10) ^ bVar3 ^ bVar6" (binary_expression "(byte)(tmp[1] >> 0x10) ^ bVar3" (call_expression "(byte)(tmp[1] >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 0x10)" ( (binary_expression "tmp[1] >> 0x10" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) , (call_expression "CONCAT14((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))" identifier (argument_list "((byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8,\n                                           CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))))" ( (binary_expression "(byte)(tmp[1] >> 0x18) ^ bVar5 ^ bVar8" (binary_expression "(byte)(tmp[1] >> 0x18) ^ bVar5" (call_expression "(byte)(tmp[1] >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 0x18)" ( (binary_expression "tmp[1] >> 0x18" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) , (call_expression "CONCAT13((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15)))" identifier (argument_list "((byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9,\n                                                    CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15)))" ( (binary_expression "(byte)(tmp[1] >> 0x20) ^ bVar7 ^ bVar9" (binary_expression "(byte)(tmp[1] >> 0x20) ^ bVar7" (call_expression "(byte)(tmp[1] >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 0x20)" ( (binary_expression "tmp[1] >> 0x20" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) , (call_expression "CONCAT12((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))" identifier (argument_list "((byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14,CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15))" ( (binary_expression "(byte)(tmp[1] >> 0x28) ^ bVar10 ^\n                                                             bVar14" (binary_expression "(byte)(tmp[1] >> 0x28) ^ bVar10" (call_expression "(byte)(tmp[1] >> 0x28)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 0x28)" ( (binary_expression "tmp[1] >> 0x28" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) , (call_expression "CONCAT11((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15)" identifier (argument_list "((byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13,\n                                                                             (byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15)" ( (binary_expression "(byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11 ^ bVar13" (binary_expression "(byte)(tmp[1] >> 0x30)\n                                                                             ^ bVar11" (call_expression "(byte)(tmp[1] >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 0x30)" ( (binary_expression "tmp[1] >> 0x30" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) , (binary_expression "(byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12 ^ bVar15" (binary_expression "(byte)(tmp[1] >> 0x38)\n                                                                             ^ bVar12" (call_expression "(byte)(tmp[1] >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(tmp[1] >> 0x38)" ( (binary_expression "tmp[1] >> 0x38" (subscript_expression "tmp[1]" identifier [ number_literal ]) >> number_literal) ))) ^ identifier) ^ identifier) ))) ))) ))) ))) ))) ))) )))) ;) (if_statement "if (lVar16 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(lVar16 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar16 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)\n\n{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "void gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)\n\n{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" primitive_type (function_declarator "gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)" identifier (parameter_list "(ulong *param_1,ulong *param_2,undefined8 *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 "undefined8 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte local_258;" type_identifier identifier ;) (declaration "byte local_248;" type_identifier identifier ;) (declaration "byte local_238;" type_identifier identifier ;) (declaration "ulong local_208;" type_identifier identifier ;) (declaration "ulong uStack_200;" type_identifier identifier ;) (declaration "ulong local_1f8;" type_identifier identifier ;) (declaration "ulong uStack_1f0;" type_identifier identifier ;) (declaration "ulong local_1e8 [4];" type_identifier (array_declarator "local_1e8 [4]" identifier [ number_literal ]) ;) (declaration "ulong uStack_1c8;" type_identifier identifier ;) (declaration "ulong local_1c0;" type_identifier identifier ;) (declaration "ulong local_1b8;" type_identifier identifier ;) (declaration "ulong uStack_1b0;" type_identifier identifier ;) (declaration "ulong local_1a8;" type_identifier identifier ;) (declaration "ulong local_1a0;" type_identifier identifier ;) (declaration "ulong uStack_198;" type_identifier identifier ;) (declaration "ulong local_190;" type_identifier identifier ;) (declaration "ulong local_188;" type_identifier identifier ;) (declaration "ulong uStack_180;" type_identifier identifier ;) (declaration "ulong local_178;" type_identifier identifier ;) (declaration "ulong local_170;" type_identifier identifier ;) (declaration "ulong uStack_168;" type_identifier identifier ;) (declaration "ulong local_160;" type_identifier identifier ;) (declaration "ulong local_158;" type_identifier identifier ;) (declaration "ulong uStack_150;" type_identifier identifier ;) (declaration "ulong local_148;" type_identifier identifier ;) (declaration "ulong local_140;" type_identifier identifier ;) (declaration "ulong uStack_138;" type_identifier identifier ;) (declaration "ulong local_130;" type_identifier identifier ;) (declaration "ulong local_128;" type_identifier identifier ;) (declaration "ulong uStack_120;" type_identifier identifier ;) (declaration "ulong local_118;" type_identifier identifier ;) (declaration "ulong local_110;" type_identifier identifier ;) (declaration "ulong uStack_108;" type_identifier identifier ;) (declaration "ulong local_100;" type_identifier identifier ;) (declaration "ulong local_f8;" type_identifier identifier ;) (declaration "ulong uStack_f0;" type_identifier identifier ;) (declaration "ulong local_e8;" type_identifier identifier ;) (declaration "ulong local_e0;" type_identifier identifier ;) (declaration "ulong uStack_d8;" type_identifier identifier ;) (declaration "ulong local_d0;" type_identifier identifier ;) (declaration "ulong local_c8;" type_identifier identifier ;) (declaration "ulong uStack_c0;" type_identifier identifier ;) (declaration "ulong local_b8;" type_identifier identifier ;) (declaration "ulong local_b0;" type_identifier identifier ;) (declaration "ulong uStack_a8;" type_identifier identifier ;) (declaration "ulong local_a0;" type_identifier identifier ;) (declaration "ulong local_98;" type_identifier identifier ;) (declaration "ulong uStack_90;" type_identifier identifier ;) (declaration "ulong local_88;" type_identifier identifier ;) (declaration "ulong local_80;" type_identifier identifier ;) (declaration "ulong uStack_78;" type_identifier identifier ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "byte bStack_60;" type_identifier identifier ;) (declaration "byte bStack_5f;" type_identifier identifier ;) (declaration "byte bStack_5e;" type_identifier identifier ;) (declaration "byte bStack_5d;" type_identifier identifier ;) (declaration "byte bStack_5c;" type_identifier identifier ;) (declaration "byte bStack_5b;" type_identifier identifier ;) (declaration "byte bStack_5a;" type_identifier identifier ;) (declaration "byte bStack_59;" type_identifier identifier ;) (declaration "ulong local_58;" type_identifier identifier ;) (declaration "ulong local_50;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "zeromem(local_1e8,0x18);" (call_expression "zeromem(local_1e8,0x18)" identifier (argument_list "(local_1e8,0x18)" ( identifier , number_literal ))) ;) (expression_statement "zeromem(&local_128,0x18);" (call_expression "zeromem(&local_128,0x18)" identifier (argument_list "(&local_128,0x18)" ( (pointer_expression "&local_128" & identifier) , number_literal ))) ;) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar10 = param_1[1];" (assignment_expression "uVar10 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar4 = param_2[1];" (assignment_expression "uVar4 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = uVar5 >> 0x38;" (assignment_expression "uVar1 = uVar5 >> 0x38" identifier = (binary_expression "uVar5 >> 0x38" identifier >> number_literal)) ;) (expression_statement "local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;" (assignment_expression "local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38" identifier = (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28" identifier | (binary_expression "(uVar5 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar5 & 0xff000000000000)" ( (binary_expression "uVar5 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar5 & 0xff0000000000)" ( (binary_expression "uVar5 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff00000000) >> 8" (parenthesized_expression "(uVar5 & 0xff00000000)" ( (binary_expression "uVar5 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff000000) << 8" (parenthesized_expression "(uVar5 & 0xff000000)" ( (binary_expression "uVar5 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar5 & 0xff0000) << 0x18" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar5 & 0xff00) << 0x28" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar5 = uVar10 >> 0x38;" (assignment_expression "uVar5 = uVar10 >> 0x38" identifier = (binary_expression "uVar10 >> 0x38" identifier >> number_literal)) ;) (expression_statement "uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" identifier = (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28" identifier | (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" ( (binary_expression "uVar10 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" ( (binary_expression "uVar10 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" ( (binary_expression "uVar10 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "local_188 = local_128 >> 1;" (assignment_expression "local_188 = local_128 >> 1" identifier = (binary_expression "local_128 >> 1" identifier >> number_literal)) ;) (expression_statement "local_1b8 = local_128 >> 2;" (assignment_expression "local_1b8 = local_128 >> 2" identifier = (binary_expression "local_128 >> 2" identifier >> number_literal)) ;) (expression_statement "uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;" (assignment_expression "uStack_180 = uVar1 << 0x3f | uStack_120 >> 1" identifier = (binary_expression "uVar1 << 0x3f | uStack_120 >> 1" (binary_expression "uVar1 << 0x3f" identifier << number_literal) | (binary_expression "uStack_120 >> 1" identifier >> number_literal))) ;) (expression_statement "uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;" (assignment_expression "uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2" identifier = (binary_expression "uVar1 << 0x3e | uStack_120 >> 2" (binary_expression "uVar1 << 0x3e" identifier << number_literal) | (binary_expression "uStack_120 >> 2" identifier >> number_literal))) ;) (expression_statement "uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;" (assignment_expression "uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3" identifier = (binary_expression "uVar1 << 0x3d | uStack_120 >> 3" (binary_expression "uVar1 << 0x3d" identifier << number_literal) | (binary_expression "uStack_120 >> 3" identifier >> number_literal))) ;) (expression_statement "local_1e8[3] = local_128 >> 3;" (assignment_expression "local_1e8[3] = local_128 >> 3" (subscript_expression "local_1e8[3]" identifier [ number_literal ]) = (binary_expression "local_128 >> 3" identifier >> number_literal)) ;) (expression_statement "local_1a8 = uVar5 << 0x3e | local_118 >> 2;" (assignment_expression "local_1a8 = uVar5 << 0x3e | local_118 >> 2" identifier = (binary_expression "uVar5 << 0x3e | local_118 >> 2" (binary_expression "uVar5 << 0x3e" identifier << number_literal) | (binary_expression "local_118 >> 2" identifier >> number_literal))) ;) (expression_statement "local_178 = uVar5 << 0x3f | local_118 >> 1;" (assignment_expression "local_178 = uVar5 << 0x3f | local_118 >> 1" identifier = (binary_expression "uVar5 << 0x3f | local_118 >> 1" (binary_expression "uVar5 << 0x3f" identifier << number_literal) | (binary_expression "local_118 >> 1" identifier >> number_literal))) ;) (expression_statement "local_b8 = local_118 ^ local_178;" (assignment_expression "local_b8 = local_118 ^ local_178" identifier = (binary_expression "local_118 ^ local_178" identifier ^ identifier)) ;) (expression_statement "local_e8 = local_118 ^ local_1a8;" (assignment_expression "local_e8 = local_118 ^ local_1a8" identifier = (binary_expression "local_118 ^ local_1a8" identifier ^ identifier)) ;) (expression_statement "local_c8 = local_188 ^ local_128;" (assignment_expression "local_c8 = local_188 ^ local_128" identifier = (binary_expression "local_188 ^ local_128" identifier ^ identifier)) ;) (expression_statement "uStack_c0 = uStack_180 ^ uStack_120;" (assignment_expression "uStack_c0 = uStack_180 ^ uStack_120" identifier = (binary_expression "uStack_180 ^ uStack_120" identifier ^ identifier)) ;) (expression_statement "iVar15 = 0xf;" (assignment_expression "iVar15 = 0xf" identifier = number_literal) ;) (expression_statement "local_148 = local_178 ^ local_1a8;" (assignment_expression "local_148 = local_178 ^ local_1a8" identifier = (binary_expression "local_178 ^ local_1a8" identifier ^ identifier)) ;) (expression_statement "local_158 = local_1b8 ^ local_188;" (assignment_expression "local_158 = local_1b8 ^ local_188" identifier = (binary_expression "local_1b8 ^ local_188" identifier ^ identifier)) ;) (expression_statement "uStack_150 = uStack_1b0 ^ uStack_180;" (assignment_expression "uStack_150 = uStack_1b0 ^ uStack_180" identifier = (binary_expression "uStack_1b0 ^ uStack_180" identifier ^ identifier)) ;) (expression_statement "local_98 = local_1b8 ^ local_c8;" (assignment_expression "local_98 = local_1b8 ^ local_c8" identifier = (binary_expression "local_1b8 ^ local_c8" identifier ^ identifier)) ;) (expression_statement "uStack_90 = uStack_1b0 ^ uStack_c0;" (assignment_expression "uStack_90 = uStack_1b0 ^ uStack_c0" identifier = (binary_expression "uStack_1b0 ^ uStack_c0" identifier ^ identifier)) ;) (expression_statement "local_f8 = local_1b8 ^ local_128;" (assignment_expression "local_f8 = local_1b8 ^ local_128" identifier = (binary_expression "local_1b8 ^ local_128" identifier ^ identifier)) ;) (expression_statement "uStack_f0 = uStack_1b0 ^ uStack_120;" (assignment_expression "uStack_f0 = uStack_1b0 ^ uStack_120" identifier = (binary_expression "uStack_1b0 ^ uStack_120" identifier ^ identifier)) ;) (expression_statement "local_1c0 = uVar5 << 0x3d | local_118 >> 3;" (assignment_expression "local_1c0 = uVar5 << 0x3d | local_118 >> 3" identifier = (binary_expression "uVar5 << 0x3d | local_118 >> 3" (binary_expression "uVar5 << 0x3d" identifier << number_literal) | (binary_expression "local_118 >> 3" identifier >> number_literal))) ;) (expression_statement "local_1a0 = local_1b8 ^ local_1e8[3];" (assignment_expression "local_1a0 = local_1b8 ^ local_1e8[3]" identifier = (binary_expression "local_1b8 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_198 = uStack_1b0 ^ uStack_1c8;" (assignment_expression "uStack_198 = uStack_1b0 ^ uStack_1c8" identifier = (binary_expression "uStack_1b0 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_190 = local_1a8 ^ local_1c0;" (assignment_expression "local_190 = local_1a8 ^ local_1c0" identifier = (binary_expression "local_1a8 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_100 = local_118 ^ local_1c0;" (assignment_expression "local_100 = local_118 ^ local_1c0" identifier = (binary_expression "local_118 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_110 = local_1e8[3] ^ local_128;" (assignment_expression "local_110 = local_1e8[3] ^ local_128" identifier = (binary_expression "local_1e8[3] ^ local_128" (subscript_expression "local_1e8[3]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uStack_108 = uStack_1c8 ^ uStack_120;" (assignment_expression "uStack_108 = uStack_1c8 ^ uStack_120" identifier = (binary_expression "uStack_1c8 ^ uStack_120" identifier ^ identifier)) ;) (expression_statement "local_170 = local_188 ^ local_1e8[3];" (assignment_expression "local_170 = local_188 ^ local_1e8[3]" identifier = (binary_expression "local_188 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_168 = uStack_180 ^ uStack_1c8;" (assignment_expression "uStack_168 = uStack_180 ^ uStack_1c8" identifier = (binary_expression "uStack_180 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_b0 = local_c8 ^ local_1e8[3];" (assignment_expression "local_b0 = local_c8 ^ local_1e8[3]" identifier = (binary_expression "local_c8 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_a8 = uStack_c0 ^ uStack_1c8;" (assignment_expression "uStack_a8 = uStack_c0 ^ uStack_1c8" identifier = (binary_expression "uStack_c0 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_140 = local_158 ^ local_1e8[3];" (assignment_expression "local_140 = local_158 ^ local_1e8[3]" identifier = (binary_expression "local_158 ^ local_1e8[3]" identifier ^ (subscript_expression "local_1e8[3]" identifier [ number_literal ]))) ;) (expression_statement "uStack_138 = uStack_150 ^ uStack_1c8;" (assignment_expression "uStack_138 = uStack_150 ^ uStack_1c8" identifier = (binary_expression "uStack_150 ^ uStack_1c8" identifier ^ identifier)) ;) (expression_statement "local_e0 = local_128 ^ local_1a0;" (assignment_expression "local_e0 = local_128 ^ local_1a0" identifier = (binary_expression "local_128 ^ local_1a0" identifier ^ identifier)) ;) (expression_statement "uStack_d8 = uStack_120 ^ uStack_198;" (assignment_expression "uStack_d8 = uStack_120 ^ uStack_198" identifier = (binary_expression "uStack_120 ^ uStack_198" identifier ^ identifier)) ;) (expression_statement "local_160 = local_178 ^ local_1c0;" (assignment_expression "local_160 = local_178 ^ local_1c0" identifier = (binary_expression "local_178 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_88 = local_1a8 ^ local_b8;" (assignment_expression "local_88 = local_1a8 ^ local_b8" identifier = (binary_expression "local_1a8 ^ local_b8" identifier ^ identifier)) ;) (expression_statement "local_80 = local_1e8[3] ^ local_98;" (assignment_expression "local_80 = local_1e8[3] ^ local_98" identifier = (binary_expression "local_1e8[3] ^ local_98" (subscript_expression "local_1e8[3]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "uStack_78 = uStack_1c8 ^ uStack_90;" (assignment_expression "uStack_78 = uStack_1c8 ^ uStack_90" identifier = (binary_expression "uStack_1c8 ^ uStack_90" identifier ^ identifier)) ;) (expression_statement "local_a0 = local_b8 ^ local_1c0;" (assignment_expression "local_a0 = local_b8 ^ local_1c0" identifier = (binary_expression "local_b8 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_d0 = local_118 ^ local_190;" (assignment_expression "local_d0 = local_118 ^ local_190" identifier = (binary_expression "local_118 ^ local_190" identifier ^ identifier)) ;) (expression_statement "local_130 = local_148 ^ local_1c0;" (assignment_expression "local_130 = local_148 ^ local_1c0" identifier = (binary_expression "local_148 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "local_70 = local_88 ^ local_1c0;" (assignment_expression "local_70 = local_88 ^ local_1c0" identifier = (binary_expression "local_88 ^ local_1c0" identifier ^ identifier)) ;) (expression_statement "zeromem(&local_208,0x20);" (call_expression "zeromem(&local_208,0x20)" identifier (argument_list "(&local_208,0x20)" ( (pointer_expression "&local_208" & identifier) , number_literal ))) ;) (while_statement "while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }" { (expression_statement "bVar6 = (char)iVar15 * '\x04' ^ 4;" (assignment_expression "bVar6 = (char)iVar15 * '\x04' ^ 4" identifier = (binary_expression "(char)iVar15 * '\x04' ^ 4" (binary_expression "(char)iVar15 * '\x04'" (cast_expression "(char)iVar15" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x04'" ' escape_sequence ')) ^ number_literal)) ;) (expression_statement "uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);" (assignment_expression "uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" identifier = (call_expression "(ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" ( (binary_expression "(uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf" (call_expression "(uint)(uVar3 >> (bVar6 & 0x3f))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 >> (bVar6 & 0x3f))" ( (binary_expression "uVar3 >> (bVar6 & 0x3f)" identifier >> (parenthesized_expression "(bVar6 & 0x3f)" ( (binary_expression "bVar6 & 0x3f" identifier & number_literal) ))) ))) & number_literal) )))) ;) (expression_statement "uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);" (assignment_expression "uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" identifier = (call_expression "(ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" ( (binary_expression "(uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf" (call_expression "(uint)(uVar4 >> (bVar6 & 0x3f))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> (bVar6 & 0x3f))" ( (binary_expression "uVar4 >> (bVar6 & 0x3f)" identifier >> (parenthesized_expression "(bVar6 & 0x3f)" ( (binary_expression "bVar6 & 0x3f" identifier & number_literal) ))) ))) & number_literal) )))) ;) (expression_statement "local_208 = local_208 ^ local_1e8[uVar10 * 3];" (assignment_expression "local_208 = local_208 ^ local_1e8[uVar10 * 3]" identifier = (binary_expression "local_208 ^ local_1e8[uVar10 * 3]" identifier ^ (subscript_expression "local_1e8[uVar10 * 3]" identifier [ (binary_expression "uVar10 * 3" identifier * number_literal) ]))) ;) (expression_statement "uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;" (assignment_expression "uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200" identifier = (binary_expression "local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200" (binary_expression "local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3]" (subscript_expression "local_1e8[uVar10 * 3 + 1]" identifier [ (binary_expression "uVar10 * 3 + 1" (binary_expression "uVar10 * 3" identifier * number_literal) + number_literal) ]) ^ (subscript_expression "local_1e8[uVar5 * 3]" identifier [ (binary_expression "uVar5 * 3" identifier * number_literal) ])) ^ identifier)) ;) (expression_statement "local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;" (assignment_expression "local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8" identifier = (binary_expression "local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8" (binary_expression "local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1]" (subscript_expression "local_1e8[uVar10 * 3 + 2]" identifier [ (binary_expression "uVar10 * 3 + 2" (binary_expression "uVar10 * 3" identifier * number_literal) + number_literal) ]) ^ (subscript_expression "local_1e8[uVar5 * 3 + 1]" identifier [ (binary_expression "uVar5 * 3 + 1" (binary_expression "uVar5 * 3" identifier * number_literal) + number_literal) ])) ^ identifier)) ;) (expression_statement "uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];" (assignment_expression "uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2]" identifier = (binary_expression "uStack_1f0 ^ local_1e8[uVar5 * 3 + 2]" identifier ^ (subscript_expression "local_1e8[uVar5 * 3 + 2]" identifier [ (binary_expression "uVar5 * 3 + 2" (binary_expression "uVar5 * 3" identifier * number_literal) + number_literal) ]))) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uStack_200 << 0x3c;" (assignment_expression "uVar10 = uStack_200 << 0x3c" identifier = (binary_expression "uStack_200 << 0x3c" identifier << number_literal)) ;) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" identifier = (binary_expression "iVar15 + -1" identifier + number_literal)) ;) (expression_statement "uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;" (assignment_expression "uStack_200 = uStack_200 >> 4 | local_208 << 0x3c" identifier = (binary_expression "uStack_200 >> 4 | local_208 << 0x3c" (binary_expression "uStack_200 >> 4" identifier >> number_literal) | (binary_expression "local_208 << 0x3c" identifier << number_literal))) ;) (expression_statement "uVar5 = local_1f8 << 0x3c;" (assignment_expression "uVar5 = local_1f8 << 0x3c" identifier = (binary_expression "local_1f8 << 0x3c" identifier << number_literal)) ;) (expression_statement "local_208 = local_208 >> 4;" (assignment_expression "local_208 = local_208 >> 4" identifier = (binary_expression "local_208 >> 4" identifier >> number_literal)) ;) (expression_statement "local_1f8 = local_1f8 >> 4 | uVar10;" (assignment_expression "local_1f8 = local_1f8 >> 4 | uVar10" identifier = (binary_expression "local_1f8 >> 4 | uVar10" (binary_expression "local_1f8 >> 4" identifier >> number_literal) | identifier)) ;) (expression_statement "uStack_1f0 = uStack_1f0 >> 4 | uVar5;" (assignment_expression "uStack_1f0 = uStack_1f0 >> 4 | uVar5" identifier = (binary_expression "uStack_1f0 >> 4 | uVar5" (binary_expression "uStack_1f0 >> 4" identifier >> number_literal) | identifier)) ;) })) (expression_statement "local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;" (assignment_expression "local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38" identifier = (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28" (binary_expression "local_1f8 >> 0x38" identifier >> number_literal) | (binary_expression "(local_1f8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(local_1f8 & 0xff000000000000)" ( (binary_expression "local_1f8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_1f8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(local_1f8 & 0xff0000000000)" ( (binary_expression "local_1f8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_1f8 & 0xff00000000) >> 8" (parenthesized_expression "(local_1f8 & 0xff00000000)" ( (binary_expression "local_1f8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_1f8 & 0xff000000) << 8" (parenthesized_expression "(local_1f8 & 0xff000000)" ( (binary_expression "local_1f8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(local_1f8 & 0xff0000) << 0x18" (parenthesized_expression "(local_1f8 & 0xff0000)" ( (binary_expression "local_1f8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(local_1f8 & 0xff00) << 0x28" (parenthesized_expression "(local_1f8 & 0xff00)" ( (binary_expression "local_1f8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_1f8 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;" (assignment_expression "uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8" identifier = (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8" (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18" (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28" (binary_expression "uStack_1f0 >> 0x38" identifier >> number_literal) | (binary_expression "(uStack_1f0 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uStack_1f0 & 0xff000000000000)" ( (binary_expression "uStack_1f0 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uStack_1f0 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uStack_1f0 & 0xff0000000000)" ( (binary_expression "uStack_1f0 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uStack_1f0 & 0xff00000000) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff00000000)" ( (binary_expression "uStack_1f0 & 0xff00000000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;" (assignment_expression "local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38" identifier = (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8" identifier | (binary_expression "(uStack_1f0 & 0xff000000) << 8" (parenthesized_expression "(uStack_1f0 & 0xff000000)" ( (binary_expression "uStack_1f0 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uStack_1f0 & 0xff0000) << 0x18" (parenthesized_expression "(uStack_1f0 & 0xff0000)" ( (binary_expression "uStack_1f0 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uStack_1f0 & 0xff00) << 0x28" (parenthesized_expression "(uStack_1f0 & 0xff00)" ( (binary_expression "uStack_1f0 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uStack_1f0 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar9 = (uint)(byte)uStack_1f0 * 2;" (assignment_expression "uVar9 = (uint)(byte)uStack_1f0 * 2" identifier = (binary_expression "(uint)(byte)uStack_1f0 * 2" (cast_expression "(uint)(byte)uStack_1f0" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)uStack_1f0" ( (type_descriptor "byte" type_identifier) ) identifier)) * number_literal)) ;) (expression_statement "bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (call_expression "(byte)(local_1f8 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_1f8 >> 0x38)" ( (binary_expression "local_1f8 >> 0x38" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);" (assignment_expression "uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8)" identifier = (call_expression "(ushort)((uStack_1f0 & 0xff00) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uStack_1f0 & 0xff00) >> 8)" ( (binary_expression "(uStack_1f0 & 0xff00) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff00)" ( (binary_expression "uStack_1f0 & 0xff00" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)uVar2 + (uint)uVar2;" (assignment_expression "uVar14 = (uint)uVar2 + (uint)uVar2" identifier = (binary_expression "(uint)uVar2 + (uint)uVar2" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];" (assignment_expression "bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier = (binary_expression "(byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (cast_expression "(byte)uStack_200" ( (type_descriptor "byte" type_identifier) ) identifier) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier [ (binary_expression "uVar14 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);" (assignment_expression "uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8)" identifier = (call_expression "(uint)((uStack_1f0 & 0xff0000) >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uStack_1f0 & 0xff0000) >> 8)" ( (binary_expression "(uStack_1f0 & 0xff0000) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff0000)" ( (binary_expression "uStack_1f0 & 0xff0000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar11 = (uVar9 >> 8) + (uVar9 >> 8);" (assignment_expression "uVar11 = (uVar9 >> 8) + (uVar9 >> 8)" identifier = (binary_expression "(uVar9 >> 8) + (uVar9 >> 8)" (parenthesized_expression "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) )) + (parenthesized_expression "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) )))) ;) (expression_statement "bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(uStack_200 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 8)" ( (binary_expression "uStack_200 >> 8" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;" (assignment_expression "uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2" identifier = (binary_expression "(int)((uStack_1f0 & 0xff000000) >> 0x18) * 2" (cast_expression "(int)((uStack_1f0 & 0xff000000) >> 0x18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uStack_1f0 & 0xff000000) >> 0x18)" ( (binary_expression "(uStack_1f0 & 0xff000000) >> 0x18" (parenthesized_expression "(uStack_1f0 & 0xff000000)" ( (binary_expression "uStack_1f0 & 0xff000000" identifier & number_literal) )) >> number_literal) ))) * number_literal)) ;) (expression_statement "bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);" (assignment_expression "bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30)" identifier = (call_expression "(byte)((uStack_1f0 & 0xff000000000000) >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uStack_1f0 & 0xff000000000000) >> 0x30)" ( (binary_expression "(uStack_1f0 & 0xff000000000000) >> 0x30" (parenthesized_expression "(uStack_1f0 & 0xff000000000000)" ( (binary_expression "uStack_1f0 & 0xff000000000000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x10)" ( (binary_expression "uStack_200 >> 0x10" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;" (assignment_expression "uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2" identifier = (binary_expression "(int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2" (cast_expression "(int)((uStack_1f0 & 0xff00000000) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uStack_1f0 & 0xff00000000) >> 0x20)" ( (binary_expression "(uStack_1f0 & 0xff00000000) >> 0x20" (parenthesized_expression "(uStack_1f0 & 0xff00000000)" ( (binary_expression "uStack_1f0 & 0xff00000000" identifier & number_literal) )) >> number_literal) ))) * number_literal)) ;) (expression_statement "local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);" (assignment_expression "local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10)" identifier = (call_expression "(byte)((local_1f8 & 0xff0000) >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff0000) >> 0x10)" ( (binary_expression "(local_1f8 & 0xff0000) >> 0x10" (parenthesized_expression "(local_1f8 & 0xff0000)" ( (binary_expression "local_1f8 & 0xff0000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (call_expression "(byte)(uStack_200 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x18)" ( (binary_expression "uStack_200 >> 0x18" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ]))) ;) (expression_statement "bVar6 = (byte)(uStack_1f0 >> 0x38);" (assignment_expression "bVar6 = (byte)(uStack_1f0 >> 0x38)" identifier = (call_expression "(byte)(uStack_1f0 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_1f0 >> 0x38)" ( (binary_expression "uStack_1f0 >> 0x38" identifier >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)bVar6 + (uint)bVar6;" (assignment_expression "uVar14 = (uint)bVar6 + (uint)bVar6" identifier = (binary_expression "(uint)bVar6 + (uint)bVar6" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;" (assignment_expression "uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe" identifier = (binary_expression "(uint)(uVar5 >> 0xf) & 0x1fe" (call_expression "(uint)(uVar5 >> 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 >> 0xf)" ( (binary_expression "uVar5 >> 0xf" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x20)" ( (binary_expression "uStack_200 >> 0x20" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar11 = (uint)bVar8 + (uint)bVar8;" (assignment_expression "uVar11 = (uint)bVar8 + (uint)bVar8" identifier = (binary_expression "(uint)bVar8 + (uint)bVar8" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];" (assignment_expression "bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x30)" ( (binary_expression "uStack_200 >> 0x30" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier [ (binary_expression "uVar14 + 1" identifier + number_literal) ]))) ;) (expression_statement "bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (call_expression "(byte)(uStack_200 >> 0x28)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x28)" ( (binary_expression "uStack_200 >> 0x28" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ]))) ;) (expression_statement "uVar9 = (uint)(byte)local_1f8 * 2;" (assignment_expression "uVar9 = (uint)(byte)local_1f8 * 2" identifier = (binary_expression "(uint)(byte)local_1f8 * 2" (cast_expression "(uint)(byte)local_1f8" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)local_1f8" ( (type_descriptor "byte" type_identifier) ) identifier)) * number_literal)) ;) (expression_statement "bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier = (binary_expression "(byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(uStack_200 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_200 >> 0x38)" ( (binary_expression "uStack_200 >> 0x38" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" identifier [ (binary_expression "uVar9 + 1" identifier + number_literal) ]))) ;) (expression_statement "local_258 = (byte)((local_1f8 & 0xff00) >> 8);" (assignment_expression "local_258 = (byte)((local_1f8 & 0xff00) >> 8)" identifier = (call_expression "(byte)((local_1f8 & 0xff00) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff00) >> 8)" ( (binary_expression "(local_1f8 & 0xff00) >> 8" (parenthesized_expression "(local_1f8 & 0xff00)" ( (binary_expression "local_1f8 & 0xff00" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);" (assignment_expression "bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30)" identifier = (call_expression "(byte)((local_1f8 & 0xff000000000000) >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff000000000000) >> 0x30)" ( (binary_expression "(local_1f8 & 0xff000000000000) >> 0x30" (parenthesized_expression "(local_1f8 & 0xff000000000000)" ( (binary_expression "local_1f8 & 0xff000000000000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;" (assignment_expression "uVar14 = (uint)(local_58 >> 0xf) & 0x1fe" identifier = (binary_expression "(uint)(local_58 >> 0xf) & 0x1fe" (call_expression "(uint)(local_58 >> 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_58 >> 0xf)" ( (binary_expression "local_58 >> 0xf" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);" (assignment_expression "local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18)" identifier = (call_expression "(byte)((local_1f8 & 0xff000000) >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((local_1f8 & 0xff000000) >> 0x18)" ( (binary_expression "(local_1f8 & 0xff000000) >> 0x18" (parenthesized_expression "(local_1f8 & 0xff000000)" ( (binary_expression "local_1f8 & 0xff000000" identifier & number_literal) )) >> number_literal) )))) ;) (expression_statement "uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;" (assignment_expression "uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2" identifier = (binary_expression "(int)((local_1f8 & 0xff00000000) >> 0x20) * 2" (cast_expression "(int)((local_1f8 & 0xff00000000) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_1f8 & 0xff00000000) >> 0x20)" ( (binary_expression "(local_1f8 & 0xff00000000) >> 0x20" (parenthesized_expression "(local_1f8 & 0xff00000000)" ( (binary_expression "local_1f8 & 0xff00000000" identifier & number_literal) )) >> number_literal) ))) * number_literal)) ;) (expression_statement "uVar12 = (uint)bVar6 + (uint)bVar6;" (assignment_expression "uVar12 = (uint)bVar6 + (uint)bVar6" identifier = (binary_expression "(uint)bVar6 + (uint)bVar6" (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar6" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar13 = (uint)bVar7 + (uint)bVar7;" (assignment_expression "uVar13 = (uint)bVar7 + (uint)bVar7" identifier = (binary_expression "(uint)bVar7 + (uint)bVar7" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "local_68._0_1_ = (byte)(local_208 >> 0x38);" (assignment_expression "local_68._0_1_ = (byte)(local_208 >> 0x38)" (field_expression "local_68._0_1_" identifier . field_identifier) = (call_expression "(byte)(local_208 >> 0x38)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x38)" ( (binary_expression "local_208 >> 0x38" identifier >> number_literal) )))) ;) (expression_statement "local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];" (assignment_expression "local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13]" (field_expression "local_68._0_1_" identifier . field_identifier) = (binary_expression "(byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13]" (cast_expression "(byte)local_68" ( (type_descriptor "byte" type_identifier) ) identifier) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar13]" identifier [ identifier ]))) ;) (expression_statement "local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));" (assignment_expression "local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" identifier = (call_expression "CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" identifier (argument_list "(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" ( (call_expression "CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1])" identifier (argument_list "(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1])" ( (call_expression "CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1])" identifier (argument_list "(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1])" ( (call_expression "CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))" identifier (argument_list "(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))" ( (call_expression "CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1])" identifier (argument_list "((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1])" ( (binary_expression "(byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1]" (binary_expression "(byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9]" (cast_expression "(byte)local_208" ( (type_descriptor "byte" type_identifier) ) identifier) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1]" identifier [ (binary_expression "(uint)local_258 + (uint)local_258 + 1" (binary_expression "(uint)local_258 + (uint)local_258" (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) ])) , (binary_expression "(byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]" (binary_expression "(byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258]" (call_expression "(byte)(local_208 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 8)" ( (binary_expression "local_208 >> 8" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258]" identifier [ (binary_expression "(uint)local_258 + (uint)local_258" (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_258" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]" identifier [ (binary_expression "(uint)local_248 + (uint)local_248 + 1" (binary_expression "(uint)local_248 + (uint)local_248" (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) ])) ))) , (call_expression "CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1])" identifier (argument_list "((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1])" ( (binary_expression "(byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1]" (binary_expression "(byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248]" (call_expression "(byte)(local_208 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x10)" ( (binary_expression "local_208 >> 0x10" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248]" identifier [ (binary_expression "(uint)local_248 + (uint)local_248" (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_248" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1]" identifier [ (binary_expression "(uint)local_238 + (uint)local_238 + 1" (binary_expression "(uint)local_238 + (uint)local_238" (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal) ])) , (binary_expression "(byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238]" (call_expression "(byte)(local_208 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x18)" ( (binary_expression "local_208 >> 0x18" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238]" identifier [ (binary_expression "(uint)local_238 + (uint)local_238" (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_238" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" identifier [ (binary_expression "uVar11 + 1" identifier + number_literal) ])) ))) ))) , (binary_expression "(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(local_208 >> 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x20)" ( (binary_expression "local_208 >> 0x20" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" identifier [ (binary_expression "uVar14 + 1" identifier + number_literal) ])) ))) , (binary_expression "(byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]" (binary_expression "(byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(local_208 >> 0x28)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x28)" ( (binary_expression "local_208 >> 0x28" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar12 + 1]" identifier [ (binary_expression "uVar12 + 1" identifier + number_literal) ])) ))) , (call_expression "CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68)" identifier (argument_list "((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68)" ( (binary_expression "(byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1]" (binary_expression "(byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12]" (call_expression "(byte)(local_208 >> 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_208 >> 0x30)" ( (binary_expression "local_208 >> 0x30" identifier >> number_literal) ))) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar12]" identifier [ identifier ])) ^ (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar13 + 1]" identifier [ (binary_expression "uVar13 + 1" identifier + number_literal) ])) , (cast_expression "(byte)local_68" ( (type_descriptor "byte" type_identifier) ) identifier) ))) )))) ;) (expression_statement "*param_3 = local_68;" (assignment_expression "*param_3 = local_68" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));" (assignment_expression "param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (call_expression "CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" identifier (argument_list "(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" ( identifier , (call_expression "CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )))" identifier (argument_list "(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )))" ( identifier , (call_expression "CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))" identifier (argument_list "(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))" ( identifier , (call_expression "CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )" identifier (argument_list "(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )" ( identifier , (call_expression "CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))" identifier (argument_list "(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))" ( identifier , (call_expression "CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60))" identifier (argument_list "(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60))" ( identifier , (call_expression "CONCAT11(bStack_5f,bStack_60)" identifier (argument_list "(bStack_5f,bStack_60)" ( identifier , identifier ))) ))) ))) ))) ))) ))) )))) ;) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(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 ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 ;) (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 ;) (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 ;) (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 ;) (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 ;) (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 ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT | (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 IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT | (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 IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')) ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) ))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) ))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) ^ (subscript_expression IDENT [ (binary_expression IDENT * LIT) ])) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) ^ (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) | IDENT)) ;) })) (expression_statement (assignment_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 IDENT = (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))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT | (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 IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (subscript_expression IDENT [ IDENT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) ])) , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ])) ^ (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) ])) ))) , (call_expression IDENT (argument_list ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ])) ^ (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) ])) , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ))) ))) , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ))) , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ))) , (call_expression IDENT (argument_list ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (subscript_expression IDENT [ IDENT ])) ^ (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , IDENT ))) ))) ))) ))) ))) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)\n\n{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" (primitive_type "void") (function_declarator "gcm_gf_mult(ulong *param_1,ulong *param_2,undefined8 *param_3)" (identifier "gcm_gf_mult") (parameter_list "(ulong *param_1,ulong *param_2,undefined8 *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 "undefined8 *param_3" (type_identifier "undefined8") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  ulong uVar1;\n  ushort uVar2;\n  ulong uVar3;\n  ulong uVar4;\n  ulong uVar5;\n  byte bVar6;\n  byte bVar7;\n  byte bVar8;\n  uint uVar9;\n  ulong uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  long in_FS_OFFSET;\n  byte local_258;\n  byte local_248;\n  byte local_238;\n  ulong local_208;\n  ulong uStack_200;\n  ulong local_1f8;\n  ulong uStack_1f0;\n  ulong local_1e8 [4];\n  ulong uStack_1c8;\n  ulong local_1c0;\n  ulong local_1b8;\n  ulong uStack_1b0;\n  ulong local_1a8;\n  ulong local_1a0;\n  ulong uStack_198;\n  ulong local_190;\n  ulong local_188;\n  ulong uStack_180;\n  ulong local_178;\n  ulong local_170;\n  ulong uStack_168;\n  ulong local_160;\n  ulong local_158;\n  ulong uStack_150;\n  ulong local_148;\n  ulong local_140;\n  ulong uStack_138;\n  ulong local_130;\n  ulong local_128;\n  ulong uStack_120;\n  ulong local_118;\n  ulong local_110;\n  ulong uStack_108;\n  ulong local_100;\n  ulong local_f8;\n  ulong uStack_f0;\n  ulong local_e8;\n  ulong local_e0;\n  ulong uStack_d8;\n  ulong local_d0;\n  ulong local_c8;\n  ulong uStack_c0;\n  ulong local_b8;\n  ulong local_b0;\n  ulong uStack_a8;\n  ulong local_a0;\n  ulong local_98;\n  ulong uStack_90;\n  ulong local_88;\n  ulong local_80;\n  ulong uStack_78;\n  ulong local_70;\n  undefined8 local_68;\n  byte bStack_60;\n  byte bStack_5f;\n  byte bStack_5e;\n  byte bStack_5d;\n  byte bStack_5c;\n  byte bStack_5b;\n  byte bStack_5a;\n  byte bStack_59;\n  ulong local_58;\n  ulong local_50;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  zeromem(local_1e8,0x18);\n  zeromem(&local_128,0x18);\n  uVar5 = *param_1;\n  uVar10 = param_1[1];\n  uVar3 = *param_2;\n  uVar4 = param_2[1];\n  uVar1 = uVar5 >> 0x38;\n  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;\n  uVar5 = uVar10 >> 0x38;\n  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;\n  local_188 = local_128 >> 1;\n  local_1b8 = local_128 >> 2;\n  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;\n  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;\n  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;\n  local_1e8[3] = local_128 >> 3;\n  local_1a8 = uVar5 << 0x3e | local_118 >> 2;\n  local_178 = uVar5 << 0x3f | local_118 >> 1;\n  local_b8 = local_118 ^ local_178;\n  local_e8 = local_118 ^ local_1a8;\n  local_c8 = local_188 ^ local_128;\n  uStack_c0 = uStack_180 ^ uStack_120;\n  iVar15 = 0xf;\n  local_148 = local_178 ^ local_1a8;\n  local_158 = local_1b8 ^ local_188;\n  uStack_150 = uStack_1b0 ^ uStack_180;\n  local_98 = local_1b8 ^ local_c8;\n  uStack_90 = uStack_1b0 ^ uStack_c0;\n  local_f8 = local_1b8 ^ local_128;\n  uStack_f0 = uStack_1b0 ^ uStack_120;\n  local_1c0 = uVar5 << 0x3d | local_118 >> 3;\n  local_1a0 = local_1b8 ^ local_1e8[3];\n  uStack_198 = uStack_1b0 ^ uStack_1c8;\n  local_190 = local_1a8 ^ local_1c0;\n  local_100 = local_118 ^ local_1c0;\n  local_110 = local_1e8[3] ^ local_128;\n  uStack_108 = uStack_1c8 ^ uStack_120;\n  local_170 = local_188 ^ local_1e8[3];\n  uStack_168 = uStack_180 ^ uStack_1c8;\n  local_b0 = local_c8 ^ local_1e8[3];\n  uStack_a8 = uStack_c0 ^ uStack_1c8;\n  local_140 = local_158 ^ local_1e8[3];\n  uStack_138 = uStack_150 ^ uStack_1c8;\n  local_e0 = local_128 ^ local_1a0;\n  uStack_d8 = uStack_120 ^ uStack_198;\n  local_160 = local_178 ^ local_1c0;\n  local_88 = local_1a8 ^ local_b8;\n  local_80 = local_1e8[3] ^ local_98;\n  uStack_78 = uStack_1c8 ^ uStack_90;\n  local_a0 = local_b8 ^ local_1c0;\n  local_d0 = local_118 ^ local_190;\n  local_130 = local_148 ^ local_1c0;\n  local_70 = local_88 ^ local_1c0;\n  zeromem(&local_208,0x20);\n  while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }\n  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;\n  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;\n  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;\n  uVar9 = (uint)(byte)uStack_1f0 * 2;\n  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);\n  uVar14 = (uint)uVar2 + (uint)uVar2;\n  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);\n  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);\n  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;\n  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);\n  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;\n  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);\n  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  bVar6 = (byte)(uStack_1f0 >> 0x38);\n  uVar14 = (uint)bVar6 + (uint)bVar6;\n  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;\n  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  uVar11 = (uint)bVar8 + (uint)bVar8;\n  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];\n  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];\n  uVar9 = (uint)(byte)local_1f8 * 2;\n  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];\n  local_258 = (byte)((local_1f8 & 0xff00) >> 8);\n  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);\n  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;\n  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);\n  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;\n  uVar12 = (uint)bVar6 + (uint)bVar6;\n  uVar13 = (uint)bVar7 + (uint)bVar7;\n  local_68._0_1_ = (byte)(local_208 >> 0x38);\n  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];\n  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));\n  *param_3 = local_68;\n  param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));\n  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "ulong uVar3;" (type_identifier "ulong") (identifier "uVar3") (; ";")) (declaration "ulong uVar4;" (type_identifier "ulong") (identifier "uVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "byte bVar8;" (type_identifier "byte") (identifier "bVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "byte local_258;" (type_identifier "byte") (identifier "local_258") (; ";")) (declaration "byte local_248;" (type_identifier "byte") (identifier "local_248") (; ";")) (declaration "byte local_238;" (type_identifier "byte") (identifier "local_238") (; ";")) (declaration "ulong local_208;" (type_identifier "ulong") (identifier "local_208") (; ";")) (declaration "ulong uStack_200;" (type_identifier "ulong") (identifier "uStack_200") (; ";")) (declaration "ulong local_1f8;" (type_identifier "ulong") (identifier "local_1f8") (; ";")) (declaration "ulong uStack_1f0;" (type_identifier "ulong") (identifier "uStack_1f0") (; ";")) (declaration "ulong local_1e8 [4];" (type_identifier "ulong") (array_declarator "local_1e8 [4]" (identifier "local_1e8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "ulong uStack_1c8;" (type_identifier "ulong") (identifier "uStack_1c8") (; ";")) (declaration "ulong local_1c0;" (type_identifier "ulong") (identifier "local_1c0") (; ";")) (declaration "ulong local_1b8;" (type_identifier "ulong") (identifier "local_1b8") (; ";")) (declaration "ulong uStack_1b0;" (type_identifier "ulong") (identifier "uStack_1b0") (; ";")) (declaration "ulong local_1a8;" (type_identifier "ulong") (identifier "local_1a8") (; ";")) (declaration "ulong local_1a0;" (type_identifier "ulong") (identifier "local_1a0") (; ";")) (declaration "ulong uStack_198;" (type_identifier "ulong") (identifier "uStack_198") (; ";")) (declaration "ulong local_190;" (type_identifier "ulong") (identifier "local_190") (; ";")) (declaration "ulong local_188;" (type_identifier "ulong") (identifier "local_188") (; ";")) (declaration "ulong uStack_180;" (type_identifier "ulong") (identifier "uStack_180") (; ";")) (declaration "ulong local_178;" (type_identifier "ulong") (identifier "local_178") (; ";")) (declaration "ulong local_170;" (type_identifier "ulong") (identifier "local_170") (; ";")) (declaration "ulong uStack_168;" (type_identifier "ulong") (identifier "uStack_168") (; ";")) (declaration "ulong local_160;" (type_identifier "ulong") (identifier "local_160") (; ";")) (declaration "ulong local_158;" (type_identifier "ulong") (identifier "local_158") (; ";")) (declaration "ulong uStack_150;" (type_identifier "ulong") (identifier "uStack_150") (; ";")) (declaration "ulong local_148;" (type_identifier "ulong") (identifier "local_148") (; ";")) (declaration "ulong local_140;" (type_identifier "ulong") (identifier "local_140") (; ";")) (declaration "ulong uStack_138;" (type_identifier "ulong") (identifier "uStack_138") (; ";")) (declaration "ulong local_130;" (type_identifier "ulong") (identifier "local_130") (; ";")) (declaration "ulong local_128;" (type_identifier "ulong") (identifier "local_128") (; ";")) (declaration "ulong uStack_120;" (type_identifier "ulong") (identifier "uStack_120") (; ";")) (declaration "ulong local_118;" (type_identifier "ulong") (identifier "local_118") (; ";")) (declaration "ulong local_110;" (type_identifier "ulong") (identifier "local_110") (; ";")) (declaration "ulong uStack_108;" (type_identifier "ulong") (identifier "uStack_108") (; ";")) (declaration "ulong local_100;" (type_identifier "ulong") (identifier "local_100") (; ";")) (declaration "ulong local_f8;" (type_identifier "ulong") (identifier "local_f8") (; ";")) (declaration "ulong uStack_f0;" (type_identifier "ulong") (identifier "uStack_f0") (; ";")) (declaration "ulong local_e8;" (type_identifier "ulong") (identifier "local_e8") (; ";")) (declaration "ulong local_e0;" (type_identifier "ulong") (identifier "local_e0") (; ";")) (declaration "ulong uStack_d8;" (type_identifier "ulong") (identifier "uStack_d8") (; ";")) (declaration "ulong local_d0;" (type_identifier "ulong") (identifier "local_d0") (; ";")) (declaration "ulong local_c8;" (type_identifier "ulong") (identifier "local_c8") (; ";")) (declaration "ulong uStack_c0;" (type_identifier "ulong") (identifier "uStack_c0") (; ";")) (declaration "ulong local_b8;" (type_identifier "ulong") (identifier "local_b8") (; ";")) (declaration "ulong local_b0;" (type_identifier "ulong") (identifier "local_b0") (; ";")) (declaration "ulong uStack_a8;" (type_identifier "ulong") (identifier "uStack_a8") (; ";")) (declaration "ulong local_a0;" (type_identifier "ulong") (identifier "local_a0") (; ";")) (declaration "ulong local_98;" (type_identifier "ulong") (identifier "local_98") (; ";")) (declaration "ulong uStack_90;" (type_identifier "ulong") (identifier "uStack_90") (; ";")) (declaration "ulong local_88;" (type_identifier "ulong") (identifier "local_88") (; ";")) (declaration "ulong local_80;" (type_identifier "ulong") (identifier "local_80") (; ";")) (declaration "ulong uStack_78;" (type_identifier "ulong") (identifier "uStack_78") (; ";")) (declaration "ulong local_70;" (type_identifier "ulong") (identifier "local_70") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "byte bStack_60;" (type_identifier "byte") (identifier "bStack_60") (; ";")) (declaration "byte bStack_5f;" (type_identifier "byte") (identifier "bStack_5f") (; ";")) (declaration "byte bStack_5e;" (type_identifier "byte") (identifier "bStack_5e") (; ";")) (declaration "byte bStack_5d;" (type_identifier "byte") (identifier "bStack_5d") (; ";")) (declaration "byte bStack_5c;" (type_identifier "byte") (identifier "bStack_5c") (; ";")) (declaration "byte bStack_5b;" (type_identifier "byte") (identifier "bStack_5b") (; ";")) (declaration "byte bStack_5a;" (type_identifier "byte") (identifier "bStack_5a") (; ";")) (declaration "byte bStack_59;" (type_identifier "byte") (identifier "bStack_59") (; ";")) (declaration "ulong local_58;" (type_identifier "ulong") (identifier "local_58") (; ";")) (declaration "ulong local_50;" (type_identifier "ulong") (identifier "local_50") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "zeromem(local_1e8,0x18);" (call_expression "zeromem(local_1e8,0x18)" (identifier "zeromem") (argument_list "(local_1e8,0x18)" (( "(") (identifier "local_1e8") (, ",") (number_literal "0x18") () ")"))) (; ";")) (expression_statement "zeromem(&local_128,0x18);" (call_expression "zeromem(&local_128,0x18)" (identifier "zeromem") (argument_list "(&local_128,0x18)" (( "(") (pointer_expression "&local_128" (& "&") (identifier "local_128")) (, ",") (number_literal "0x18") () ")"))) (; ";")) (expression_statement "uVar5 = *param_1;" (assignment_expression "uVar5 = *param_1" (identifier "uVar5") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar10 = param_1[1];" (assignment_expression "uVar10 = param_1[1]" (identifier "uVar10") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar4 = param_2[1];" (assignment_expression "uVar4 = param_2[1]" (identifier "uVar4") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar1 = uVar5 >> 0x38;" (assignment_expression "uVar1 = uVar5 >> 0x38" (identifier "uVar1") (= "=") (binary_expression "uVar5 >> 0x38" (identifier "uVar5") (>> ">>") (number_literal "0x38"))) (; ";")) (expression_statement "local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;" (assignment_expression "local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38" (identifier "local_128") (= "=") (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |\n              (uVar5 & 0xff00) << 0x28" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |\n              (uVar5 & 0xff00000000) >> 8" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18" (binary_expression "uVar1 | (uVar5 & 0xff000000000000) >> 0x28" (identifier "uVar1") (| "|") (binary_expression "(uVar5 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar5 & 0xff000000000000)" (( "(") (binary_expression "uVar5 & 0xff000000000000" (identifier "uVar5") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar5 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar5 & 0xff0000000000)" (( "(") (binary_expression "uVar5 & 0xff0000000000" (identifier "uVar5") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar5 & 0xff00000000) >> 8" (parenthesized_expression "(uVar5 & 0xff00000000)" (( "(") (binary_expression "uVar5 & 0xff00000000" (identifier "uVar5") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar5 & 0xff000000) << 8" (parenthesized_expression "(uVar5 & 0xff000000)" (( "(") (binary_expression "uVar5 & 0xff000000" (identifier "uVar5") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar5 & 0xff0000) << 0x18" (parenthesized_expression "(uVar5 & 0xff0000)" (( "(") (binary_expression "uVar5 & 0xff0000" (identifier "uVar5") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar5 & 0xff00) << 0x28" (parenthesized_expression "(uVar5 & 0xff00)" (( "(") (binary_expression "uVar5 & 0xff00" (identifier "uVar5") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar5 << 0x38" (identifier "uVar5") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "uVar5 = uVar10 >> 0x38;" (assignment_expression "uVar5 = uVar10 >> 0x38" (identifier "uVar5") (= "=") (binary_expression "uVar10 >> 0x38" (identifier "uVar10") (>> ">>") (number_literal "0x38"))) (; ";")) (expression_statement "uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;" (assignment_expression "uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (identifier "uStack_120") (= "=") (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |\n               (uVar10 & 0xff0000) << 0x18" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |\n               (uVar10 & 0xff00000000) >> 8" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18" (binary_expression "uVar5 | (uVar10 & 0xff000000000000) >> 0x28" (identifier "uVar5") (| "|") (binary_expression "(uVar10 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar10 & 0xff000000000000)" (( "(") (binary_expression "uVar10 & 0xff000000000000" (identifier "uVar10") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xff0000000000)" (( "(") (binary_expression "uVar10 & 0xff0000000000" (identifier "uVar10") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00000000) >> 8" (parenthesized_expression "(uVar10 & 0xff00000000)" (( "(") (binary_expression "uVar10 & 0xff00000000" (identifier "uVar10") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "local_188 = local_128 >> 1;" (assignment_expression "local_188 = local_128 >> 1" (identifier "local_188") (= "=") (binary_expression "local_128 >> 1" (identifier "local_128") (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "local_1b8 = local_128 >> 2;" (assignment_expression "local_1b8 = local_128 >> 2" (identifier "local_1b8") (= "=") (binary_expression "local_128 >> 2" (identifier "local_128") (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;" (assignment_expression "uStack_180 = uVar1 << 0x3f | uStack_120 >> 1" (identifier "uStack_180") (= "=") (binary_expression "uVar1 << 0x3f | uStack_120 >> 1" (binary_expression "uVar1 << 0x3f" (identifier "uVar1") (<< "<<") (number_literal "0x3f")) (| "|") (binary_expression "uStack_120 >> 1" (identifier "uStack_120") (>> ">>") (number_literal "1")))) (; ";")) (expression_statement "uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;" (assignment_expression "uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2" (identifier "uStack_1b0") (= "=") (binary_expression "uVar1 << 0x3e | uStack_120 >> 2" (binary_expression "uVar1 << 0x3e" (identifier "uVar1") (<< "<<") (number_literal "0x3e")) (| "|") (binary_expression "uStack_120 >> 2" (identifier "uStack_120") (>> ">>") (number_literal "2")))) (; ";")) (expression_statement "uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;" (assignment_expression "uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3" (identifier "uStack_1c8") (= "=") (binary_expression "uVar1 << 0x3d | uStack_120 >> 3" (binary_expression "uVar1 << 0x3d" (identifier "uVar1") (<< "<<") (number_literal "0x3d")) (| "|") (binary_expression "uStack_120 >> 3" (identifier "uStack_120") (>> ">>") (number_literal "3")))) (; ";")) (expression_statement "local_1e8[3] = local_128 >> 3;" (assignment_expression "local_1e8[3] = local_128 >> 3" (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "local_128 >> 3" (identifier "local_128") (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "local_1a8 = uVar5 << 0x3e | local_118 >> 2;" (assignment_expression "local_1a8 = uVar5 << 0x3e | local_118 >> 2" (identifier "local_1a8") (= "=") (binary_expression "uVar5 << 0x3e | local_118 >> 2" (binary_expression "uVar5 << 0x3e" (identifier "uVar5") (<< "<<") (number_literal "0x3e")) (| "|") (binary_expression "local_118 >> 2" (identifier "local_118") (>> ">>") (number_literal "2")))) (; ";")) (expression_statement "local_178 = uVar5 << 0x3f | local_118 >> 1;" (assignment_expression "local_178 = uVar5 << 0x3f | local_118 >> 1" (identifier "local_178") (= "=") (binary_expression "uVar5 << 0x3f | local_118 >> 1" (binary_expression "uVar5 << 0x3f" (identifier "uVar5") (<< "<<") (number_literal "0x3f")) (| "|") (binary_expression "local_118 >> 1" (identifier "local_118") (>> ">>") (number_literal "1")))) (; ";")) (expression_statement "local_b8 = local_118 ^ local_178;" (assignment_expression "local_b8 = local_118 ^ local_178" (identifier "local_b8") (= "=") (binary_expression "local_118 ^ local_178" (identifier "local_118") (^ "^") (identifier "local_178"))) (; ";")) (expression_statement "local_e8 = local_118 ^ local_1a8;" (assignment_expression "local_e8 = local_118 ^ local_1a8" (identifier "local_e8") (= "=") (binary_expression "local_118 ^ local_1a8" (identifier "local_118") (^ "^") (identifier "local_1a8"))) (; ";")) (expression_statement "local_c8 = local_188 ^ local_128;" (assignment_expression "local_c8 = local_188 ^ local_128" (identifier "local_c8") (= "=") (binary_expression "local_188 ^ local_128" (identifier "local_188") (^ "^") (identifier "local_128"))) (; ";")) (expression_statement "uStack_c0 = uStack_180 ^ uStack_120;" (assignment_expression "uStack_c0 = uStack_180 ^ uStack_120" (identifier "uStack_c0") (= "=") (binary_expression "uStack_180 ^ uStack_120" (identifier "uStack_180") (^ "^") (identifier "uStack_120"))) (; ";")) (expression_statement "iVar15 = 0xf;" (assignment_expression "iVar15 = 0xf" (identifier "iVar15") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "local_148 = local_178 ^ local_1a8;" (assignment_expression "local_148 = local_178 ^ local_1a8" (identifier "local_148") (= "=") (binary_expression "local_178 ^ local_1a8" (identifier "local_178") (^ "^") (identifier "local_1a8"))) (; ";")) (expression_statement "local_158 = local_1b8 ^ local_188;" (assignment_expression "local_158 = local_1b8 ^ local_188" (identifier "local_158") (= "=") (binary_expression "local_1b8 ^ local_188" (identifier "local_1b8") (^ "^") (identifier "local_188"))) (; ";")) (expression_statement "uStack_150 = uStack_1b0 ^ uStack_180;" (assignment_expression "uStack_150 = uStack_1b0 ^ uStack_180" (identifier "uStack_150") (= "=") (binary_expression "uStack_1b0 ^ uStack_180" (identifier "uStack_1b0") (^ "^") (identifier "uStack_180"))) (; ";")) (expression_statement "local_98 = local_1b8 ^ local_c8;" (assignment_expression "local_98 = local_1b8 ^ local_c8" (identifier "local_98") (= "=") (binary_expression "local_1b8 ^ local_c8" (identifier "local_1b8") (^ "^") (identifier "local_c8"))) (; ";")) (expression_statement "uStack_90 = uStack_1b0 ^ uStack_c0;" (assignment_expression "uStack_90 = uStack_1b0 ^ uStack_c0" (identifier "uStack_90") (= "=") (binary_expression "uStack_1b0 ^ uStack_c0" (identifier "uStack_1b0") (^ "^") (identifier "uStack_c0"))) (; ";")) (expression_statement "local_f8 = local_1b8 ^ local_128;" (assignment_expression "local_f8 = local_1b8 ^ local_128" (identifier "local_f8") (= "=") (binary_expression "local_1b8 ^ local_128" (identifier "local_1b8") (^ "^") (identifier "local_128"))) (; ";")) (expression_statement "uStack_f0 = uStack_1b0 ^ uStack_120;" (assignment_expression "uStack_f0 = uStack_1b0 ^ uStack_120" (identifier "uStack_f0") (= "=") (binary_expression "uStack_1b0 ^ uStack_120" (identifier "uStack_1b0") (^ "^") (identifier "uStack_120"))) (; ";")) (expression_statement "local_1c0 = uVar5 << 0x3d | local_118 >> 3;" (assignment_expression "local_1c0 = uVar5 << 0x3d | local_118 >> 3" (identifier "local_1c0") (= "=") (binary_expression "uVar5 << 0x3d | local_118 >> 3" (binary_expression "uVar5 << 0x3d" (identifier "uVar5") (<< "<<") (number_literal "0x3d")) (| "|") (binary_expression "local_118 >> 3" (identifier "local_118") (>> ">>") (number_literal "3")))) (; ";")) (expression_statement "local_1a0 = local_1b8 ^ local_1e8[3];" (assignment_expression "local_1a0 = local_1b8 ^ local_1e8[3]" (identifier "local_1a0") (= "=") (binary_expression "local_1b8 ^ local_1e8[3]" (identifier "local_1b8") (^ "^") (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uStack_198 = uStack_1b0 ^ uStack_1c8;" (assignment_expression "uStack_198 = uStack_1b0 ^ uStack_1c8" (identifier "uStack_198") (= "=") (binary_expression "uStack_1b0 ^ uStack_1c8" (identifier "uStack_1b0") (^ "^") (identifier "uStack_1c8"))) (; ";")) (expression_statement "local_190 = local_1a8 ^ local_1c0;" (assignment_expression "local_190 = local_1a8 ^ local_1c0" (identifier "local_190") (= "=") (binary_expression "local_1a8 ^ local_1c0" (identifier "local_1a8") (^ "^") (identifier "local_1c0"))) (; ";")) (expression_statement "local_100 = local_118 ^ local_1c0;" (assignment_expression "local_100 = local_118 ^ local_1c0" (identifier "local_100") (= "=") (binary_expression "local_118 ^ local_1c0" (identifier "local_118") (^ "^") (identifier "local_1c0"))) (; ";")) (expression_statement "local_110 = local_1e8[3] ^ local_128;" (assignment_expression "local_110 = local_1e8[3] ^ local_128" (identifier "local_110") (= "=") (binary_expression "local_1e8[3] ^ local_128" (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")) (^ "^") (identifier "local_128"))) (; ";")) (expression_statement "uStack_108 = uStack_1c8 ^ uStack_120;" (assignment_expression "uStack_108 = uStack_1c8 ^ uStack_120" (identifier "uStack_108") (= "=") (binary_expression "uStack_1c8 ^ uStack_120" (identifier "uStack_1c8") (^ "^") (identifier "uStack_120"))) (; ";")) (expression_statement "local_170 = local_188 ^ local_1e8[3];" (assignment_expression "local_170 = local_188 ^ local_1e8[3]" (identifier "local_170") (= "=") (binary_expression "local_188 ^ local_1e8[3]" (identifier "local_188") (^ "^") (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uStack_168 = uStack_180 ^ uStack_1c8;" (assignment_expression "uStack_168 = uStack_180 ^ uStack_1c8" (identifier "uStack_168") (= "=") (binary_expression "uStack_180 ^ uStack_1c8" (identifier "uStack_180") (^ "^") (identifier "uStack_1c8"))) (; ";")) (expression_statement "local_b0 = local_c8 ^ local_1e8[3];" (assignment_expression "local_b0 = local_c8 ^ local_1e8[3]" (identifier "local_b0") (= "=") (binary_expression "local_c8 ^ local_1e8[3]" (identifier "local_c8") (^ "^") (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uStack_a8 = uStack_c0 ^ uStack_1c8;" (assignment_expression "uStack_a8 = uStack_c0 ^ uStack_1c8" (identifier "uStack_a8") (= "=") (binary_expression "uStack_c0 ^ uStack_1c8" (identifier "uStack_c0") (^ "^") (identifier "uStack_1c8"))) (; ";")) (expression_statement "local_140 = local_158 ^ local_1e8[3];" (assignment_expression "local_140 = local_158 ^ local_1e8[3]" (identifier "local_140") (= "=") (binary_expression "local_158 ^ local_1e8[3]" (identifier "local_158") (^ "^") (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uStack_138 = uStack_150 ^ uStack_1c8;" (assignment_expression "uStack_138 = uStack_150 ^ uStack_1c8" (identifier "uStack_138") (= "=") (binary_expression "uStack_150 ^ uStack_1c8" (identifier "uStack_150") (^ "^") (identifier "uStack_1c8"))) (; ";")) (expression_statement "local_e0 = local_128 ^ local_1a0;" (assignment_expression "local_e0 = local_128 ^ local_1a0" (identifier "local_e0") (= "=") (binary_expression "local_128 ^ local_1a0" (identifier "local_128") (^ "^") (identifier "local_1a0"))) (; ";")) (expression_statement "uStack_d8 = uStack_120 ^ uStack_198;" (assignment_expression "uStack_d8 = uStack_120 ^ uStack_198" (identifier "uStack_d8") (= "=") (binary_expression "uStack_120 ^ uStack_198" (identifier "uStack_120") (^ "^") (identifier "uStack_198"))) (; ";")) (expression_statement "local_160 = local_178 ^ local_1c0;" (assignment_expression "local_160 = local_178 ^ local_1c0" (identifier "local_160") (= "=") (binary_expression "local_178 ^ local_1c0" (identifier "local_178") (^ "^") (identifier "local_1c0"))) (; ";")) (expression_statement "local_88 = local_1a8 ^ local_b8;" (assignment_expression "local_88 = local_1a8 ^ local_b8" (identifier "local_88") (= "=") (binary_expression "local_1a8 ^ local_b8" (identifier "local_1a8") (^ "^") (identifier "local_b8"))) (; ";")) (expression_statement "local_80 = local_1e8[3] ^ local_98;" (assignment_expression "local_80 = local_1e8[3] ^ local_98" (identifier "local_80") (= "=") (binary_expression "local_1e8[3] ^ local_98" (subscript_expression "local_1e8[3]" (identifier "local_1e8") ([ "[") (number_literal "3") (] "]")) (^ "^") (identifier "local_98"))) (; ";")) (expression_statement "uStack_78 = uStack_1c8 ^ uStack_90;" (assignment_expression "uStack_78 = uStack_1c8 ^ uStack_90" (identifier "uStack_78") (= "=") (binary_expression "uStack_1c8 ^ uStack_90" (identifier "uStack_1c8") (^ "^") (identifier "uStack_90"))) (; ";")) (expression_statement "local_a0 = local_b8 ^ local_1c0;" (assignment_expression "local_a0 = local_b8 ^ local_1c0" (identifier "local_a0") (= "=") (binary_expression "local_b8 ^ local_1c0" (identifier "local_b8") (^ "^") (identifier "local_1c0"))) (; ";")) (expression_statement "local_d0 = local_118 ^ local_190;" (assignment_expression "local_d0 = local_118 ^ local_190" (identifier "local_d0") (= "=") (binary_expression "local_118 ^ local_190" (identifier "local_118") (^ "^") (identifier "local_190"))) (; ";")) (expression_statement "local_130 = local_148 ^ local_1c0;" (assignment_expression "local_130 = local_148 ^ local_1c0" (identifier "local_130") (= "=") (binary_expression "local_148 ^ local_1c0" (identifier "local_148") (^ "^") (identifier "local_1c0"))) (; ";")) (expression_statement "local_70 = local_88 ^ local_1c0;" (assignment_expression "local_70 = local_88 ^ local_1c0" (identifier "local_70") (= "=") (binary_expression "local_88 ^ local_1c0" (identifier "local_88") (^ "^") (identifier "local_1c0"))) (; ";")) (expression_statement "zeromem(&local_208,0x20);" (call_expression "zeromem(&local_208,0x20)" (identifier "zeromem") (argument_list "(&local_208,0x20)" (( "(") (pointer_expression "&local_208" (& "&") (identifier "local_208")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (while_statement "while( true ) {\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    bVar6 = (char)iVar15 * '\x04' ^ 4;\n    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);\n    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);\n    local_208 = local_208 ^ local_1e8[uVar10 * 3];\n    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;\n    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;\n    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];\n    if (iVar15 == 0) break;\n    uVar10 = uStack_200 << 0x3c;\n    iVar15 = iVar15 + -1;\n    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;\n    uVar5 = local_1f8 << 0x3c;\n    local_208 = local_208 >> 4;\n    local_1f8 = local_1f8 >> 4 | uVar10;\n    uStack_1f0 = uStack_1f0 >> 4 | uVar5;\n  }" ({ "{") (expression_statement "bVar6 = (char)iVar15 * '\x04' ^ 4;" (assignment_expression "bVar6 = (char)iVar15 * '\x04' ^ 4" (identifier "bVar6") (= "=") (binary_expression "(char)iVar15 * '\x04' ^ 4" (binary_expression "(char)iVar15 * '\x04'" (cast_expression "(char)iVar15" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar15")) (* "*") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) (^ "^") (number_literal "4"))) (; ";")) (expression_statement "uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);" (assignment_expression "uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" (identifier "uVar10") (= "=") (call_expression "(ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf)" (( "(") (binary_expression "(uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf" (call_expression "(uint)(uVar3 >> (bVar6 & 0x3f))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar3 >> (bVar6 & 0x3f))" (( "(") (binary_expression "uVar3 >> (bVar6 & 0x3f)" (identifier "uVar3") (>> ">>") (parenthesized_expression "(bVar6 & 0x3f)" (( "(") (binary_expression "bVar6 & 0x3f" (identifier "bVar6") (& "&") (number_literal "0x3f")) () ")"))) () ")"))) (& "&") (number_literal "0xf")) () ")")))) (; ";")) (expression_statement "uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);" (assignment_expression "uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" (identifier "uVar5") (= "=") (call_expression "(ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf)" (( "(") (binary_expression "(uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf" (call_expression "(uint)(uVar4 >> (bVar6 & 0x3f))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> (bVar6 & 0x3f))" (( "(") (binary_expression "uVar4 >> (bVar6 & 0x3f)" (identifier "uVar4") (>> ">>") (parenthesized_expression "(bVar6 & 0x3f)" (( "(") (binary_expression "bVar6 & 0x3f" (identifier "bVar6") (& "&") (number_literal "0x3f")) () ")"))) () ")"))) (& "&") (number_literal "0xf")) () ")")))) (; ";")) (expression_statement "local_208 = local_208 ^ local_1e8[uVar10 * 3];" (assignment_expression "local_208 = local_208 ^ local_1e8[uVar10 * 3]" (identifier "local_208") (= "=") (binary_expression "local_208 ^ local_1e8[uVar10 * 3]" (identifier "local_208") (^ "^") (subscript_expression "local_1e8[uVar10 * 3]" (identifier "local_1e8") ([ "[") (binary_expression "uVar10 * 3" (identifier "uVar10") (* "*") (number_literal "3")) (] "]")))) (; ";")) (expression_statement "uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;" (assignment_expression "uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200" (identifier "uStack_200") (= "=") (binary_expression "local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200" (binary_expression "local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3]" (subscript_expression "local_1e8[uVar10 * 3 + 1]" (identifier "local_1e8") ([ "[") (binary_expression "uVar10 * 3 + 1" (binary_expression "uVar10 * 3" (identifier "uVar10") (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (^ "^") (subscript_expression "local_1e8[uVar5 * 3]" (identifier "local_1e8") ([ "[") (binary_expression "uVar5 * 3" (identifier "uVar5") (* "*") (number_literal "3")) (] "]"))) (^ "^") (identifier "uStack_200"))) (; ";")) (expression_statement "local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;" (assignment_expression "local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8" (identifier "local_1f8") (= "=") (binary_expression "local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8" (binary_expression "local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1]" (subscript_expression "local_1e8[uVar10 * 3 + 2]" (identifier "local_1e8") ([ "[") (binary_expression "uVar10 * 3 + 2" (binary_expression "uVar10 * 3" (identifier "uVar10") (* "*") (number_literal "3")) (+ "+") (number_literal "2")) (] "]")) (^ "^") (subscript_expression "local_1e8[uVar5 * 3 + 1]" (identifier "local_1e8") ([ "[") (binary_expression "uVar5 * 3 + 1" (binary_expression "uVar5 * 3" (identifier "uVar5") (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]"))) (^ "^") (identifier "local_1f8"))) (; ";")) (expression_statement "uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];" (assignment_expression "uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2]" (identifier "uStack_1f0") (= "=") (binary_expression "uStack_1f0 ^ local_1e8[uVar5 * 3 + 2]" (identifier "uStack_1f0") (^ "^") (subscript_expression "local_1e8[uVar5 * 3 + 2]" (identifier "local_1e8") ([ "[") (binary_expression "uVar5 * 3 + 2" (binary_expression "uVar5 * 3" (identifier "uVar5") (* "*") (number_literal "3")) (+ "+") (number_literal "2")) (] "]")))) (; ";")) (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar10 = uStack_200 << 0x3c;" (assignment_expression "uVar10 = uStack_200 << 0x3c" (identifier "uVar10") (= "=") (binary_expression "uStack_200 << 0x3c" (identifier "uStack_200") (<< "<<") (number_literal "0x3c"))) (; ";")) (expression_statement "iVar15 = iVar15 + -1;" (assignment_expression "iVar15 = iVar15 + -1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;" (assignment_expression "uStack_200 = uStack_200 >> 4 | local_208 << 0x3c" (identifier "uStack_200") (= "=") (binary_expression "uStack_200 >> 4 | local_208 << 0x3c" (binary_expression "uStack_200 >> 4" (identifier "uStack_200") (>> ">>") (number_literal "4")) (| "|") (binary_expression "local_208 << 0x3c" (identifier "local_208") (<< "<<") (number_literal "0x3c")))) (; ";")) (expression_statement "uVar5 = local_1f8 << 0x3c;" (assignment_expression "uVar5 = local_1f8 << 0x3c" (identifier "uVar5") (= "=") (binary_expression "local_1f8 << 0x3c" (identifier "local_1f8") (<< "<<") (number_literal "0x3c"))) (; ";")) (expression_statement "local_208 = local_208 >> 4;" (assignment_expression "local_208 = local_208 >> 4" (identifier "local_208") (= "=") (binary_expression "local_208 >> 4" (identifier "local_208") (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "local_1f8 = local_1f8 >> 4 | uVar10;" (assignment_expression "local_1f8 = local_1f8 >> 4 | uVar10" (identifier "local_1f8") (= "=") (binary_expression "local_1f8 >> 4 | uVar10" (binary_expression "local_1f8 >> 4" (identifier "local_1f8") (>> ">>") (number_literal "4")) (| "|") (identifier "uVar10"))) (; ";")) (expression_statement "uStack_1f0 = uStack_1f0 >> 4 | uVar5;" (assignment_expression "uStack_1f0 = uStack_1f0 >> 4 | uVar5" (identifier "uStack_1f0") (= "=") (binary_expression "uStack_1f0 >> 4 | uVar5" (binary_expression "uStack_1f0 >> 4" (identifier "uStack_1f0") (>> ">>") (number_literal "4")) (| "|") (identifier "uVar5"))) (; ";")) (} "}"))) (expression_statement "local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;" (assignment_expression "local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38" (identifier "local_58") (= "=") (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |\n             (local_1f8 & 0xff00) << 0x28" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |\n             (local_1f8 & 0xff000000) << 8" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |\n             (local_1f8 & 0xff0000000000) >> 0x18" (binary_expression "local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28" (binary_expression "local_1f8 >> 0x38" (identifier "local_1f8") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(local_1f8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(local_1f8 & 0xff000000000000)" (( "(") (binary_expression "local_1f8 & 0xff000000000000" (identifier "local_1f8") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(local_1f8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(local_1f8 & 0xff0000000000)" (( "(") (binary_expression "local_1f8 & 0xff0000000000" (identifier "local_1f8") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(local_1f8 & 0xff00000000) >> 8" (parenthesized_expression "(local_1f8 & 0xff00000000)" (( "(") (binary_expression "local_1f8 & 0xff00000000" (identifier "local_1f8") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_1f8 & 0xff000000) << 8" (parenthesized_expression "(local_1f8 & 0xff000000)" (( "(") (binary_expression "local_1f8 & 0xff000000" (identifier "local_1f8") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(local_1f8 & 0xff0000) << 0x18" (parenthesized_expression "(local_1f8 & 0xff0000)" (( "(") (binary_expression "local_1f8 & 0xff0000" (identifier "local_1f8") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(local_1f8 & 0xff00) << 0x28" (parenthesized_expression "(local_1f8 & 0xff00)" (( "(") (binary_expression "local_1f8 & 0xff00" (identifier "local_1f8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "local_1f8 << 0x38" (identifier "local_1f8") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;" (assignment_expression "uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8" (identifier "uVar5") (= "=") (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8" (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |\n          (uStack_1f0 & 0xff0000000000) >> 0x18" (binary_expression "uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28" (binary_expression "uStack_1f0 >> 0x38" (identifier "uStack_1f0") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uStack_1f0 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uStack_1f0 & 0xff000000000000)" (( "(") (binary_expression "uStack_1f0 & 0xff000000000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uStack_1f0 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uStack_1f0 & 0xff0000000000)" (( "(") (binary_expression "uStack_1f0 & 0xff0000000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uStack_1f0 & 0xff00000000) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff00000000)" (( "(") (binary_expression "uStack_1f0 & 0xff00000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;" (assignment_expression "local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38" (identifier "local_50") (= "=") (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |\n             (uStack_1f0 & 0xff00) << 0x28" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18" (binary_expression "uVar5 | (uStack_1f0 & 0xff000000) << 8" (identifier "uVar5") (| "|") (binary_expression "(uStack_1f0 & 0xff000000) << 8" (parenthesized_expression "(uStack_1f0 & 0xff000000)" (( "(") (binary_expression "uStack_1f0 & 0xff000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uStack_1f0 & 0xff0000) << 0x18" (parenthesized_expression "(uStack_1f0 & 0xff0000)" (( "(") (binary_expression "uStack_1f0 & 0xff0000" (identifier "uStack_1f0") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uStack_1f0 & 0xff00) << 0x28" (parenthesized_expression "(uStack_1f0 & 0xff00)" (( "(") (binary_expression "uStack_1f0 & 0xff00" (identifier "uStack_1f0") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uStack_1f0 << 0x38" (identifier "uStack_1f0") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "uVar9 = (uint)(byte)uStack_1f0 * 2;" (assignment_expression "uVar9 = (uint)(byte)uStack_1f0 * 2" (identifier "uVar9") (= "=") (binary_expression "(uint)(byte)uStack_1f0 * 2" (cast_expression "(uint)(byte)uStack_1f0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)uStack_1f0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_1f0"))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "bVar7") (= "=") (binary_expression "(byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (call_expression "(byte)(local_1f8 >> 0x38)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_1f8 >> 0x38)" (( "(") (binary_expression "local_1f8 >> 0x38" (identifier "local_1f8") (>> ">>") (number_literal "0x38")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);" (assignment_expression "uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8)" (identifier "uVar2") (= "=") (call_expression "(ushort)((uStack_1f0 & 0xff00) >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((uStack_1f0 & 0xff00) >> 8)" (( "(") (binary_expression "(uStack_1f0 & 0xff00) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff00)" (( "(") (binary_expression "uStack_1f0 & 0xff00" (identifier "uStack_1f0") (& "&") (number_literal "0xff00")) () ")")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar14 = (uint)uVar2 + (uint)uVar2;" (assignment_expression "uVar14 = (uint)uVar2 + (uint)uVar2" (identifier "uVar14") (= "=") (binary_expression "(uint)uVar2 + (uint)uVar2" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (+ "+") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")))) (; ";")) (expression_statement "bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];" (assignment_expression "bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (identifier "bStack_59") (= "=") (binary_expression "(byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (cast_expression "(byte)uStack_200" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_200")) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar9") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);" (assignment_expression "uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8)" (identifier "uVar9") (= "=") (call_expression "(uint)((uStack_1f0 & 0xff0000) >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uStack_1f0 & 0xff0000) >> 8)" (( "(") (binary_expression "(uStack_1f0 & 0xff0000) >> 8" (parenthesized_expression "(uStack_1f0 & 0xff0000)" (( "(") (binary_expression "uStack_1f0 & 0xff0000" (identifier "uStack_1f0") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar11 = (uVar9 >> 8) + (uVar9 >> 8);" (assignment_expression "uVar11 = (uVar9 >> 8) + (uVar9 >> 8)" (identifier "uVar11") (= "=") (binary_expression "(uVar9 >> 8) + (uVar9 >> 8)" (parenthesized_expression "(uVar9 >> 8)" (( "(") (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) () ")")) (+ "+") (parenthesized_expression "(uVar9 >> 8)" (( "(") (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "bStack_5a") (= "=") (binary_expression "(byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(uStack_200 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 8)" (( "(") (binary_expression "uStack_200 >> 8" (identifier "uStack_200") (>> ">>") (number_literal "8")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar14") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;" (assignment_expression "uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2" (identifier "uVar9") (= "=") (binary_expression "(int)((uStack_1f0 & 0xff000000) >> 0x18) * 2" (cast_expression "(int)((uStack_1f0 & 0xff000000) >> 0x18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uStack_1f0 & 0xff000000) >> 0x18)" (( "(") (binary_expression "(uStack_1f0 & 0xff000000) >> 0x18" (parenthesized_expression "(uStack_1f0 & 0xff000000)" (( "(") (binary_expression "uStack_1f0 & 0xff000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff000000")) () ")")) (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);" (assignment_expression "bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30)" (identifier "bVar8") (= "=") (call_expression "(byte)((uStack_1f0 & 0xff000000000000) >> 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uStack_1f0 & 0xff000000000000) >> 0x30)" (( "(") (binary_expression "(uStack_1f0 & 0xff000000000000) >> 0x30" (parenthesized_expression "(uStack_1f0 & 0xff000000000000)" (( "(") (binary_expression "uStack_1f0 & 0xff000000000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "bStack_5b") (= "=") (binary_expression "(byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 0x10)" (( "(") (binary_expression "uStack_200 >> 0x10" (identifier "uStack_200") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar11") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;" (assignment_expression "uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2" (identifier "uVar11") (= "=") (binary_expression "(int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2" (cast_expression "(int)((uStack_1f0 & 0xff00000000) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uStack_1f0 & 0xff00000000) >> 0x20)" (( "(") (binary_expression "(uStack_1f0 & 0xff00000000) >> 0x20" (parenthesized_expression "(uStack_1f0 & 0xff00000000)" (( "(") (binary_expression "uStack_1f0 & 0xff00000000" (identifier "uStack_1f0") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "0x20")) () ")"))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);" (assignment_expression "local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10)" (identifier "local_248") (= "=") (call_expression "(byte)((local_1f8 & 0xff0000) >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((local_1f8 & 0xff0000) >> 0x10)" (( "(") (binary_expression "(local_1f8 & 0xff0000) >> 0x10" (parenthesized_expression "(local_1f8 & 0xff0000)" (( "(") (binary_expression "local_1f8 & 0xff0000" (identifier "local_1f8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "bStack_5c") (= "=") (binary_expression "(byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (call_expression "(byte)(uStack_200 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 0x18)" (( "(") (binary_expression "uStack_200 >> 0x18" (identifier "uStack_200") (>> ">>") (number_literal "0x18")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar9") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "bVar6 = (byte)(uStack_1f0 >> 0x38);" (assignment_expression "bVar6 = (byte)(uStack_1f0 >> 0x38)" (identifier "bVar6") (= "=") (call_expression "(byte)(uStack_1f0 >> 0x38)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_1f0 >> 0x38)" (( "(") (binary_expression "uStack_1f0 >> 0x38" (identifier "uStack_1f0") (>> ">>") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "uVar14 = (uint)bVar6 + (uint)bVar6;" (assignment_expression "uVar14 = (uint)bVar6 + (uint)bVar6" (identifier "uVar14") (= "=") (binary_expression "(uint)bVar6 + (uint)bVar6" (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6")) (+ "+") (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6")))) (; ";")) (expression_statement "uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;" (assignment_expression "uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe" (identifier "uVar9") (= "=") (binary_expression "(uint)(uVar5 >> 0xf) & 0x1fe" (call_expression "(uint)(uVar5 >> 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar5 >> 0xf)" (( "(") (binary_expression "uVar5 >> 0xf" (identifier "uVar5") (>> ">>") (number_literal "0xf")) () ")"))) (& "&") (number_literal "0x1fe"))) (; ";")) (expression_statement "bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "bStack_5d") (= "=") (binary_expression "(byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 0x20)" (( "(") (binary_expression "uStack_200 >> 0x20" (identifier "uStack_200") (>> ">>") (number_literal "0x20")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar11") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "uVar11 = (uint)bVar8 + (uint)bVar8;" (assignment_expression "uVar11 = (uint)bVar8 + (uint)bVar8" (identifier "uVar11") (= "=") (binary_expression "(uint)bVar8 + (uint)bVar8" (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8")) (+ "+") (cast_expression "(uint)bVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar8")))) (; ";")) (expression_statement "bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];" (assignment_expression "bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (identifier "bStack_5f") (= "=") (binary_expression "(byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^\n              PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(uStack_200 >> 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 0x30)" (( "(") (binary_expression "uStack_200 >> 0x30" (identifier "uStack_200") (>> ">>") (number_literal "0x30")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar11") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];" (assignment_expression "bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "bStack_5e") (= "=") (binary_expression "(byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^\n              PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9]" (call_expression "(byte)(uStack_200 >> 0x28)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 0x28)" (( "(") (binary_expression "uStack_200 >> 0x28" (identifier "uStack_200") (>> ">>") (number_literal "0x28")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar9") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "uVar9 = (uint)(byte)local_1f8 * 2;" (assignment_expression "uVar9 = (uint)(byte)local_1f8 * 2" (identifier "uVar9") (= "=") (binary_expression "(uint)(byte)local_1f8 * 2" (cast_expression "(uint)(byte)local_1f8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)local_1f8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_1f8"))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];" (assignment_expression "bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "bStack_60") (= "=") (binary_expression "(byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n              PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (binary_expression "(byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(uStack_200 >> 0x38)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_200 >> 0x38)" (( "(") (binary_expression "uStack_200 >> 0x38" (identifier "uStack_200") (>> ">>") (number_literal "0x38")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar14") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1")) (] "]")))) (; ";")) (expression_statement "local_258 = (byte)((local_1f8 & 0xff00) >> 8);" (assignment_expression "local_258 = (byte)((local_1f8 & 0xff00) >> 8)" (identifier "local_258") (= "=") (call_expression "(byte)((local_1f8 & 0xff00) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((local_1f8 & 0xff00) >> 8)" (( "(") (binary_expression "(local_1f8 & 0xff00) >> 8" (parenthesized_expression "(local_1f8 & 0xff00)" (( "(") (binary_expression "local_1f8 & 0xff00" (identifier "local_1f8") (& "&") (number_literal "0xff00")) () ")")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);" (assignment_expression "bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30)" (identifier "bVar6") (= "=") (call_expression "(byte)((local_1f8 & 0xff000000000000) >> 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((local_1f8 & 0xff000000000000) >> 0x30)" (( "(") (binary_expression "(local_1f8 & 0xff000000000000) >> 0x30" (parenthesized_expression "(local_1f8 & 0xff000000000000)" (( "(") (binary_expression "local_1f8 & 0xff000000000000" (identifier "local_1f8") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;" (assignment_expression "uVar14 = (uint)(local_58 >> 0xf) & 0x1fe" (identifier "uVar14") (= "=") (binary_expression "(uint)(local_58 >> 0xf) & 0x1fe" (call_expression "(uint)(local_58 >> 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_58 >> 0xf)" (( "(") (binary_expression "local_58 >> 0xf" (identifier "local_58") (>> ">>") (number_literal "0xf")) () ")"))) (& "&") (number_literal "0x1fe"))) (; ";")) (expression_statement "local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);" (assignment_expression "local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18)" (identifier "local_238") (= "=") (call_expression "(byte)((local_1f8 & 0xff000000) >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((local_1f8 & 0xff000000) >> 0x18)" (( "(") (binary_expression "(local_1f8 & 0xff000000) >> 0x18" (parenthesized_expression "(local_1f8 & 0xff000000)" (( "(") (binary_expression "local_1f8 & 0xff000000" (identifier "local_1f8") (& "&") (number_literal "0xff000000")) () ")")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;" (assignment_expression "uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2" (identifier "uVar11") (= "=") (binary_expression "(int)((local_1f8 & 0xff00000000) >> 0x20) * 2" (cast_expression "(int)((local_1f8 & 0xff00000000) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((local_1f8 & 0xff00000000) >> 0x20)" (( "(") (binary_expression "(local_1f8 & 0xff00000000) >> 0x20" (parenthesized_expression "(local_1f8 & 0xff00000000)" (( "(") (binary_expression "local_1f8 & 0xff00000000" (identifier "local_1f8") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "0x20")) () ")"))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "uVar12 = (uint)bVar6 + (uint)bVar6;" (assignment_expression "uVar12 = (uint)bVar6 + (uint)bVar6" (identifier "uVar12") (= "=") (binary_expression "(uint)bVar6 + (uint)bVar6" (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6")) (+ "+") (cast_expression "(uint)bVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar6")))) (; ";")) (expression_statement "uVar13 = (uint)bVar7 + (uint)bVar7;" (assignment_expression "uVar13 = (uint)bVar7 + (uint)bVar7" (identifier "uVar13") (= "=") (binary_expression "(uint)bVar7 + (uint)bVar7" (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) (+ "+") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")))) (; ";")) (expression_statement "local_68._0_1_ = (byte)(local_208 >> 0x38);" (assignment_expression "local_68._0_1_ = (byte)(local_208 >> 0x38)" (field_expression "local_68._0_1_" (identifier "local_68") (. ".") (field_identifier "_0_1_")) (= "=") (call_expression "(byte)(local_208 >> 0x38)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 0x38)" (( "(") (binary_expression "local_208 >> 0x38" (identifier "local_208") (>> ">>") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];" (assignment_expression "local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13]" (field_expression "local_68._0_1_" (identifier "local_68") (. ".") (field_identifier "_0_1_")) (= "=") (binary_expression "(byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13]" (cast_expression "(byte)local_68" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_68")) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar13]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar13") (] "]")))) (; ";")) (expression_statement "local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));" (assignment_expression "local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" (identifier "local_68") (= "=") (call_expression "CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" (identifier "CONCAT62") (argument_list "(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),\n                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68))" (( "(") (call_expression "CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1])" (identifier "CONCAT51") (argument_list "(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),\n                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1])" (( "(") (call_expression "CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1])" (identifier "CONCAT41") (argument_list "(CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))\n                                        ,(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1])" (( "(") (call_expression "CONCAT22(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))" (identifier "CONCAT22") (argument_list "(CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]),\n                                                 CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))" (( "(") (call_expression "CONCAT11((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1])" (identifier "CONCAT11") (argument_list "((byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1],\n                                                          (byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1])" (( "(") (binary_expression "(byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1]" (binary_expression "(byte)local_208 ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar9]" (cast_expression "(byte)local_208" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_208")) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar9]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar9") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "(uint)local_258 + (uint)local_258 + 1" (binary_expression "(uint)local_258 + (uint)local_258" (cast_expression "(uint)local_258" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_258")) (+ "+") (cast_expression "(uint)local_258" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_258"))) (+ "+") (number_literal "1")) (] "]"))) (, ",") (binary_expression "(byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]" (binary_expression "(byte)(local_208 >> 8) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258]" (call_expression "(byte)(local_208 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 8)" (( "(") (binary_expression "local_208 >> 8" (identifier "local_208") (>> ">>") (number_literal "8")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_258 + (uint)local_258]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "(uint)local_258 + (uint)local_258" (cast_expression "(uint)local_258" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_258")) (+ "+") (cast_expression "(uint)local_258" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_258"))) (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "(uint)local_248 + (uint)local_248 + 1" (binary_expression "(uint)local_248 + (uint)local_248" (cast_expression "(uint)local_248" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_248")) (+ "+") (cast_expression "(uint)local_248" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_248"))) (+ "+") (number_literal "1")) (] "]"))) () ")"))) (, ",") (call_expression "CONCAT11((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1])" (identifier "CONCAT11") (argument_list "((byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1],\n                                                          (byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1])" (( "(") (binary_expression "(byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248] ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1]" (binary_expression "(byte)(local_208 >> 0x10) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248]" (call_expression "(byte)(local_208 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 0x10)" (( "(") (binary_expression "local_208 >> 0x10" (identifier "local_208") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_248 + (uint)local_248]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "(uint)local_248 + (uint)local_248" (cast_expression "(uint)local_248" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_248")) (+ "+") (cast_expression "(uint)local_248" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_248"))) (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "(uint)local_238 + (uint)local_238 + 1" (binary_expression "(uint)local_238 + (uint)local_238" (cast_expression "(uint)local_238" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_238")) (+ "+") (cast_expression "(uint)local_238" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_238"))) (+ "+") (number_literal "1")) (] "]"))) (, ",") (binary_expression "(byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238] ^\n                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (binary_expression "(byte)(local_208 >> 0x18) ^\n                                                          PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238]" (call_expression "(byte)(local_208 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 0x18)" (( "(") (binary_expression "local_208 >> 0x18" (identifier "local_208") (>> ">>") (number_literal "0x18")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8\n                                                          [(uint)local_238 + (uint)local_238]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "(uint)local_238 + (uint)local_238" (cast_expression "(uint)local_238" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_238")) (+ "+") (cast_expression "(uint)local_238" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_238"))) (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1")) (] "]"))) () ")"))) () ")"))) (, ",") (binary_expression "(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (binary_expression "(byte)(local_208 >> 0x20) ^\n                                         PTR_gcm_shift_table_001ecfc8[uVar11]" (call_expression "(byte)(local_208 >> 0x20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 0x20)" (( "(") (binary_expression "local_208 >> 0x20" (identifier "local_208") (>> ">>") (number_literal "0x20")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar11]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar11") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1")) (] "]"))) () ")"))) (, ",") (binary_expression "(byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]" (binary_expression "(byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14]" (call_expression "(byte)(local_208 >> 0x28)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 0x28)" (( "(") (binary_expression "local_208 >> 0x28" (identifier "local_208") (>> ">>") (number_literal "0x28")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar14]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar14") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar12 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1")) (] "]"))) () ")"))) (, ",") (call_expression "CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68)" (identifier "CONCAT11") (argument_list "((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68)" (( "(") (binary_expression "(byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^\n                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1]" (binary_expression "(byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12]" (call_expression "(byte)(local_208 >> 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(local_208 >> 0x30)" (( "(") (binary_expression "local_208 >> 0x30" (identifier "local_208") (>> ">>") (number_literal "0x30")) () ")"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar12]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (identifier "uVar12") (] "]"))) (^ "^") (subscript_expression "PTR_gcm_shift_table_001ecfc8[uVar13 + 1]" (identifier "PTR_gcm_shift_table_001ecfc8") ([ "[") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1")) (] "]"))) (, ",") (cast_expression "(byte)local_68" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_68")) () ")"))) () ")")))) (; ";")) (expression_statement "*param_3 = local_68;" (assignment_expression "*param_3 = local_68" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "local_68")) (; ";")) (expression_statement "param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))));" (assignment_expression "param_3[1] = CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (call_expression "CONCAT17(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" (identifier "CONCAT17") (argument_list "(bStack_59,\n                        CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))))" (( "(") (identifier "bStack_59") (, ",") (call_expression "CONCAT16(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )))" (identifier "CONCAT16") (argument_list "(bStack_5a,\n                                 CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )))" (( "(") (identifier "bStack_5a") (, ",") (call_expression "CONCAT15(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))" (identifier "CONCAT15") (argument_list "(bStack_5b,\n                                          CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  ))" (( "(") (identifier "bStack_5b") (, ",") (call_expression "CONCAT14(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )" (identifier "CONCAT14") (argument_list "(bStack_5c,\n                                                   CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))\n                                                  )" (( "(") (identifier "bStack_5c") (, ",") (call_expression "CONCAT13(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))" (identifier "CONCAT13") (argument_list "(bStack_5d,\n                                                            CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60)))" (( "(") (identifier "bStack_5d") (, ",") (call_expression "CONCAT12(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60))" (identifier "CONCAT12") (argument_list "(bStack_5e,\n                                                                     CONCAT11(bStack_5f,bStack_60))" (( "(") (identifier "bStack_5e") (, ",") (call_expression "CONCAT11(bStack_5f,bStack_60)" (identifier "CONCAT11") (argument_list "(bStack_5f,bStack_60)" (( "(") (identifier "bStack_5f") (, ",") (identifier "bStack_60") () ")"))) () ")"))) () ")"))) () ")"))) () ")"))) () ")"))) () ")")))) (; ";")) (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

void function_1(type_1 *var_4,type_1 *var_5,type_1 *var_18)

{
  type_2 var_22;
  type_2 var_20;
  type_2 var_25;
  type_2 var_23;
  type_2 var_28;
  type_2 var_26;
  type_2 var_31;
  type_2 var_29;
  type_2 var_32;
  type_2 var_34;
  type_2 var_37;
  type_2 var_39;
  type_2 var_38;
  type_2 var_35;
  type_2 var_40;
  long var_41;
  type_3 var_7;
  type_4 uVar18;
  type_3 var_9;
  type_3 var_11;
  type_2 bVar21;
  type_2 bVar22;
  type_2 bVar23;
  type_3 var_6;
  type_2 var_10;
  type_2 bVar26;
  type_5 var_13;
  type_5 var_14;
  type_3 var_8;
  type_5 var_15;
  type_5 var_16;
  type_5 var_17;
  int var_12;
  long var_1;
  type_6 pB [2];
  type_6 tmp [4];
  type_6 var_3 [16] [3];
  type_1 pTmp [32];
  
  var_41 = *(long *)(var_1 + 0x28);
  var_2(var_3,0x18);
  var_2(var_3 + 8,0x18);
  var_6 = *(type_3 *)var_4;
  var_8 = *(type_3 *)(var_4 + 8);
  var_9 = *(type_3 *)var_5;
  var_11 = *(type_3 *)(var_5 + 8);
  var_7 = var_6 >> 0x38;
  var_3[8][0] = var_7 | (var_6 & 0xff000000000000) >> 0x28 | (var_6 & 0xff0000000000) >> 0x18 |
            (var_6 & 0xff00000000) >> 8 | (var_6 & 0xff000000) << 8 | (var_6 & 0xff0000) << 0x18
            | (var_6 & 0xff00) << 0x28 | var_6 << 0x38;
  var_6 = var_8 >> 0x38;
  var_3[8][1] = var_6 | (var_8 & 0xff000000000000) >> 0x28 | (var_8 & 0xff0000000000) >> 0x18 |
            (var_8 & 0xff00000000) >> 8 | (var_8 & 0xff000000) << 8 | (var_8 & 0xff0000) << 0x18
            | (var_8 & 0xff00) << 0x28 | var_8 << 0x38;
  var_3[4][0] = var_3[8][0] >> 1;
  var_3[2][0] = var_3[8][0] >> 2;
  var_3[4][1] = var_7 << 0x3f | var_3[8][1] >> 1;
  var_3[2][1] = var_7 << 0x3e | var_3[8][1] >> 2;
  var_3[1][1] = var_7 << 0x3d | var_3[8][1] >> 3;
  var_3[1][0] = var_3[8][0] >> 3;
  var_3[2][2] = var_6 << 0x3e | var_3[8][2] >> 2;
  var_3[4][2] = var_6 << 0x3f | var_3[8][2] >> 1;
  var_3[0xc][2] = var_3[8][2] ^ var_3[4][2];
  var_3[10][2] = var_3[8][2] ^ var_3[2][2];
  var_3[0xc][0] = var_3[4][0] ^ var_3[8][0];
  var_3[0xc][1] = var_3[4][1] ^ var_3[8][1];
  var_12 = 0xf;
  var_3[6][2] = var_3[4][2] ^ var_3[2][2];
  var_3[6][0] = var_3[2][0] ^ var_3[4][0];
  var_3[6][1] = var_3[2][1] ^ var_3[4][1];
  var_3[0xe][0] = var_3[2][0] ^ var_3[0xc][0];
  var_3[0xe][1] = var_3[2][1] ^ var_3[0xc][1];
  var_3[10][0] = var_3[2][0] ^ var_3[8][0];
  var_3[10][1] = var_3[2][1] ^ var_3[8][1];
  var_3[1][2] = var_6 << 0x3d | var_3[8][2] >> 3;
  var_3[3][0] = var_3[2][0] ^ var_3[1][0];
  var_3[3][1] = var_3[2][1] ^ var_3[1][1];
  var_3[3][2] = var_3[2][2] ^ var_3[1][2];
  var_3[9][2] = var_3[8][2] ^ var_3[1][2];
  var_3[9][0] = var_3[1][0] ^ var_3[8][0];
  var_3[9][1] = var_3[1][1] ^ var_3[8][1];
  var_3[5][0] = var_3[4][0] ^ var_3[1][0];
  var_3[5][1] = var_3[4][1] ^ var_3[1][1];
  var_3[0xd][0] = var_3[0xc][0] ^ var_3[1][0];
  var_3[0xd][1] = var_3[0xc][1] ^ var_3[1][1];
  var_3[7][0] = var_3[6][0] ^ var_3[1][0];
  var_3[7][1] = var_3[6][1] ^ var_3[1][1];
  var_3[0xb][0] = var_3[8][0] ^ var_3[3][0];
  var_3[0xb][1] = var_3[8][1] ^ var_3[3][1];
  var_3[5][2] = var_3[4][2] ^ var_3[1][2];
  var_3[0xe][2] = var_3[2][2] ^ var_3[0xc][2];
  var_3[0xf][0] = var_3[1][0] ^ var_3[0xe][0];
  var_3[0xf][1] = var_3[1][1] ^ var_3[0xe][1];
  var_3[0xd][2] = var_3[0xc][2] ^ var_3[1][2];
  var_3[0xb][2] = var_3[8][2] ^ var_3[3][2];
  var_3[7][2] = var_3[6][2] ^ var_3[1][2];
  var_3[0xf][2] = var_3[0xe][2] ^ var_3[1][2];
  var_2(tmp,0x20);
  while( true ) {
    var_10 = (char)var_12 * '\x04' ^ 4;
    var_14 = (type_5)(var_9 >> (var_10 & 0x3f)) & 0xf;
    var_13 = (type_5)(var_11 >> (var_10 & 0x3f)) & 0xf;
    tmp[0] = tmp[0] ^ var_3[var_14][0];
    tmp[1] = var_3[var_14][1] ^ var_3[var_13][0] ^ tmp[1];
    tmp[2] = var_3[var_14][2] ^ var_3[var_13][1] ^ tmp[2];
    tmp[3] = tmp[3] ^ var_3[var_13][2];
    if (var_12 == 0) break;
    var_8 = tmp[1] << 0x3c;
    var_12 = var_12 + -1;
    tmp[1] = tmp[1] >> 4 | tmp[0] << 0x3c;
    var_6 = tmp[2] << 0x3c;
    tmp[0] = tmp[0] >> 4;
    tmp[2] = tmp[2] >> 4 | var_8;
    tmp[3] = tmp[3] >> 4 | var_6;
  }
  bVar23 = (type_2)(tmp[2] >> 0x30);
  var_16 = (type_5)(tmp[2] >> 0x20);
  bVar22 = (type_2)(tmp[2] >> 0x18);
  var_40 = (type_2)(tmp[2] >> 0x10);
  bVar21 = (type_2)(tmp[2] >> 8);
  var_37 = (type_2)(tmp[3] >> 0x30);
  var_15 = (type_5)(tmp[3] >> 0x20);
  var_14 = (type_5)(tmp[3] >> 8) & 0xff00;
  uVar18 = (type_4)(tmp[3] >> 8) & 0xff;
  var_13 = (type_5)(type_2)tmp[3] * 2;
  var_10 = PTR_gcm_shift_table_001ecfc8[var_13];
  bVar26 = (type_2)(tmp[2] >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_13 = (type_5)uVar18 + (type_5)uVar18;
  var_22 = PTR_gcm_shift_table_001ecfc8[var_13];
  var_20 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_13 = (var_14 >> 8) + (var_14 >> 8);
  var_25 = PTR_gcm_shift_table_001ecfc8[var_13];
  var_23 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_13 = ((type_5)(tmp[3] >> 0x18) & 0xff) * 2;
  var_28 = PTR_gcm_shift_table_001ecfc8[var_13];
  var_26 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_13 = (var_15 & 0xff) * 2;
  var_31 = PTR_gcm_shift_table_001ecfc8[var_13];
  var_29 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_32 = (type_2)(tmp[3] >> 0x38);
  var_14 = (type_5)var_32 + (type_5)var_32;
  var_13 = (var_15 & 0xff00) >> 7;
  var_32 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_34 = PTR_gcm_shift_table_001ecfc8[var_13];
  var_13 = (type_5)var_37 + (type_5)var_37;
  var_37 = PTR_gcm_shift_table_001ecfc8[var_13];
  var_39 = PTR_gcm_shift_table_001ecfc8[var_14];
  var_38 = PTR_gcm_shift_table_001ecfc8[var_14 + 1];
  var_35 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_15 = (type_5)var_40 + (type_5)var_40;
  var_13 = (type_5)(type_2)tmp[2] * 2;
  var_40 = PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_17 = (type_5)bVar21 + (type_5)bVar21;
  var_14 = (var_16 & 0xff00) >> 7;
  pTmp[7] = (type_2)tmp[0] ^ PTR_gcm_shift_table_001ecfc8[var_13] ^
            PTR_gcm_shift_table_001ecfc8[var_17 + 1];
  pTmp[6] = (type_2)(tmp[0] >> 8) ^ PTR_gcm_shift_table_001ecfc8[var_17] ^
            PTR_gcm_shift_table_001ecfc8[var_15 + 1];
  var_13 = (var_16 & 0xff) * 2;
  var_17 = (type_5)bVar22 + (type_5)bVar22;
  var_16 = (type_5)bVar23 + (type_5)bVar23;
  pTmp[5] = (type_2)(tmp[0] >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[var_15] ^
            PTR_gcm_shift_table_001ecfc8[var_17 + 1];
  pTmp[4] = (type_2)(tmp[0] >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[var_17] ^
            PTR_gcm_shift_table_001ecfc8[var_13 + 1];
  var_15 = (type_5)bVar26 + (type_5)bVar26;
  pTmp[3] = (type_2)(tmp[0] >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[var_13] ^
            PTR_gcm_shift_table_001ecfc8[var_14 + 1];
  pTmp[0] = (type_1)(tmp[0] >> 0x38);
  pTmp[2] = (type_2)(tmp[0] >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[var_14] ^
            PTR_gcm_shift_table_001ecfc8[var_16 + 1];
  pTmp[1] = (type_2)(tmp[0] >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[var_16] ^
            PTR_gcm_shift_table_001ecfc8[var_15 + 1];
  pTmp[0] = pTmp[0] ^ PTR_gcm_shift_table_001ecfc8[var_15];
  *(type_7 *)var_18 = pTmp._0_8_;
  *(type_3 *)(var_18 + 8) =
       var_19((type_2)tmp[1] ^ var_10 ^ var_20,
                var_21((type_2)(tmp[1] >> 8) ^ var_22 ^ var_23,
                         var_24((type_2)(tmp[1] >> 0x10) ^ var_25 ^ var_26,
                                  var_27((type_2)(tmp[1] >> 0x18) ^ var_28 ^ var_29,
                                           var_30((type_2)(tmp[1] >> 0x20) ^ var_31 ^ var_32,
                                                    var_33((type_2)(tmp[1] >> 0x28) ^ var_34 ^
                                                             var_35,var_36((type_2)(tmp[1] >> 0x30)
                                                                             ^ var_37 ^ var_38,
                                                                             (type_2)(tmp[1] >> 0x38)
                                                                             ^ var_39 ^ var_40))))))
               );
  if (var_41 == *(long *)(var_1 + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_42();
}


(translation_unit (function_definition type: (primitive_type) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) 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: (array_declarator declarator: (identifier) size: (number_literal))) (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)) (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)) (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)) (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)) (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)) (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)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (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: (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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) 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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) 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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (identifier) 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: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (identifier) 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: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) 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: (identifier) 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: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (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: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) 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: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (identifier) arguments: (argument_list (call_expression function: (identifier) arguments: (argument_list (call_expression function: (identifier) arguments: (argument_list (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal)))) (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal)))))) (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal)))) (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))))) (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))))) (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (subscript_expression argument: (identifier) index: (identifier))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal)))) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

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

{
  ulong uVar1;
  ushort uVar2;
  ulong uVar3;
  ulong uVar4;
  ulong uVar5;
  byte bVar6;
  byte bVar7;
  byte bVar8;
  uint uVar9;
  ulong uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  long in_FS_OFFSET;
  byte local_258;
  byte local_248;
  byte local_238;
  ulong local_208;
  ulong uStack_200;
  ulong local_1f8;
  ulong uStack_1f0;
  ulong local_1e8 [4];
  ulong uStack_1c8;
  ulong local_1c0;
  ulong local_1b8;
  ulong uStack_1b0;
  ulong local_1a8;
  ulong local_1a0;
  ulong uStack_198;
  ulong local_190;
  ulong local_188;
  ulong uStack_180;
  ulong local_178;
  ulong local_170;
  ulong uStack_168;
  ulong local_160;
  ulong local_158;
  ulong uStack_150;
  ulong local_148;
  ulong local_140;
  ulong uStack_138;
  ulong local_130;
  ulong local_128;
  ulong uStack_120;
  ulong local_118;
  ulong local_110;
  ulong uStack_108;
  ulong local_100;
  ulong local_f8;
  ulong uStack_f0;
  ulong local_e8;
  ulong local_e0;
  ulong uStack_d8;
  ulong local_d0;
  ulong local_c8;
  ulong uStack_c0;
  ulong local_b8;
  ulong local_b0;
  ulong uStack_a8;
  ulong local_a0;
  ulong local_98;
  ulong uStack_90;
  ulong local_88;
  ulong local_80;
  ulong uStack_78;
  ulong local_70;
  undefined8 local_68;
  byte bStack_60;
  byte bStack_5f;
  byte bStack_5e;
  byte bStack_5d;
  byte bStack_5c;
  byte bStack_5b;
  byte bStack_5a;
  byte bStack_59;
  ulong local_58;
  ulong local_50;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  zeromem(local_1e8,0x18);
  zeromem(&local_128,0x18);
  uVar5 = *param_1;
  uVar10 = param_1[1];
  uVar3 = *param_2;
  uVar4 = param_2[1];
  uVar1 = uVar5 >> 0x38;
  local_128 = uVar1 | (uVar5 & 0xff000000000000) >> 0x28 | (uVar5 & 0xff0000000000) >> 0x18 |
              (uVar5 & 0xff00000000) >> 8 | (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 |
              (uVar5 & 0xff00) << 0x28 | uVar5 << 0x38;
  uVar5 = uVar10 >> 0x38;
  uStack_120 = uVar5 | (uVar10 & 0xff000000000000) >> 0x28 | (uVar10 & 0xff0000000000) >> 0x18 |
               (uVar10 & 0xff00000000) >> 8 | (uVar10 & 0xff000000) << 8 |
               (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 | uVar10 << 0x38;
  local_188 = local_128 >> 1;
  local_1b8 = local_128 >> 2;
  uStack_180 = uVar1 << 0x3f | uStack_120 >> 1;
  uStack_1b0 = uVar1 << 0x3e | uStack_120 >> 2;
  uStack_1c8 = uVar1 << 0x3d | uStack_120 >> 3;
  local_1e8[3] = local_128 >> 3;
  local_1a8 = uVar5 << 0x3e | local_118 >> 2;
  local_178 = uVar5 << 0x3f | local_118 >> 1;
  local_b8 = local_118 ^ local_178;
  local_e8 = local_118 ^ local_1a8;
  local_c8 = local_188 ^ local_128;
  uStack_c0 = uStack_180 ^ uStack_120;
  iVar15 = 0xf;
  local_148 = local_178 ^ local_1a8;
  local_158 = local_1b8 ^ local_188;
  uStack_150 = uStack_1b0 ^ uStack_180;
  local_98 = local_1b8 ^ local_c8;
  uStack_90 = uStack_1b0 ^ uStack_c0;
  local_f8 = local_1b8 ^ local_128;
  uStack_f0 = uStack_1b0 ^ uStack_120;
  local_1c0 = uVar5 << 0x3d | local_118 >> 3;
  local_1a0 = local_1b8 ^ local_1e8[3];
  uStack_198 = uStack_1b0 ^ uStack_1c8;
  local_190 = local_1a8 ^ local_1c0;
  local_100 = local_118 ^ local_1c0;
  local_110 = local_1e8[3] ^ local_128;
  uStack_108 = uStack_1c8 ^ uStack_120;
  local_170 = local_188 ^ local_1e8[3];
  uStack_168 = uStack_180 ^ uStack_1c8;
  local_b0 = local_c8 ^ local_1e8[3];
  uStack_a8 = uStack_c0 ^ uStack_1c8;
  local_140 = local_158 ^ local_1e8[3];
  uStack_138 = uStack_150 ^ uStack_1c8;
  local_e0 = local_128 ^ local_1a0;
  uStack_d8 = uStack_120 ^ uStack_198;
  local_160 = local_178 ^ local_1c0;
  local_88 = local_1a8 ^ local_b8;
  local_80 = local_1e8[3] ^ local_98;
  uStack_78 = uStack_1c8 ^ uStack_90;
  local_a0 = local_b8 ^ local_1c0;
  local_d0 = local_118 ^ local_190;
  local_130 = local_148 ^ local_1c0;
  local_70 = local_88 ^ local_1c0;
  zeromem(&local_208,0x20);
  while( true ) {
    bVar6 = (char)iVar15 * '\x04' ^ 4;
    uVar10 = (ulong)((uint)(uVar3 >> (bVar6 & 0x3f)) & 0xf);
    uVar5 = (ulong)((uint)(uVar4 >> (bVar6 & 0x3f)) & 0xf);
    local_208 = local_208 ^ local_1e8[uVar10 * 3];
    uStack_200 = local_1e8[uVar10 * 3 + 1] ^ local_1e8[uVar5 * 3] ^ uStack_200;
    local_1f8 = local_1e8[uVar10 * 3 + 2] ^ local_1e8[uVar5 * 3 + 1] ^ local_1f8;
    uStack_1f0 = uStack_1f0 ^ local_1e8[uVar5 * 3 + 2];
    if (iVar15 == 0) break;
    uVar10 = uStack_200 << 0x3c;
    iVar15 = iVar15 + -1;
    uStack_200 = uStack_200 >> 4 | local_208 << 0x3c;
    uVar5 = local_1f8 << 0x3c;
    local_208 = local_208 >> 4;
    local_1f8 = local_1f8 >> 4 | uVar10;
    uStack_1f0 = uStack_1f0 >> 4 | uVar5;
  }
  local_58 = local_1f8 >> 0x38 | (local_1f8 & 0xff000000000000) >> 0x28 |
             (local_1f8 & 0xff0000000000) >> 0x18 | (local_1f8 & 0xff00000000) >> 8 |
             (local_1f8 & 0xff000000) << 8 | (local_1f8 & 0xff0000) << 0x18 |
             (local_1f8 & 0xff00) << 0x28 | local_1f8 << 0x38;
  uVar5 = uStack_1f0 >> 0x38 | (uStack_1f0 & 0xff000000000000) >> 0x28 |
          (uStack_1f0 & 0xff0000000000) >> 0x18 | (uStack_1f0 & 0xff00000000) >> 8;
  local_50 = uVar5 | (uStack_1f0 & 0xff000000) << 8 | (uStack_1f0 & 0xff0000) << 0x18 |
             (uStack_1f0 & 0xff00) << 0x28 | uStack_1f0 << 0x38;
  uVar9 = (uint)(byte)uStack_1f0 * 2;
  bVar7 = (byte)(local_1f8 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  uVar2 = (ushort)((uStack_1f0 & 0xff00) >> 8);
  uVar14 = (uint)uVar2 + (uint)uVar2;
  bStack_59 = (byte)uStack_200 ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^
              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];
  uVar9 = (uint)((uStack_1f0 & 0xff0000) >> 8);
  uVar11 = (uVar9 >> 8) + (uVar9 >> 8);
  bStack_5a = (byte)(uStack_200 >> 8) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^
              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];
  uVar9 = (int)((uStack_1f0 & 0xff000000) >> 0x18) * 2;
  bVar8 = (byte)((uStack_1f0 & 0xff000000000000) >> 0x30);
  bStack_5b = (byte)(uStack_200 >> 0x10) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^
              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  uVar11 = (int)((uStack_1f0 & 0xff00000000) >> 0x20) * 2;
  local_248 = (byte)((local_1f8 & 0xff0000) >> 0x10);
  bStack_5c = (byte)(uStack_200 >> 0x18) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^
              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];
  bVar6 = (byte)(uStack_1f0 >> 0x38);
  uVar14 = (uint)bVar6 + (uint)bVar6;
  uVar9 = (uint)(uVar5 >> 0xf) & 0x1fe;
  bStack_5d = (byte)(uStack_200 >> 0x20) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^
              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  uVar11 = (uint)bVar8 + (uint)bVar8;
  bStack_5f = (byte)(uStack_200 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar11] ^
              PTR_gcm_shift_table_001ecfc8[uVar14 + 1];
  bStack_5e = (byte)(uStack_200 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar9] ^
              PTR_gcm_shift_table_001ecfc8[uVar11 + 1];
  uVar9 = (uint)(byte)local_1f8 * 2;
  bStack_60 = (byte)(uStack_200 >> 0x38) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^
              PTR_gcm_shift_table_001ecfc8[uVar9 + 1];
  local_258 = (byte)((local_1f8 & 0xff00) >> 8);
  bVar6 = (byte)((local_1f8 & 0xff000000000000) >> 0x30);
  uVar14 = (uint)(local_58 >> 0xf) & 0x1fe;
  local_238 = (byte)((local_1f8 & 0xff000000) >> 0x18);
  uVar11 = (int)((local_1f8 & 0xff00000000) >> 0x20) * 2;
  uVar12 = (uint)bVar6 + (uint)bVar6;
  uVar13 = (uint)bVar7 + (uint)bVar7;
  local_68._0_1_ = (byte)(local_208 >> 0x38);
  local_68._0_1_ = (byte)local_68 ^ PTR_gcm_shift_table_001ecfc8[uVar13];
  local_68 = CONCAT62(CONCAT51(CONCAT41(CONCAT22(CONCAT11((byte)local_208 ^
                                                          PTR_gcm_shift_table_001ecfc8[uVar9] ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_258 + (uint)local_258 + 1],
                                                          (byte)(local_208 >> 8) ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_258 + (uint)local_258] ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_248 + (uint)local_248 + 1]),
                                                 CONCAT11((byte)(local_208 >> 0x10) ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_248 + (uint)local_248] ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_238 + (uint)local_238 + 1],
                                                          (byte)(local_208 >> 0x18) ^
                                                          PTR_gcm_shift_table_001ecfc8
                                                          [(uint)local_238 + (uint)local_238] ^
                                                          PTR_gcm_shift_table_001ecfc8[uVar11 + 1]))
                                        ,(byte)(local_208 >> 0x20) ^
                                         PTR_gcm_shift_table_001ecfc8[uVar11] ^
                                         PTR_gcm_shift_table_001ecfc8[uVar14 + 1]),
                               (byte)(local_208 >> 0x28) ^ PTR_gcm_shift_table_001ecfc8[uVar14] ^
                               PTR_gcm_shift_table_001ecfc8[uVar12 + 1]),
                      CONCAT11((byte)(local_208 >> 0x30) ^ PTR_gcm_shift_table_001ecfc8[uVar12] ^
                               PTR_gcm_shift_table_001ecfc8[uVar13 + 1],(byte)local_68));
  *param_3 = local_68;
  param_3[1] = CONCAT17(bStack_59,
                        CONCAT16(bStack_5a,
                                 CONCAT15(bStack_5b,
                                          CONCAT14(bStack_5c,
                                                   CONCAT13(bStack_5d,
                                                            CONCAT12(bStack_5e,
                                                                     CONCAT11(bStack_5f,bStack_60)))
                                                  ))));
  if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

