
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Unknown calling convention */

void SHA256_Block(SHA256_State *s,uint32 *block)

{
  uint uVar1;
  int iVar2;
  uint uVar3;
  uint32 uVar4;
  uint32 uVar5;
  uint32 uVar6;
  uint uVar7;
  uint32 uVar8;
  uint uVar9;
  int iVar10;
  uint32 *puVar11;
  uint32 *puVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint uVar16;
  uint uVar17;
  int in_GS_OFFSET;
  uint32 *local_1cc;
  uint local_1c8;
  uint local_1c4;
  uint local_1c0;
  uint local_1bc;
  uint local_1b8;
  uint local_1b4;
  int local_1b0;
  int local_1ac;
  int local_1a8;
  int local_1a4;
  int local_1a0;
  int local_19c;
  int *local_198;
  uint32 w [80];
  
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  iVar10 = 0;
  do {
    w[iVar10] = block[iVar10];
    iVar10 = iVar10 + 1;
  } while (iVar10 != 0x10);
  puVar11 = w;
  do {
    uVar17 = puVar11[0xe];
    uVar14 = puVar11[1];
    puVar12 = puVar11 + 1;
    puVar11[0x10] =
         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +
         *puVar11 + puVar11[9] +
         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);
    puVar11 = puVar12;
  } while (w + 0x30 != puVar12);
  local_19c = -0x54e3a12b;
  local_1a0 = -0x6dc07d5c;
  uVar3 = s->h[3];
  uVar4 = s->h[0];
  local_1a4 = 0x59f111f1;
  uVar5 = s->h[4];
  uVar6 = s->h[5];
  uVar7 = s->h[1];
  uVar8 = s->h[6];
  uVar9 = s->h[7];
  local_198 = SHA256_Block::k;
  iVar15 = 0x71374491;
  iVar10 = 0x428a2f98;
  local_1a8 = 0x3956c25b;
  local_1ac = -0x164a245b;
  local_1b0 = -0x4a3f0431;
  uVar14 = uVar7;
  uVar17 = s->h[2];
  local_1cc = w;
  local_1c8 = uVar9;
  local_1c4 = uVar5;
  local_1c0 = uVar6;
  local_1bc = uVar3;
  local_1b8 = uVar8;
  local_1b4 = uVar4;
  while( true ) {
    local_198 = local_198 + 8;
    iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +
             ((local_1c4 << 7 | local_1c4 >> 0x19) ^
             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +
             iVar10 + *local_1cc + local_1c8;
    local_1bc = local_1bc + iVar10;
    local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +
                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^
                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^
                         (local_1b4 << 10 | local_1b4 >> 0x16));
    iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +
             local_1b8 + iVar15 + local_1cc[1] +
             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^
             (local_1bc * 0x80 | local_1bc >> 0x19));
    uVar17 = iVar10 + uVar17;
    local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +
                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^
                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)
                ) + iVar10;
    iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +
             local_1b0 + local_1c0 + local_1cc[2] +
             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^
             (uVar17 * 0x80 | uVar17 >> 0x19));
    uVar14 = iVar10 + uVar14;
    uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +
             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^
             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;
    iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +
             local_1ac + local_1c4 + local_1cc[3] +
             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^
             (uVar14 * 0x80 | uVar14 >> 0x19));
    uVar1 = iVar10 + local_1b4;
    uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +
                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^
                      (uVar13 * 0x400 | uVar13 >> 0x16));
    iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +
             local_1bc + local_1a8 + local_1cc[4] +
             ((uVar1 * 0x80 | uVar1 >> 0x19) ^
             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));
    local_1c8 = local_1c8 + iVar10;
    local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +
                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^
                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;
    iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +
             local_1a4 + local_1cc[5] + uVar17 +
             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^
             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));
    local_1b8 = local_1b8 + iVar10;
    uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +
             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^
             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;
    iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +
             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^
             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +
             local_1a0 + local_1cc[6] + uVar14;
    local_1c0 = uVar13 + iVar10;
    uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +
             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^
             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;
    iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +
             uVar1 + local_19c + local_1cc[7] +
             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^
             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));
    local_1c4 = uVar16 + iVar10;
    local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +
                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^
                         (uVar14 * 0x400 | uVar14 >> 0x16));
    if (w + 0x40 == local_1cc + 8) break;
    local_1b0 = local_198[2];
    iVar10 = *local_198;
    iVar15 = local_198[1];
    local_1ac = local_198[3];
    local_1a8 = local_198[4];
    local_1a4 = local_198[5];
    local_1a0 = local_198[6];
    local_19c = local_198[7];
    local_1cc = local_1cc + 8;
  }
  s->h[2] = uVar17 + s->h[2];
  s->h[0] = uVar4 + local_1b4;
  s->h[1] = uVar7 + uVar14;
  s->h[3] = uVar3 + local_1bc;
  s->h[7] = uVar9 + local_1c8;
  s->h[4] = uVar5 + local_1c4;
  s->h[5] = uVar6 + local_1c0;
  s->h[6] = uVar8 + local_1b8;
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_0003a4d0(uint *param_1,int param_2)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  uint uVar4;
  int iVar5;
  uint uVar6;
  int in_GS_OFFSET;
  int *local_1cc;
  uint local_1c8;
  uint local_1c4;
  uint local_1c0;
  uint local_1bc;
  uint local_1b8;
  uint local_1b4;
  int local_1b0;
  int local_1ac;
  int local_1a8;
  int local_1a4;
  int local_1a0;
  int local_19c;
  int *local_198;
  int local_160 [80];
  int local_20;
  
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar1 = 0;
  do {
    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);
    iVar1 = iVar1 + 1;
  } while (iVar1 != 0x10);
  piVar2 = local_160;
  do {
    uVar6 = piVar2[0xe];
    uVar4 = piVar2[1];
    piVar3 = piVar2 + 1;
    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +
                   *piVar2 + piVar2[9] +
                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);
    piVar2 = piVar3;
  } while (local_160 + 0x30 != piVar3);
  local_19c = -0x54e3a12b;
  local_1a0 = -0x6dc07d5c;
  local_1a4 = 0x59f111f1;
  iVar5 = 0x71374491;
  iVar1 = 0x428a2f98;
  local_1a8 = 0x3956c25b;
  local_1ac = -0x164a245b;
  local_1b0 = -0x4a3f0431;
  uVar4 = param_1[1];
  uVar6 = param_1[2];
  local_1cc = local_160;
  local_1c8 = param_1[7];
  local_1c4 = param_1[4];
  local_1c0 = param_1[5];
  local_1bc = param_1[3];
  local_1b8 = param_1[6];
  local_1b4 = *param_1;
  local_198 = &DAT_00051f00;
  while( true ) {
    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +
            ((local_1c4 << 7 | local_1c4 >> 0x19) ^
            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +
            iVar1 + *local_1cc + local_1c8;
    local_1bc = local_1bc + iVar1;
    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +
                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^
                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^
                        (local_1b4 << 10 | local_1b4 >> 0x16));
    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +
            local_1b8 + iVar5 + local_1cc[1] +
            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^
            (local_1bc * 0x80 | local_1bc >> 0x19));
    uVar6 = iVar1 + uVar6;
    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +
                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^
                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)
                ) + iVar1;
    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +
            local_1b0 + local_1c0 + local_1cc[2] +
            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^
            (uVar6 * 0x80 | uVar6 >> 0x19));
    uVar4 = iVar1 + uVar4;
    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +
                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^
                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)
                ) + iVar1;
    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +
            local_1ac + local_1c4 + local_1cc[3] +
            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^
            (uVar4 * 0x80 | uVar4 >> 0x19));
    local_1b4 = iVar1 + local_1b4;
    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +
                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^
                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^
                        (local_1c0 * 0x400 | local_1c0 >> 0x16));
    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +
            local_1bc + local_1a8 + local_1cc[4] +
            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^
            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));
    local_1c8 = local_1c8 + iVar1;
    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +
                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^
                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)
                ) + iVar1;
    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +
            local_1a4 + local_1cc[5] + uVar6 +
            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^
            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));
    local_1b8 = local_1b8 + iVar1;
    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +
            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^
            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;
    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +
            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^
            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +
            local_1a0 + local_1cc[6] + uVar4;
    local_1c0 = local_1c0 + iVar1;
    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +
            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^
            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;
    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +
            local_1b4 + local_19c + local_1cc[7] +
            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^
            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));
    local_1c4 = local_1c4 + iVar1;
    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +
                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^
                        (uVar4 * 0x400 | uVar4 >> 0x16));
    if (local_160 + 0x40 == local_1cc + 8) break;
    local_1b0 = local_198[2];
    iVar1 = *local_198;
    iVar5 = local_198[1];
    local_1ac = local_198[3];
    local_1a8 = local_198[4];
    local_1a4 = local_198[5];
    local_1a0 = local_198[6];
    local_19c = local_198[7];
    local_1cc = local_1cc + 8;
    local_198 = local_198 + 8;
  }
  param_1[2] = uVar6 + param_1[2];
  *param_1 = *param_1 + local_1b4;
  param_1[1] = param_1[1] + uVar4;
  param_1[3] = param_1[3] + local_1bc;
  param_1[7] = param_1[7] + local_1c8;
  param_1[4] = param_1[4] + local_1c4;
  param_1[5] = param_1[5] + local_1c0;
  param_1[6] = param_1[6] + local_1b8;
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0004aab0();
}


CALL 0x0001593e
ADD EAX,0x34813
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x1bc
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x1d0]
LEA EDI,[ESP + 0x6c]
MOV ECX,dword ptr [ESP + 0x1d4]
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x1ac],EAX
XOR EAX,EAX
LEA ESI,[ESI]
MOV EDX,dword ptr [ECX + EAX*0x4]
MOV dword ptr [EDI + EAX*0x4],EDX
ADD EAX,0x1
CMP EAX,0x10
JNZ 0x0003a510
MOV dword ptr [ESP],EDI
LEA ESI,[ESP + 0x12c]
MOV EDX,EDI
LEA ESI,[ESI]
MOV ECX,dword ptr [EDX + 0x38]
MOV EBX,dword ptr [EDX + 0x4]
ADD EDX,0x4
MOV EAX,ECX
MOV EBP,ECX
SHR ECX,0xa
ROL EBP,0xd
ROL EAX,0xf
XOR EAX,EBP
MOV EBP,EBX
XOR EAX,ECX
MOV ECX,dword ptr [EDX + -0x4]
ADD ECX,dword ptr [EDX + 0x20]
ROL EBP,0xe
ADD EAX,ECX
MOV ECX,EBX
SHR EBX,0x3
ROR ECX,0x7
XOR ECX,EBP
XOR ECX,EBX
ADD EAX,ECX
MOV dword ptr [EDX + 0x3c],EAX
CMP ESI,EDX
JNZ 0x0003a530
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x30],0xab1c5ed5
MOV dword ptr [ESP + 0x2c],0x923f82a4
MOV EDX,dword ptr [EAX + 0xc]
MOV ESI,dword ptr [EAX]
MOV dword ptr [ESP + 0x28],0x59f111f1
MOV EBX,dword ptr [EAX + 0x8]
MOV ECX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x3c],EDX
MOV EDX,dword ptr [EAX + 0x14]
MOV EBP,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x4c],ESI
MOV dword ptr [ESP + 0x40],EDX
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EAX + 0x1c]
MOV dword ptr [ESP + 0x54],EBX
MOV dword ptr [ESP + 0x5c],EDX
MOV dword ptr [ESP + 0x44],EAX
MOV EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x14],EDX
MOV EDX,dword ptr [ESP + 0x40]
LEA EAX,[EAX + 0xfffe3218]
MOV dword ptr [ESP + 0x18],ESI
MOV ESI,0x71374491
MOV dword ptr [ESP + 0x34],EAX
LEA EAX,[EDI + 0x100]
MOV EDI,EBX
MOV EBX,0x428a2f98
MOV dword ptr [ESP + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0xc],EDX
MOV EDX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x50],EBP
MOV dword ptr [ESP + 0x58],ECX
MOV dword ptr [ESP + 0x4],EAX
MOV dword ptr [ESP + 0x8],ECX
MOV dword ptr [ESP + 0x10],EDX
MOV dword ptr [ESP + 0x24],0x3956c25b
MOV dword ptr [ESP + 0x20],0xe9b5dba5
MOV dword ptr [ESP + 0x1c],0xb5c0fbcf
JMP 0x0003a662
MOV EAX,dword ptr [ESP + 0x34]
MOV EDX,dword ptr [EAX + 0x8]
MOV EBX,dword ptr [EAX]
ADD EAX,0x20
MOV ESI,dword ptr [EAX + -0x1c]
MOV dword ptr [ESP + 0x1c],EDX
MOV EDX,dword ptr [EAX + -0x14]
MOV dword ptr [ESP + 0x20],EDX
MOV EDX,dword ptr [EAX + -0x10]
MOV dword ptr [ESP + 0x24],EDX
MOV EDX,dword ptr [EAX + -0xc]
MOV dword ptr [ESP + 0x28],EDX
MOV EDX,dword ptr [EAX + -0x8]
MOV dword ptr [ESP + 0x2c],EDX
MOV EDX,dword ptr [EAX + -0x4]
MOV dword ptr [ESP + 0x34],EAX
MOV dword ptr [ESP + 0x30],EDX
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,ECX
MOV EAX,ECX
ROR EDX,0x6
ROR EAX,0xb
XOR EAX,EDX
MOV EDX,ECX
ROL EDX,0x7
XOR EDX,EAX
MOV EAX,dword ptr [ESP]
ADD EBX,dword ptr [EAX]
MOV EAX,ECX
ADD EDX,EBX
MOV EBX,dword ptr [ESP + 0xc]
NOT EAX
AND EAX,dword ptr [ESP + 0x14]
AND EBX,ECX
MOV ECX,dword ptr [ESP + 0x10]
XOR EAX,EBX
ADD EAX,EDX
ADD EAX,dword ptr [ESP + 0x4]
ADD ECX,EAX
MOV dword ptr [ESP + 0x10],ECX
MOV ECX,dword ptr [ESP + 0x18]
MOV EBX,ECX
MOV EDX,ECX
ROR EBX,0x2
ROR EDX,0xd
XOR EDX,EBX
MOV EBX,ECX
ROL EBX,0xa
XOR EDX,EBX
MOV EBX,EBP
XOR EBX,EDI
AND EBX,ECX
MOV ECX,EBP
AND ECX,EDI
XOR EBX,ECX
MOV ECX,dword ptr [ESP + 0x10]
ADD EBX,EDX
ADD EAX,EBX
MOV EDX,ECX
MOV EBX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,ECX
ROR EDX,0x6
ROR EAX,0xb
XOR EAX,EDX
MOV EDX,ECX
ROL EDX,0x7
XOR EAX,EDX
MOV EDX,dword ptr [ESP + 0x14]
ADD EDX,ESI
MOV ESI,dword ptr [ESP]
ADD EDX,dword ptr [ESI + 0x4]
MOV ESI,ECX
NOT ESI
ADD EDX,EAX
MOV EAX,ECX
MOV ECX,ESI
MOV ESI,dword ptr [ESP + 0x4]
AND ECX,EBX
AND EAX,dword ptr [ESP + 0x8]
XOR EAX,ECX
ADD EAX,EDX
LEA EDX,[EAX + EDI*0x1]
MOV EDI,ESI
ROR EDI,0x2
MOV dword ptr [ESP + 0xc],EDX
MOV ECX,EDI
MOV EDI,ESI
ROR EDI,0xd
MOV EDX,EDI
MOV EDI,ESI
XOR EDX,ECX
ROL EDI,0xa
XOR EDX,EDI
MOV EDI,dword ptr [ESP + 0x18]
MOV ECX,EDI
XOR ECX,EBP
AND ECX,ESI
MOV ESI,EDI
AND ESI,EBP
XOR ECX,ESI
ADD ECX,EDX
MOV EDX,dword ptr [ESP + 0xc]
ADD ECX,EAX
MOV ESI,EDX
MOV EAX,EDX
ROR ESI,0x6
ROR EAX,0xb
XOR EAX,ESI
MOV ESI,EDX
ROL ESI,0x7
XOR EAX,ESI
MOV ESI,dword ptr [ESP + 0x1c]
ADD ESI,EBX
MOV EBX,dword ptr [ESP]
ADD ESI,dword ptr [EBX + 0x8]
MOV EBX,EDX
NOT EDX
AND EDX,dword ptr [ESP + 0x8]
ADD ESI,EAX
MOV EAX,dword ptr [ESP + 0x10]
AND EAX,EBX
XOR EAX,EDX
MOV EDX,ECX
ADD EAX,ESI
ROR EDX,0x2
LEA ESI,[EAX + EBP*0x1]
MOV EBP,ECX
ROR EBP,0xd
MOV EBX,ESI
MOV ESI,EBP
MOV EBP,EDI
XOR ESI,EDX
MOV EDX,ECX
ROL EDX,0xa
XOR ESI,EDX
MOV EDX,dword ptr [ESP + 0x4]
XOR EDX,EDI
AND EDI,dword ptr [ESP + 0x4]
AND EDX,ECX
XOR EDX,EDI
MOV EDI,EBX
ADD EDX,ESI
MOV ESI,EBX
ROR EDI,0x6
ROR ESI,0xb
ADD EDX,EAX
MOV EAX,EBX
XOR ESI,EDI
MOV EDI,EBX
MOV EBX,dword ptr [ESP + 0x20]
ADD EBX,dword ptr [ESP + 0x8]
ROL EDI,0x7
XOR ESI,EDI
MOV EDI,EBX
MOV EBX,dword ptr [ESP]
ADD EDI,dword ptr [EBX + 0xc]
MOV EBX,EAX
ADD EDI,ESI
MOV ESI,EAX
NOT ESI
AND ESI,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x14],EBX
AND EAX,EBX
MOV EBX,EDX
XOR ESI,EAX
ROR EBX,0xd
ADD ESI,EDI
MOV EAX,EBX
MOV EBX,dword ptr [ESP + 0x4]
LEA EDI,[ESI + EBP*0x1]
MOV dword ptr [ESP + 0x8],EDI
MOV EDI,EDX
MOV EBP,dword ptr [ESP + 0x8]
ROR EDI,0x2
XOR EAX,EDI
MOV EDI,EDX
ROL EDI,0xa
XOR EAX,EDI
MOV EDI,EBX
AND EBX,ECX
XOR EDI,ECX
AND EDI,EDX
XOR EDI,EBX
MOV EBX,dword ptr [ESP + 0x24]
ADD EDI,EAX
MOV EAX,EBP
ADD ESI,EDI
MOV EDI,EBP
ROR EAX,0xb
ROR EDI,0x6
XOR EAX,EDI
MOV EDI,EBP
MOV EBP,dword ptr [ESP]
ROL EDI,0x7
XOR EDI,EAX
MOV EAX,dword ptr [ESP + 0x10]
ADD EBX,dword ptr [EBP + 0x10]
MOV EBP,dword ptr [ESP + 0x14]
ADD EAX,EBX
MOV EBX,dword ptr [ESP + 0x8]
ADD EAX,EDI
MOV EDI,EBX
AND EBP,EBX
MOV EBX,dword ptr [ESP + 0x4]
NOT EDI
AND EDI,dword ptr [ESP + 0xc]
XOR EDI,EBP
MOV EBP,ECX
ADD EDI,EAX
MOV EAX,ESI
AND EBP,EDX
ADD EBX,EDI
ROR EAX,0x2
MOV dword ptr [ESP + 0x4],EBX
MOV EBX,EAX
MOV EAX,ESI
ROR EAX,0xd
XOR EAX,EBX
MOV EBX,ESI
ROL EBX,0xa
XOR EAX,EBX
MOV EBX,ECX
XOR EBX,EDX
AND EBX,ESI
XOR EBX,EBP
MOV EBP,dword ptr [ESP + 0x28]
ADD EBX,EAX
ADD EBX,EDI
MOV EDI,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x10],EBX
MOV EAX,EDI
MOV EBX,EDI
ROR EAX,0x6
ROR EBX,0xb
XOR EBX,EAX
MOV EAX,EDI
MOV EDI,dword ptr [ESP + 0xc]
ROL EAX,0x7
XOR EAX,EBX
MOV EBX,dword ptr [ESP]
ADD EBP,dword ptr [EBX + 0x14]
LEA EBX,[EBP + EDI*0x1]
MOV EBP,dword ptr [ESP + 0x4]
ADD EBX,EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV EDI,EBP
AND EAX,EBP
NOT EDI
AND EDI,dword ptr [ESP + 0x14]
XOR EAX,EDI
ADD EAX,EBX
MOV EBX,dword ptr [ESP + 0x10]
LEA EDI,[ECX + EAX*0x1]
MOV EBP,EDI
MOV ECX,EBX
MOV EDI,EBX
ROR EDI,0x2
ROR ECX,0xd
XOR ECX,EDI
MOV EDI,EBX
ROL EDI,0xa
XOR ECX,EDI
MOV EDI,EDX
XOR EDI,ESI
AND EDI,EBX
MOV EBX,EDX
AND EBX,ESI
XOR EDI,EBX
MOV EBX,EBP
ADD EDI,ECX
MOV ECX,EBP
ADD EDI,EAX
MOV EAX,EBP
ROR ECX,0xb
ROR EAX,0x6
XOR ECX,EAX
MOV EAX,EBP
MOV EBP,dword ptr [ESP + 0x2c]
ROL EAX,0x7
XOR EAX,ECX
MOV ECX,dword ptr [ESP]
ADD EBP,dword ptr [ECX + 0x18]
ADD EBP,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x14],EBX
LEA ECX,[EAX + EBP*0x1]
MOV EBP,dword ptr [ESP + 0x4]
MOV EAX,EBX
NOT EAX
AND EAX,dword ptr [ESP + 0x8]
AND EBP,EBX
XOR EAX,EBP
MOV EBP,EDI
ADD EAX,ECX
ROR EBP,0x2
ADD EDX,EAX
MOV dword ptr [ESP + 0xc],EDX
MOV EDX,EDI
MOV EBX,dword ptr [ESP + 0x10]
ROR EDX,0xd
XOR EDX,EBP
MOV EBP,EDI
MOV ECX,EBX
ROL EBP,0xa
AND ECX,ESI
XOR EDX,EBP
MOV EBP,EBX
XOR EBP,ESI
AND EBP,EDI
XOR EBP,ECX
MOV ECX,dword ptr [ESP + 0xc]
ADD EBP,EDX
ADD EBP,EAX
MOV EDX,ECX
MOV EAX,ECX
ROR EAX,0x6
ROR EDX,0xb
XOR EDX,EAX
MOV EAX,ECX
MOV ECX,dword ptr [ESP + 0x30]
ROL EAX,0x7
XOR EAX,EDX
MOV EDX,dword ptr [ESP]
ADD dword ptr [ESP],0x20
ADD ECX,dword ptr [EDX + 0x1c]
MOV EDX,dword ptr [ESP + 0x8]
ADD EDX,ECX
MOV ECX,dword ptr [ESP + 0x14]
AND ECX,dword ptr [ESP + 0xc]
ADD EDX,EAX
MOV EAX,dword ptr [ESP + 0xc]
NOT EAX
AND EAX,dword ptr [ESP + 0x4]
XOR EAX,ECX
MOV ECX,EBP
ADD EAX,EDX
ROR ECX,0x2
ADD ESI,EAX
MOV dword ptr [ESP + 0x8],ESI
MOV ESI,EBP
ROR ESI,0xd
MOV EDX,ESI
XOR EDX,ECX
MOV ECX,EBP
ROL ECX,0xa
XOR EDX,ECX
MOV ECX,EBX
AND EBX,EDI
XOR ECX,EDI
AND ECX,EBP
XOR ECX,EBX
ADD ECX,EDX
MOV EDX,dword ptr [ESP]
ADD EAX,ECX
MOV dword ptr [ESP + 0x18],EAX
CMP dword ptr [ESP + 0x38],EDX
JNZ 0x0003a628
MOV ESI,dword ptr [ESP + 0x50]
MOV EBX,dword ptr [ESP + 0x48]
ADD EDI,dword ptr [ESP + 0x54]
MOV EAX,dword ptr [ESP + 0x4c]
ADD ESI,EBP
ADD EAX,dword ptr [ESP + 0x18]
MOV EBP,dword ptr [ESP + 0x3c]
MOV dword ptr [EBX + 0x8],EDI
ADD EBP,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x44]
MOV dword ptr [EBX],EAX
MOV EAX,EBX
MOV dword ptr [EBX + 0x4],ESI
ADD EDX,dword ptr [ESP + 0x4]
MOV dword ptr [EBX + 0xc],EBP
MOV EBX,dword ptr [ESP + 0x58]
ADD EBX,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [ESP + 0x40]
MOV dword ptr [EAX + 0x1c],EDX
MOV dword ptr [EAX + 0x10],EBX
ADD ESI,dword ptr [ESP + 0xc]
MOV EBX,dword ptr [ESP + 0x5c]
ADD EBX,dword ptr [ESP + 0x14]
MOV dword ptr [EAX + 0x14],ESI
MOV dword ptr [EAX + 0x18],EBX
MOV EAX,dword ptr [ESP + 0x1ac]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x0003aa45
ADD ESP,0x1bc
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x0004aab0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_0003a4d0(uint *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0004aab0();\n}\n\n" comment (function_definition "void FUN_0003a4d0(uint *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0004aab0();\n}" primitive_type (function_declarator "FUN_0003a4d0(uint *param_1,int param_2)" identifier (parameter_list "(uint *param_1,int param_2)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0004aab0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *local_1cc;" primitive_type (pointer_declarator "*local_1cc" * identifier) ;) (declaration "uint local_1c8;" type_identifier identifier ;) (declaration "uint local_1c4;" type_identifier identifier ;) (declaration "uint local_1c0;" type_identifier identifier ;) (declaration "uint local_1bc;" type_identifier identifier ;) (declaration "uint local_1b8;" type_identifier identifier ;) (declaration "uint local_1b4;" type_identifier identifier ;) (declaration "int local_1b0;" primitive_type identifier ;) (declaration "int local_1ac;" primitive_type identifier ;) (declaration "int local_1a8;" primitive_type identifier ;) (declaration "int local_1a4;" primitive_type identifier ;) (declaration "int local_1a0;" primitive_type identifier ;) (declaration "int local_19c;" primitive_type identifier ;) (declaration "int *local_198;" primitive_type (pointer_declarator "*local_198" * identifier) ;) (declaration "int local_160 [80];" primitive_type (array_declarator "local_160 [80]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);" do (compound_statement "{\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);" (assignment_expression "local_160[iVar1] = *(int *)(param_2 + iVar1 * 4)" (subscript_expression "local_160[iVar1]" identifier [ identifier ]) = (pointer_expression "*(int *)(param_2 + iVar1 * 4)" * (cast_expression "(int *)(param_2 + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + iVar1 * 4)" ( (binary_expression "param_2 + iVar1 * 4" identifier + (binary_expression "iVar1 * 4" identifier * number_literal)) ))))) ;) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0x10)" ( (binary_expression "iVar1 != 0x10" identifier != number_literal) )) ;) (expression_statement "piVar2 = local_160;" (assignment_expression "piVar2 = local_160" identifier = identifier) ;) (do_statement "do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);" do (compound_statement "{\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  }" { (expression_statement "uVar6 = piVar2[0xe];" (assignment_expression "uVar6 = piVar2[0xe]" identifier = (subscript_expression "piVar2[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = piVar2[1];" (assignment_expression "uVar4 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = piVar2 + 1;" (assignment_expression "piVar3 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);" (assignment_expression "piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9]" (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2" (parenthesized_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10)" ( (binary_expression "(uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10" (binary_expression "(uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13)" (parenthesized_expression "(uVar6 << 0xf | uVar6 >> 0x11)" ( (binary_expression "uVar6 << 0xf | uVar6 >> 0x11" (binary_expression "uVar6 << 0xf" identifier << number_literal) | (binary_expression "uVar6 >> 0x11" identifier >> number_literal)) )) ^ (parenthesized_expression "(uVar6 << 0xd | uVar6 >> 0x13)" ( (binary_expression "uVar6 << 0xd | uVar6 >> 0x13" (binary_expression "uVar6 << 0xd" identifier << number_literal) | (binary_expression "uVar6 >> 0x13" identifier >> number_literal)) ))) ^ (binary_expression "uVar6 >> 10" identifier >> number_literal)) )) + (pointer_expression "*piVar2" * identifier)) + (subscript_expression "piVar2[9]" identifier [ number_literal ])) + (parenthesized_expression "((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" ( (binary_expression "(uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3" (binary_expression "(uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12)" (parenthesized_expression "(uVar4 >> 7 | uVar4 << 0x19)" ( (binary_expression "uVar4 >> 7 | uVar4 << 0x19" (binary_expression "uVar4 >> 7" identifier >> number_literal) | (binary_expression "uVar4 << 0x19" identifier << number_literal)) )) ^ (parenthesized_expression "(uVar4 << 0xe | uVar4 >> 0x12)" ( (binary_expression "uVar4 << 0xe | uVar4 >> 0x12" (binary_expression "uVar4 << 0xe" identifier << number_literal) | (binary_expression "uVar4 >> 0x12" identifier >> number_literal)) ))) ^ (binary_expression "uVar4 >> 3" identifier >> number_literal)) )))) ;) (expression_statement "piVar2 = piVar3;" (assignment_expression "piVar2 = piVar3" identifier = identifier) ;) }) while (parenthesized_expression "(local_160 + 0x30 != piVar3)" ( (binary_expression "local_160 + 0x30 != piVar3" (binary_expression "local_160 + 0x30" identifier + number_literal) != identifier) )) ;) (expression_statement "local_19c = -0x54e3a12b;" (assignment_expression "local_19c = -0x54e3a12b" identifier = number_literal) ;) (expression_statement "local_1a0 = -0x6dc07d5c;" (assignment_expression "local_1a0 = -0x6dc07d5c" identifier = number_literal) ;) (expression_statement "local_1a4 = 0x59f111f1;" (assignment_expression "local_1a4 = 0x59f111f1" identifier = number_literal) ;) (expression_statement "iVar5 = 0x71374491;" (assignment_expression "iVar5 = 0x71374491" identifier = number_literal) ;) (expression_statement "iVar1 = 0x428a2f98;" (assignment_expression "iVar1 = 0x428a2f98" identifier = number_literal) ;) (expression_statement "local_1a8 = 0x3956c25b;" (assignment_expression "local_1a8 = 0x3956c25b" identifier = number_literal) ;) (expression_statement "local_1ac = -0x164a245b;" (assignment_expression "local_1ac = -0x164a245b" identifier = number_literal) ;) (expression_statement "local_1b0 = -0x4a3f0431;" (assignment_expression "local_1b0 = -0x4a3f0431" identifier = number_literal) ;) (expression_statement "uVar4 = param_1[1];" (assignment_expression "uVar4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[2];" (assignment_expression "uVar6 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "local_1cc = local_160;" (assignment_expression "local_1cc = local_160" identifier = identifier) ;) (expression_statement "local_1c8 = param_1[7];" (assignment_expression "local_1c8 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "local_1c4 = param_1[4];" (assignment_expression "local_1c4 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_1c0 = param_1[5];" (assignment_expression "local_1c0 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_1bc = param_1[3];" (assignment_expression "local_1bc = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_1b8 = param_1[6];" (assignment_expression "local_1b8 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "local_1b4 = *param_1;" (assignment_expression "local_1b4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_198 = &DAT_00051f00;" (assignment_expression "local_198 = &DAT_00051f00" identifier = (pointer_expression "&DAT_00051f00" & identifier)) ;) (while_statement "while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }" { (expression_statement "iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;" (assignment_expression "iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8" identifier = (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" (parenthesized_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4)" ( (binary_expression "~local_1c4 & local_1b8 ^ local_1c0 & local_1c4" (binary_expression "~local_1c4 & local_1b8" (unary_expression "~local_1c4" ~ identifier) & identifier) ^ (binary_expression "local_1c0 & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" ( (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)" (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15)" (parenthesized_expression "(local_1c4 << 7 | local_1c4 >> 0x19)" ( (binary_expression "local_1c4 << 7 | local_1c4 >> 0x19" (binary_expression "local_1c4 << 7" identifier << number_literal) | (binary_expression "local_1c4 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c4 >> 0xb | local_1c4 << 0x15)" ( (binary_expression "local_1c4 >> 0xb | local_1c4 << 0x15" (binary_expression "local_1c4 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c4 << 0x15" identifier << number_literal)) ))) ^ (parenthesized_expression "(local_1c4 >> 6 | local_1c4 << 0x1a)" ( (binary_expression "local_1c4 >> 6 | local_1c4 << 0x1a" (binary_expression "local_1c4 >> 6" identifier >> number_literal) | (binary_expression "local_1c4 << 0x1a" identifier << number_literal)) ))) ))) + identifier) + (pointer_expression "*local_1cc" * identifier)) + identifier)) ;) (expression_statement "local_1bc = local_1bc + iVar1;" (assignment_expression "local_1bc = local_1bc + iVar1" identifier = (binary_expression "local_1bc + iVar1" identifier + identifier)) ;) (expression_statement "local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));" (assignment_expression "local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" identifier = (binary_expression "iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" (binary_expression "iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6)" identifier + (parenthesized_expression "((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6)" ( (binary_expression "(uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6" (binary_expression "(uVar4 ^ uVar6) & local_1b4" (parenthesized_expression "(uVar4 ^ uVar6)" ( (binary_expression "uVar4 ^ uVar6" identifier ^ identifier) )) & identifier) ^ (binary_expression "uVar4 & uVar6" identifier & identifier)) ))) + (parenthesized_expression "((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" ( (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16)" (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e)" (parenthesized_expression "(local_1b4 >> 0xd | local_1b4 << 0x13)" ( (binary_expression "local_1b4 >> 0xd | local_1b4 << 0x13" (binary_expression "local_1b4 >> 0xd" identifier >> number_literal) | (binary_expression "local_1b4 << 0x13" identifier << number_literal)) )) ^ (parenthesized_expression "(local_1b4 >> 2 | local_1b4 << 0x1e)" ( (binary_expression "local_1b4 >> 2 | local_1b4 << 0x1e" (binary_expression "local_1b4 >> 2" identifier >> number_literal) | (binary_expression "local_1b4 << 0x1e" identifier << number_literal)) ))) ^ (parenthesized_expression "(local_1b4 << 10 | local_1b4 >> 0x16)" ( (binary_expression "local_1b4 << 10 | local_1b4 >> 0x16" (binary_expression "local_1b4 << 10" identifier << number_literal) | (binary_expression "local_1b4 >> 0x16" identifier >> number_literal)) ))) )))) ;) (expression_statement "iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));" (assignment_expression "iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" identifier = (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1]" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8" (parenthesized_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0)" ( (binary_expression "local_1bc & local_1c4 ^ ~local_1bc & local_1c0" (binary_expression "local_1bc & local_1c4" identifier & identifier) ^ (binary_expression "~local_1bc & local_1c0" (unary_expression "~local_1bc" ~ identifier) & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[1]" identifier [ number_literal ])) + (parenthesized_expression "((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" ( (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19)" (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000)" (parenthesized_expression "(local_1bc >> 0xb | local_1bc * 0x200000)" ( (binary_expression "local_1bc >> 0xb | local_1bc * 0x200000" (binary_expression "local_1bc >> 0xb" identifier >> number_literal) | (binary_expression "local_1bc * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1bc >> 6 | local_1bc * 0x4000000)" ( (binary_expression "local_1bc >> 6 | local_1bc * 0x4000000" (binary_expression "local_1bc >> 6" identifier >> number_literal) | (binary_expression "local_1bc * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1bc * 0x80 | local_1bc >> 0x19)" ( (binary_expression "local_1bc * 0x80 | local_1bc >> 0x19" (binary_expression "local_1bc * 0x80" identifier * number_literal) | (binary_expression "local_1bc >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar6 = iVar1 + uVar6;" (assignment_expression "uVar6 = iVar1 + uVar6" identifier = (binary_expression "iVar1 + uVar6" identifier + identifier)) ;) (expression_statement "local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1" identifier = (binary_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" (parenthesized_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4)" ( (binary_expression "(local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4" (binary_expression "(local_1b4 ^ uVar4) & local_1c8" (parenthesized_expression "(local_1b4 ^ uVar4)" ( (binary_expression "local_1b4 ^ uVar4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b4 & uVar4" identifier & identifier)) )) + (parenthesized_expression "((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" ( (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)" (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000)" (parenthesized_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000)" ( (binary_expression "local_1c8 >> 0xd | local_1c8 * 0x80000" (binary_expression "local_1c8 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c8 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c8 >> 2 | local_1c8 * 0x40000000)" ( (binary_expression "local_1c8 >> 2 | local_1c8 * 0x40000000" (binary_expression "local_1c8 >> 2" identifier >> number_literal) | (binary_expression "local_1c8 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c8 * 0x400 | local_1c8 >> 0x16)" ( (binary_expression "local_1c8 * 0x400 | local_1c8 >> 0x16" (binary_expression "local_1c8 * 0x400" identifier * number_literal) | (binary_expression "local_1c8 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));" (assignment_expression "iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" identifier = (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2]" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0" (parenthesized_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4)" ( (binary_expression "local_1bc & uVar6 ^ ~uVar6 & local_1c4" (binary_expression "local_1bc & uVar6" identifier & identifier) ^ (binary_expression "~uVar6 & local_1c4" (unary_expression "~uVar6" ~ identifier) & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[2]" identifier [ number_literal ])) + (parenthesized_expression "((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" ( (binary_expression "(uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19)" (binary_expression "(uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000)" (parenthesized_expression "(uVar6 >> 0xb | uVar6 * 0x200000)" ( (binary_expression "uVar6 >> 0xb | uVar6 * 0x200000" (binary_expression "uVar6 >> 0xb" identifier >> number_literal) | (binary_expression "uVar6 * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar6 >> 6 | uVar6 * 0x4000000)" ( (binary_expression "uVar6 >> 6 | uVar6 * 0x4000000" (binary_expression "uVar6 >> 6" identifier >> number_literal) | (binary_expression "uVar6 * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar6 * 0x80 | uVar6 >> 0x19)" ( (binary_expression "uVar6 * 0x80 | uVar6 >> 0x19" (binary_expression "uVar6 * 0x80" identifier * number_literal) | (binary_expression "uVar6 >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar4 = iVar1 + uVar4;" (assignment_expression "uVar4 = iVar1 + uVar4" identifier = (binary_expression "iVar1 + uVar4" identifier + identifier)) ;) (expression_statement "local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1" identifier = (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                )" (parenthesized_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8)" ( (binary_expression "(local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8" (binary_expression "(local_1c8 ^ local_1b4) & local_1b8" (parenthesized_expression "(local_1c8 ^ local_1b4)" ( (binary_expression "local_1c8 ^ local_1b4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b4 & local_1c8" identifier & identifier)) )) + (parenthesized_expression "((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                )" ( (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)" (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000)" (parenthesized_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000)" ( (binary_expression "local_1b8 >> 0xd | local_1b8 * 0x80000" (binary_expression "local_1b8 >> 0xd" identifier >> number_literal) | (binary_expression "local_1b8 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1b8 >> 2 | local_1b8 * 0x40000000)" ( (binary_expression "local_1b8 >> 2 | local_1b8 * 0x40000000" (binary_expression "local_1b8 >> 2" identifier >> number_literal) | (binary_expression "local_1b8 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b8 * 0x400 | local_1b8 >> 0x16)" ( (binary_expression "local_1b8 * 0x400 | local_1b8 >> 0x16" (binary_expression "local_1b8 * 0x400" identifier * number_literal) | (binary_expression "local_1b8 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));" (assignment_expression "iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" identifier = (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3]" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac" (parenthesized_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4)" ( (binary_expression "~uVar4 & local_1bc ^ uVar6 & uVar4" (binary_expression "~uVar4 & local_1bc" (unary_expression "~uVar4" ~ identifier) & identifier) ^ (binary_expression "uVar6 & uVar4" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[3]" identifier [ number_literal ])) + (parenthesized_expression "((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" ( (binary_expression "(uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19)" (binary_expression "(uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000)" (parenthesized_expression "(uVar4 >> 0xb | uVar4 * 0x200000)" ( (binary_expression "uVar4 >> 0xb | uVar4 * 0x200000" (binary_expression "uVar4 >> 0xb" identifier >> number_literal) | (binary_expression "uVar4 * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar4 >> 6 | uVar4 * 0x4000000)" ( (binary_expression "uVar4 >> 6 | uVar4 * 0x4000000" (binary_expression "uVar4 >> 6" identifier >> number_literal) | (binary_expression "uVar4 * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar4 * 0x80 | uVar4 >> 0x19)" ( (binary_expression "uVar4 * 0x80 | uVar4 >> 0x19" (binary_expression "uVar4 * 0x80" identifier * number_literal) | (binary_expression "uVar4 >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "local_1b4 = iVar1 + local_1b4;" (assignment_expression "local_1b4 = iVar1 + local_1b4" identifier = (binary_expression "iVar1 + local_1b4" identifier + identifier)) ;) (expression_statement "local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));" (assignment_expression "local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" identifier = (binary_expression "iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" (binary_expression "iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8)" identifier + (parenthesized_expression "((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8)" ( (binary_expression "(local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8" (binary_expression "(local_1c8 ^ local_1b8) & local_1c0" (parenthesized_expression "(local_1c8 ^ local_1b8)" ( (binary_expression "local_1c8 ^ local_1b8" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1c8 & local_1b8" identifier & identifier)) ))) + (parenthesized_expression "((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" ( (binary_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16)" (binary_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000)" (parenthesized_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000)" ( (binary_expression "local_1c0 >> 0xd | local_1c0 * 0x80000" (binary_expression "local_1c0 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c0 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c0 >> 2 | local_1c0 * 0x40000000)" ( (binary_expression "local_1c0 >> 2 | local_1c0 * 0x40000000" (binary_expression "local_1c0 >> 2" identifier >> number_literal) | (binary_expression "local_1c0 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c0 * 0x400 | local_1c0 >> 0x16)" ( (binary_expression "local_1c0 * 0x400 | local_1c0 >> 0x16" (binary_expression "local_1c0 * 0x400" identifier * number_literal) | (binary_expression "local_1c0 >> 0x16" identifier >> number_literal)) ))) )))) ;) (expression_statement "iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));" (assignment_expression "iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" identifier = (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4]" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc" (parenthesized_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4)" ( (binary_expression "~local_1b4 & uVar6 ^ uVar4 & local_1b4" (binary_expression "~local_1b4 & uVar6" (unary_expression "~local_1b4" ~ identifier) & identifier) ^ (binary_expression "uVar4 & local_1b4" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[4]" identifier [ number_literal ])) + (parenthesized_expression "((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" ( (binary_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000)" (binary_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000)" (parenthesized_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19)" ( (binary_expression "local_1b4 * 0x80 | local_1b4 >> 0x19" (binary_expression "local_1b4 * 0x80" identifier * number_literal) | (binary_expression "local_1b4 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1b4 >> 0xb | local_1b4 * 0x200000)" ( (binary_expression "local_1b4 >> 0xb | local_1b4 * 0x200000" (binary_expression "local_1b4 >> 0xb" identifier >> number_literal) | (binary_expression "local_1b4 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b4 >> 6 | local_1b4 * 0x4000000)" ( (binary_expression "local_1b4 >> 6 | local_1b4 * 0x4000000" (binary_expression "local_1b4 >> 6" identifier >> number_literal) | (binary_expression "local_1b4 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1c8 = local_1c8 + iVar1;" (assignment_expression "local_1c8 = local_1c8 + iVar1" identifier = (binary_expression "local_1c8 + iVar1" identifier + identifier)) ;) (expression_statement "local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1" identifier = (binary_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                )" (parenthesized_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0)" ( (binary_expression "(local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0" (binary_expression "(local_1b8 ^ local_1c0) & local_1c4" (parenthesized_expression "(local_1b8 ^ local_1c0)" ( (binary_expression "local_1b8 ^ local_1c0" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b8 & local_1c0" identifier & identifier)) )) + (parenthesized_expression "((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                )" ( (binary_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)" (binary_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000)" (parenthesized_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000)" ( (binary_expression "local_1c4 >> 0xd | local_1c4 * 0x80000" (binary_expression "local_1c4 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c4 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c4 >> 2 | local_1c4 * 0x40000000)" ( (binary_expression "local_1c4 >> 2 | local_1c4 * 0x40000000" (binary_expression "local_1c4 >> 2" identifier >> number_literal) | (binary_expression "local_1c4 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c4 * 0x400 | local_1c4 >> 0x16)" ( (binary_expression "local_1c4 * 0x400 | local_1c4 >> 0x16" (binary_expression "local_1c4 * 0x400" identifier * number_literal) | (binary_expression "local_1c4 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));" (assignment_expression "iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" identifier = (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5]" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4" (parenthesized_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4)" ( (binary_expression "local_1b4 & local_1c8 ^ ~local_1c8 & uVar4" (binary_expression "local_1b4 & local_1c8" identifier & identifier) ^ (binary_expression "~local_1c8 & uVar4" (unary_expression "~local_1c8" ~ identifier) & identifier)) )) + identifier) + (subscript_expression "local_1cc[5]" identifier [ number_literal ])) + identifier) + (parenthesized_expression "((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" ( (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000)" (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000)" (parenthesized_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19)" ( (binary_expression "local_1c8 * 0x80 | local_1c8 >> 0x19" (binary_expression "local_1c8 * 0x80" identifier * number_literal) | (binary_expression "local_1c8 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c8 >> 0xb | local_1c8 * 0x200000)" ( (binary_expression "local_1c8 >> 0xb | local_1c8 * 0x200000" (binary_expression "local_1c8 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c8 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c8 >> 6 | local_1c8 * 0x4000000)" ( (binary_expression "local_1c8 >> 6 | local_1c8 * 0x4000000" (binary_expression "local_1c8 >> 6" identifier >> number_literal) | (binary_expression "local_1c8 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1b8 = local_1b8 + iVar1;" (assignment_expression "local_1b8 = local_1b8 + iVar1" identifier = (binary_expression "local_1b8 + iVar1" identifier + identifier)) ;) (expression_statement "uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;" (assignment_expression "uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1" identifier = (binary_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1" (binary_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16))" (parenthesized_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4)" ( (binary_expression "(local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4" (binary_expression "(local_1c0 ^ local_1c4) & local_1bc" (parenthesized_expression "(local_1c0 ^ local_1c4)" ( (binary_expression "local_1c0 ^ local_1c4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1c0 & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16))" ( (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)" (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000)" (parenthesized_expression "(local_1bc >> 0xd | local_1bc * 0x80000)" ( (binary_expression "local_1bc >> 0xd | local_1bc * 0x80000" (binary_expression "local_1bc >> 0xd" identifier >> number_literal) | (binary_expression "local_1bc * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1bc >> 2 | local_1bc * 0x40000000)" ( (binary_expression "local_1bc >> 2 | local_1bc * 0x40000000" (binary_expression "local_1bc >> 2" identifier >> number_literal) | (binary_expression "local_1bc * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1bc * 0x400 | local_1bc >> 0x16)" ( (binary_expression "local_1bc * 0x400 | local_1bc >> 0x16" (binary_expression "local_1bc * 0x400" identifier * number_literal) | (binary_expression "local_1bc >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;" (assignment_expression "iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4" identifier = (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6]" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" (parenthesized_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8)" ( (binary_expression "~local_1b8 & local_1b4 ^ local_1c8 & local_1b8" (binary_expression "~local_1b8 & local_1b4" (unary_expression "~local_1b8" ~ identifier) & identifier) ^ (binary_expression "local_1c8 & local_1b8" identifier & identifier)) )) + (parenthesized_expression "((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" ( (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)" (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000)" (parenthesized_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19)" ( (binary_expression "local_1b8 * 0x80 | local_1b8 >> 0x19" (binary_expression "local_1b8 * 0x80" identifier * number_literal) | (binary_expression "local_1b8 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1b8 >> 0xb | local_1b8 * 0x200000)" ( (binary_expression "local_1b8 >> 0xb | local_1b8 * 0x200000" (binary_expression "local_1b8 >> 0xb" identifier >> number_literal) | (binary_expression "local_1b8 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b8 >> 6 | local_1b8 * 0x4000000)" ( (binary_expression "local_1b8 >> 6 | local_1b8 * 0x4000000" (binary_expression "local_1b8 >> 6" identifier >> number_literal) | (binary_expression "local_1b8 * 0x4000000" identifier * number_literal)) ))) ))) + identifier) + (subscript_expression "local_1cc[6]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "local_1c0 = local_1c0 + iVar1;" (assignment_expression "local_1c0 = local_1c0 + iVar1" identifier = (binary_expression "local_1c0 + iVar1" identifier + identifier)) ;) (expression_statement "uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;" (assignment_expression "uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1" identifier = (binary_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1" (binary_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16))" (parenthesized_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4)" ( (binary_expression "(local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4" (binary_expression "(local_1bc ^ local_1c4) & uVar6" (parenthesized_expression "(local_1bc ^ local_1c4)" ( (binary_expression "local_1bc ^ local_1c4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1bc & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16))" ( (binary_expression "(uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)" (binary_expression "(uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000)" (parenthesized_expression "(uVar6 >> 0xd | uVar6 * 0x80000)" ( (binary_expression "uVar6 >> 0xd | uVar6 * 0x80000" (binary_expression "uVar6 >> 0xd" identifier >> number_literal) | (binary_expression "uVar6 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar6 >> 2 | uVar6 * 0x40000000)" ( (binary_expression "uVar6 >> 2 | uVar6 * 0x40000000" (binary_expression "uVar6 >> 2" identifier >> number_literal) | (binary_expression "uVar6 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar6 * 0x400 | uVar6 >> 0x16)" ( (binary_expression "uVar6 * 0x400 | uVar6 >> 0x16" (binary_expression "uVar6 * 0x400" identifier * number_literal) | (binary_expression "uVar6 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));" (assignment_expression "iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" identifier = (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7]" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4" (parenthesized_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0)" ( (binary_expression "~local_1c0 & local_1c8 ^ local_1b8 & local_1c0" (binary_expression "~local_1c0 & local_1c8" (unary_expression "~local_1c0" ~ identifier) & identifier) ^ (binary_expression "local_1b8 & local_1c0" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[7]" identifier [ number_literal ])) + (parenthesized_expression "((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" ( (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000)" (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000)" (parenthesized_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19)" ( (binary_expression "local_1c0 * 0x80 | local_1c0 >> 0x19" (binary_expression "local_1c0 * 0x80" identifier * number_literal) | (binary_expression "local_1c0 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c0 >> 0xb | local_1c0 * 0x200000)" ( (binary_expression "local_1c0 >> 0xb | local_1c0 * 0x200000" (binary_expression "local_1c0 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c0 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c0 >> 6 | local_1c0 * 0x4000000)" ( (binary_expression "local_1c0 >> 6 | local_1c0 * 0x4000000" (binary_expression "local_1c0 >> 6" identifier >> number_literal) | (binary_expression "local_1c0 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1c4 = local_1c4 + iVar1;" (assignment_expression "local_1c4 = local_1c4 + iVar1" identifier = (binary_expression "local_1c4 + iVar1" identifier + identifier)) ;) (expression_statement "local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));" (assignment_expression "local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" identifier = (binary_expression "iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" (binary_expression "iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6)" identifier + (parenthesized_expression "((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6)" ( (binary_expression "(local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6" (binary_expression "(local_1bc ^ uVar6) & uVar4" (parenthesized_expression "(local_1bc ^ uVar6)" ( (binary_expression "local_1bc ^ uVar6" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1bc & uVar6" identifier & identifier)) ))) + (parenthesized_expression "((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" ( (binary_expression "(uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16)" (binary_expression "(uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000)" (parenthesized_expression "(uVar4 >> 0xd | uVar4 * 0x80000)" ( (binary_expression "uVar4 >> 0xd | uVar4 * 0x80000" (binary_expression "uVar4 >> 0xd" identifier >> number_literal) | (binary_expression "uVar4 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar4 >> 2 | uVar4 * 0x40000000)" ( (binary_expression "uVar4 >> 2 | uVar4 * 0x40000000" (binary_expression "uVar4 >> 2" identifier >> number_literal) | (binary_expression "uVar4 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar4 * 0x400 | uVar4 >> 0x16)" ( (binary_expression "uVar4 * 0x400 | uVar4 >> 0x16" (binary_expression "uVar4 * 0x400" identifier * number_literal) | (binary_expression "uVar4 >> 0x16" identifier >> number_literal)) ))) )))) ;) (if_statement "if (local_160 + 0x40 == local_1cc + 8) break;" if (parenthesized_expression "(local_160 + 0x40 == local_1cc + 8)" ( (binary_expression "local_160 + 0x40 == local_1cc + 8" (binary_expression "local_160 + 0x40" identifier + number_literal) == (binary_expression "local_1cc + 8" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_1b0 = local_198[2];" (assignment_expression "local_1b0 = local_198[2]" identifier = (subscript_expression "local_198[2]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *local_198;" (assignment_expression "iVar1 = *local_198" identifier = (pointer_expression "*local_198" * identifier)) ;) (expression_statement "iVar5 = local_198[1];" (assignment_expression "iVar5 = local_198[1]" identifier = (subscript_expression "local_198[1]" identifier [ number_literal ])) ;) (expression_statement "local_1ac = local_198[3];" (assignment_expression "local_1ac = local_198[3]" identifier = (subscript_expression "local_198[3]" identifier [ number_literal ])) ;) (expression_statement "local_1a8 = local_198[4];" (assignment_expression "local_1a8 = local_198[4]" identifier = (subscript_expression "local_198[4]" identifier [ number_literal ])) ;) (expression_statement "local_1a4 = local_198[5];" (assignment_expression "local_1a4 = local_198[5]" identifier = (subscript_expression "local_198[5]" identifier [ number_literal ])) ;) (expression_statement "local_1a0 = local_198[6];" (assignment_expression "local_1a0 = local_198[6]" identifier = (subscript_expression "local_198[6]" identifier [ number_literal ])) ;) (expression_statement "local_19c = local_198[7];" (assignment_expression "local_19c = local_198[7]" identifier = (subscript_expression "local_198[7]" identifier [ number_literal ])) ;) (expression_statement "local_1cc = local_1cc + 8;" (assignment_expression "local_1cc = local_1cc + 8" identifier = (binary_expression "local_1cc + 8" identifier + number_literal)) ;) (expression_statement "local_198 = local_198 + 8;" (assignment_expression "local_198 = local_198 + 8" identifier = (binary_expression "local_198 + 8" identifier + number_literal)) ;) })) (expression_statement "param_1[2] = uVar6 + param_1[2];" (assignment_expression "param_1[2] = uVar6 + param_1[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (binary_expression "uVar6 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "*param_1 = *param_1 + local_1b4;" (assignment_expression "*param_1 = *param_1 + local_1b4" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 + local_1b4" (pointer_expression "*param_1" * identifier) + identifier)) ;) (expression_statement "param_1[1] = param_1[1] + uVar4;" (assignment_expression "param_1[1] = param_1[1] + uVar4" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_1[1] + uVar4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[3] = param_1[3] + local_1bc;" (assignment_expression "param_1[3] = param_1[3] + local_1bc" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "param_1[3] + local_1bc" (subscript_expression "param_1[3]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[7] = param_1[7] + local_1c8;" (assignment_expression "param_1[7] = param_1[7] + local_1c8" (subscript_expression "param_1[7]" identifier [ number_literal ]) = (binary_expression "param_1[7] + local_1c8" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[4] = param_1[4] + local_1c4;" (assignment_expression "param_1[4] = param_1[4] + local_1c4" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (binary_expression "param_1[4] + local_1c4" (subscript_expression "param_1[4]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[5] = param_1[5] + local_1c0;" (assignment_expression "param_1[5] = param_1[5] + local_1c0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (binary_expression "param_1[5] + local_1c0" (subscript_expression "param_1[5]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[6] = param_1[6] + local_1b8;" (assignment_expression "param_1[6] = param_1[6] + local_1b8" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] + local_1b8" (subscript_expression "param_1[6]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_0004aab0();" (call_expression "FUN_0004aab0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Unknown calling convention */\n\nvoid SHA256_Block(SHA256_State *s,uint32 *block)\n\n{\n  uint uVar1;\n  int iVar2;\n  uint uVar3;\n  uint32 uVar4;\n  uint32 uVar5;\n  uint32 uVar6;\n  uint uVar7;\n  uint32 uVar8;\n  uint uVar9;\n  int iVar10;\n  uint32 *puVar11;\n  uint32 *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int in_GS_OFFSET;\n  uint32 *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  uint32 w [80];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar10 = 0;\n  do {\n    w[iVar10] = block[iVar10];\n    iVar10 = iVar10 + 1;\n  } while (iVar10 != 0x10);\n  puVar11 = w;\n  do {\n    uVar17 = puVar11[0xe];\n    uVar14 = puVar11[1];\n    puVar12 = puVar11 + 1;\n    puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);\n    puVar11 = puVar12;\n  } while (w + 0x30 != puVar12);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  uVar3 = s->h[3];\n  uVar4 = s->h[0];\n  local_1a4 = 0x59f111f1;\n  uVar5 = s->h[4];\n  uVar6 = s->h[5];\n  uVar7 = s->h[1];\n  uVar8 = s->h[6];\n  uVar9 = s->h[7];\n  local_198 = SHA256_Block::k;\n  iVar15 = 0x71374491;\n  iVar10 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar14 = uVar7;\n  uVar17 = s->h[2];\n  local_1cc = w;\n  local_1c8 = uVar9;\n  local_1c4 = uVar5;\n  local_1c0 = uVar6;\n  local_1bc = uVar3;\n  local_1b8 = uVar8;\n  local_1b4 = uVar4;\n  while( true ) {\n    local_198 = local_198 + 8;\n    iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar10;\n    local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar17 = iVar10 + uVar17;\n    local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10;\n    iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19));\n    uVar14 = iVar10 + uVar14;\n    uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;\n    iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19));\n    uVar1 = iVar10 + local_1b4;\n    uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16));\n    iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));\n    local_1c8 = local_1c8 + iVar10;\n    local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;\n    iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar10;\n    uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;\n    iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14;\n    local_1c0 = uVar13 + iVar10;\n    uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;\n    iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = uVar16 + iVar10;\n    local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16));\n    if (w + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar10 = *local_198;\n    iVar15 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n  }\n  s->h[2] = uVar17 + s->h[2];\n  s->h[0] = uVar4 + local_1b4;\n  s->h[1] = uVar7 + uVar14;\n  s->h[3] = uVar3 + local_1bc;\n  s->h[7] = uVar9 + local_1c8;\n  s->h[4] = uVar5 + local_1c4;\n  s->h[5] = uVar6 + local_1c0;\n  s->h[6] = uVar8 + local_1b8;\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "void SHA256_Block(SHA256_State *s,uint32 *block)\n\n{\n  uint uVar1;\n  int iVar2;\n  uint uVar3;\n  uint32 uVar4;\n  uint32 uVar5;\n  uint32 uVar6;\n  uint uVar7;\n  uint32 uVar8;\n  uint uVar9;\n  int iVar10;\n  uint32 *puVar11;\n  uint32 *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int in_GS_OFFSET;\n  uint32 *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  uint32 w [80];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar10 = 0;\n  do {\n    w[iVar10] = block[iVar10];\n    iVar10 = iVar10 + 1;\n  } while (iVar10 != 0x10);\n  puVar11 = w;\n  do {\n    uVar17 = puVar11[0xe];\n    uVar14 = puVar11[1];\n    puVar12 = puVar11 + 1;\n    puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);\n    puVar11 = puVar12;\n  } while (w + 0x30 != puVar12);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  uVar3 = s->h[3];\n  uVar4 = s->h[0];\n  local_1a4 = 0x59f111f1;\n  uVar5 = s->h[4];\n  uVar6 = s->h[5];\n  uVar7 = s->h[1];\n  uVar8 = s->h[6];\n  uVar9 = s->h[7];\n  local_198 = SHA256_Block::k;\n  iVar15 = 0x71374491;\n  iVar10 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar14 = uVar7;\n  uVar17 = s->h[2];\n  local_1cc = w;\n  local_1c8 = uVar9;\n  local_1c4 = uVar5;\n  local_1c0 = uVar6;\n  local_1bc = uVar3;\n  local_1b8 = uVar8;\n  local_1b4 = uVar4;\n  while( true ) {\n    local_198 = local_198 + 8;\n    iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar10;\n    local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar17 = iVar10 + uVar17;\n    local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10;\n    iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19));\n    uVar14 = iVar10 + uVar14;\n    uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;\n    iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19));\n    uVar1 = iVar10 + local_1b4;\n    uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16));\n    iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));\n    local_1c8 = local_1c8 + iVar10;\n    local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;\n    iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar10;\n    uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;\n    iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14;\n    local_1c0 = uVar13 + iVar10;\n    uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;\n    iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = uVar16 + iVar10;\n    local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16));\n    if (w + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar10 = *local_198;\n    iVar15 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n  }\n  s->h[2] = uVar17 + s->h[2];\n  s->h[0] = uVar4 + local_1b4;\n  s->h[1] = uVar7 + uVar14;\n  s->h[3] = uVar3 + local_1bc;\n  s->h[7] = uVar9 + local_1c8;\n  s->h[4] = uVar5 + local_1c4;\n  s->h[5] = uVar6 + local_1c0;\n  s->h[6] = uVar8 + local_1b8;\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (function_declarator "SHA256_Block(SHA256_State *s,uint32 *block)" identifier (parameter_list "(SHA256_State *s,uint32 *block)" ( (parameter_declaration "SHA256_State *s" type_identifier (pointer_declarator "*s" * identifier)) , (parameter_declaration "uint32 *block" type_identifier (pointer_declarator "*block" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  uint uVar3;\n  uint32 uVar4;\n  uint32 uVar5;\n  uint32 uVar6;\n  uint uVar7;\n  uint32 uVar8;\n  uint uVar9;\n  int iVar10;\n  uint32 *puVar11;\n  uint32 *puVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint uVar16;\n  uint uVar17;\n  int in_GS_OFFSET;\n  uint32 *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  uint32 w [80];\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar10 = 0;\n  do {\n    w[iVar10] = block[iVar10];\n    iVar10 = iVar10 + 1;\n  } while (iVar10 != 0x10);\n  puVar11 = w;\n  do {\n    uVar17 = puVar11[0xe];\n    uVar14 = puVar11[1];\n    puVar12 = puVar11 + 1;\n    puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);\n    puVar11 = puVar12;\n  } while (w + 0x30 != puVar12);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  uVar3 = s->h[3];\n  uVar4 = s->h[0];\n  local_1a4 = 0x59f111f1;\n  uVar5 = s->h[4];\n  uVar6 = s->h[5];\n  uVar7 = s->h[1];\n  uVar8 = s->h[6];\n  uVar9 = s->h[7];\n  local_198 = SHA256_Block::k;\n  iVar15 = 0x71374491;\n  iVar10 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar14 = uVar7;\n  uVar17 = s->h[2];\n  local_1cc = w;\n  local_1c8 = uVar9;\n  local_1c4 = uVar5;\n  local_1c0 = uVar6;\n  local_1bc = uVar3;\n  local_1b8 = uVar8;\n  local_1b4 = uVar4;\n  while( true ) {\n    local_198 = local_198 + 8;\n    iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar10;\n    local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar17 = iVar10 + uVar17;\n    local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10;\n    iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19));\n    uVar14 = iVar10 + uVar14;\n    uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;\n    iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19));\n    uVar1 = iVar10 + local_1b4;\n    uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16));\n    iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));\n    local_1c8 = local_1c8 + iVar10;\n    local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;\n    iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar10;\n    uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;\n    iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14;\n    local_1c0 = uVar13 + iVar10;\n    uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;\n    iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = uVar16 + iVar10;\n    local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16));\n    if (w + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar10 = *local_198;\n    iVar15 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n  }\n  s->h[2] = uVar17 + s->h[2];\n  s->h[0] = uVar4 + local_1b4;\n  s->h[1] = uVar7 + uVar14;\n  s->h[3] = uVar3 + local_1bc;\n  s->h[7] = uVar9 + local_1c8;\n  s->h[4] = uVar5 + local_1c4;\n  s->h[5] = uVar6 + local_1c0;\n  s->h[6] = uVar8 + local_1b8;\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint32 uVar4;" type_identifier identifier ;) (declaration "uint32 uVar5;" type_identifier identifier ;) (declaration "uint32 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint32 uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint32 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint32 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint32 *local_1cc;" type_identifier (pointer_declarator "*local_1cc" * identifier) ;) (declaration "uint local_1c8;" type_identifier identifier ;) (declaration "uint local_1c4;" type_identifier identifier ;) (declaration "uint local_1c0;" type_identifier identifier ;) (declaration "uint local_1bc;" type_identifier identifier ;) (declaration "uint local_1b8;" type_identifier identifier ;) (declaration "uint local_1b4;" type_identifier identifier ;) (declaration "int local_1b0;" primitive_type identifier ;) (declaration "int local_1ac;" primitive_type identifier ;) (declaration "int local_1a8;" primitive_type identifier ;) (declaration "int local_1a4;" primitive_type identifier ;) (declaration "int local_1a0;" primitive_type identifier ;) (declaration "int local_19c;" primitive_type identifier ;) (declaration "int *local_198;" primitive_type (pointer_declarator "*local_198" * identifier) ;) (declaration "uint32 w [80];" type_identifier (array_declarator "w [80]" identifier [ number_literal ]) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n    w[iVar10] = block[iVar10];\n    iVar10 = iVar10 + 1;\n  } while (iVar10 != 0x10);" do (compound_statement "{\n    w[iVar10] = block[iVar10];\n    iVar10 = iVar10 + 1;\n  }" { (expression_statement "w[iVar10] = block[iVar10];" (assignment_expression "w[iVar10] = block[iVar10]" (subscript_expression "w[iVar10]" identifier [ identifier ]) = (subscript_expression "block[iVar10]" identifier [ identifier ])) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != 0x10)" ( (binary_expression "iVar10 != 0x10" identifier != number_literal) )) ;) (expression_statement "puVar11 = w;" (assignment_expression "puVar11 = w" identifier = identifier) ;) (do_statement "do {\n    uVar17 = puVar11[0xe];\n    uVar14 = puVar11[1];\n    puVar12 = puVar11 + 1;\n    puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);\n    puVar11 = puVar12;\n  } while (w + 0x30 != puVar12);" do (compound_statement "{\n    uVar17 = puVar11[0xe];\n    uVar14 = puVar11[1];\n    puVar12 = puVar11 + 1;\n    puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);\n    puVar11 = puVar12;\n  }" { (expression_statement "uVar17 = puVar11[0xe];" (assignment_expression "uVar17 = puVar11[0xe]" identifier = (subscript_expression "puVar11[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = puVar11[1];" (assignment_expression "uVar14 = puVar11[1]" identifier = (subscript_expression "puVar11[1]" identifier [ number_literal ])) ;) (expression_statement "puVar12 = puVar11 + 1;" (assignment_expression "puVar12 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3);" (assignment_expression "puVar11[0x10] =\n         ((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3)" (subscript_expression "puVar11[0x10]" identifier [ number_literal ]) = (binary_expression "((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9] +\n         ((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3)" (binary_expression "((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11 + puVar11[9]" (binary_expression "((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10) +\n         *puVar11" (parenthesized_expression "((uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10)" ( (binary_expression "(uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13) ^ uVar17 >> 10" (binary_expression "(uVar17 << 0xf | uVar17 >> 0x11) ^ (uVar17 << 0xd | uVar17 >> 0x13)" (parenthesized_expression "(uVar17 << 0xf | uVar17 >> 0x11)" ( (binary_expression "uVar17 << 0xf | uVar17 >> 0x11" (binary_expression "uVar17 << 0xf" identifier << number_literal) | (binary_expression "uVar17 >> 0x11" identifier >> number_literal)) )) ^ (parenthesized_expression "(uVar17 << 0xd | uVar17 >> 0x13)" ( (binary_expression "uVar17 << 0xd | uVar17 >> 0x13" (binary_expression "uVar17 << 0xd" identifier << number_literal) | (binary_expression "uVar17 >> 0x13" identifier >> number_literal)) ))) ^ (binary_expression "uVar17 >> 10" identifier >> number_literal)) )) + (pointer_expression "*puVar11" * identifier)) + (subscript_expression "puVar11[9]" identifier [ number_literal ])) + (parenthesized_expression "((uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3)" ( (binary_expression "(uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12) ^ uVar14 >> 3" (binary_expression "(uVar14 >> 7 | uVar14 << 0x19) ^ (uVar14 << 0xe | uVar14 >> 0x12)" (parenthesized_expression "(uVar14 >> 7 | uVar14 << 0x19)" ( (binary_expression "uVar14 >> 7 | uVar14 << 0x19" (binary_expression "uVar14 >> 7" identifier >> number_literal) | (binary_expression "uVar14 << 0x19" identifier << number_literal)) )) ^ (parenthesized_expression "(uVar14 << 0xe | uVar14 >> 0x12)" ( (binary_expression "uVar14 << 0xe | uVar14 >> 0x12" (binary_expression "uVar14 << 0xe" identifier << number_literal) | (binary_expression "uVar14 >> 0x12" identifier >> number_literal)) ))) ^ (binary_expression "uVar14 >> 3" identifier >> number_literal)) )))) ;) (expression_statement "puVar11 = puVar12;" (assignment_expression "puVar11 = puVar12" identifier = identifier) ;) }) while (parenthesized_expression "(w + 0x30 != puVar12)" ( (binary_expression "w + 0x30 != puVar12" (binary_expression "w + 0x30" identifier + number_literal) != identifier) )) ;) (expression_statement "local_19c = -0x54e3a12b;" (assignment_expression "local_19c = -0x54e3a12b" identifier = number_literal) ;) (expression_statement "local_1a0 = -0x6dc07d5c;" (assignment_expression "local_1a0 = -0x6dc07d5c" identifier = number_literal) ;) (expression_statement "uVar3 = s->h[3];" (assignment_expression "uVar3 = s->h[3]" identifier = (subscript_expression "s->h[3]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar4 = s->h[0];" (assignment_expression "uVar4 = s->h[0]" identifier = (subscript_expression "s->h[0]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_1a4 = 0x59f111f1;" (assignment_expression "local_1a4 = 0x59f111f1" identifier = number_literal) ;) (expression_statement "uVar5 = s->h[4];" (assignment_expression "uVar5 = s->h[4]" identifier = (subscript_expression "s->h[4]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar6 = s->h[5];" (assignment_expression "uVar6 = s->h[5]" identifier = (subscript_expression "s->h[5]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar7 = s->h[1];" (assignment_expression "uVar7 = s->h[1]" identifier = (subscript_expression "s->h[1]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar8 = s->h[6];" (assignment_expression "uVar8 = s->h[6]" identifier = (subscript_expression "s->h[6]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar9 = s->h[7];" (assignment_expression "uVar9 = s->h[7]" identifier = (subscript_expression "s->h[7]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_198 = SHA256_Block::k;" (assignment_expression "local_198 = SHA256_Block" identifier = identifier) (ERROR "::k" : : identifier) ;) (expression_statement "iVar15 = 0x71374491;" (assignment_expression "iVar15 = 0x71374491" identifier = number_literal) ;) (expression_statement "iVar10 = 0x428a2f98;" (assignment_expression "iVar10 = 0x428a2f98" identifier = number_literal) ;) (expression_statement "local_1a8 = 0x3956c25b;" (assignment_expression "local_1a8 = 0x3956c25b" identifier = number_literal) ;) (expression_statement "local_1ac = -0x164a245b;" (assignment_expression "local_1ac = -0x164a245b" identifier = number_literal) ;) (expression_statement "local_1b0 = -0x4a3f0431;" (assignment_expression "local_1b0 = -0x4a3f0431" identifier = number_literal) ;) (expression_statement "uVar14 = uVar7;" (assignment_expression "uVar14 = uVar7" identifier = identifier) ;) (expression_statement "uVar17 = s->h[2];" (assignment_expression "uVar17 = s->h[2]" identifier = (subscript_expression "s->h[2]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "local_1cc = w;" (assignment_expression "local_1cc = w" identifier = identifier) ;) (expression_statement "local_1c8 = uVar9;" (assignment_expression "local_1c8 = uVar9" identifier = identifier) ;) (expression_statement "local_1c4 = uVar5;" (assignment_expression "local_1c4 = uVar5" identifier = identifier) ;) (expression_statement "local_1c0 = uVar6;" (assignment_expression "local_1c0 = uVar6" identifier = identifier) ;) (expression_statement "local_1bc = uVar3;" (assignment_expression "local_1bc = uVar3" identifier = identifier) ;) (expression_statement "local_1b8 = uVar8;" (assignment_expression "local_1b8 = uVar8" identifier = identifier) ;) (expression_statement "local_1b4 = uVar4;" (assignment_expression "local_1b4 = uVar4" identifier = identifier) ;) (while_statement "while( true ) {\n    local_198 = local_198 + 8;\n    iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar10;\n    local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar17 = iVar10 + uVar17;\n    local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10;\n    iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19));\n    uVar14 = iVar10 + uVar14;\n    uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;\n    iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19));\n    uVar1 = iVar10 + local_1b4;\n    uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16));\n    iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));\n    local_1c8 = local_1c8 + iVar10;\n    local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;\n    iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar10;\n    uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;\n    iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14;\n    local_1c0 = uVar13 + iVar10;\n    uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;\n    iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = uVar16 + iVar10;\n    local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16));\n    if (w + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar10 = *local_198;\n    iVar15 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    local_198 = local_198 + 8;\n    iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar10;\n    local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar17 = iVar10 + uVar17;\n    local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10;\n    iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19));\n    uVar14 = iVar10 + uVar14;\n    uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;\n    iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19));\n    uVar1 = iVar10 + local_1b4;\n    uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16));\n    iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));\n    local_1c8 = local_1c8 + iVar10;\n    local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;\n    iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar10;\n    uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;\n    iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14;\n    local_1c0 = uVar13 + iVar10;\n    uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;\n    iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = uVar16 + iVar10;\n    local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16));\n    if (w + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar10 = *local_198;\n    iVar15 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n  }" { (expression_statement "local_198 = local_198 + 8;" (assignment_expression "local_198 = local_198 + 8" identifier = (binary_expression "local_198 + 8" identifier + number_literal)) ;) (expression_statement "iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8;" (assignment_expression "iVar10 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8" identifier = (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc + local_1c8" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10 + *local_1cc" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n             iVar10" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n             ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" (parenthesized_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4)" ( (binary_expression "~local_1c4 & local_1b8 ^ local_1c0 & local_1c4" (binary_expression "~local_1c4 & local_1b8" (unary_expression "~local_1c4" ~ identifier) & identifier) ^ (binary_expression "local_1c0 & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" ( (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)" (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n             (local_1c4 >> 0xb | local_1c4 << 0x15)" (parenthesized_expression "(local_1c4 << 7 | local_1c4 >> 0x19)" ( (binary_expression "local_1c4 << 7 | local_1c4 >> 0x19" (binary_expression "local_1c4 << 7" identifier << number_literal) | (binary_expression "local_1c4 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c4 >> 0xb | local_1c4 << 0x15)" ( (binary_expression "local_1c4 >> 0xb | local_1c4 << 0x15" (binary_expression "local_1c4 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c4 << 0x15" identifier << number_literal)) ))) ^ (parenthesized_expression "(local_1c4 >> 6 | local_1c4 << 0x1a)" ( (binary_expression "local_1c4 >> 6 | local_1c4 << 0x1a" (binary_expression "local_1c4 >> 6" identifier >> number_literal) | (binary_expression "local_1c4 << 0x1a" identifier << number_literal)) ))) ))) + identifier) + (pointer_expression "*local_1cc" * identifier)) + identifier)) ;) (expression_statement "local_1bc = local_1bc + iVar10;" (assignment_expression "local_1bc = local_1bc + iVar10" identifier = (binary_expression "local_1bc + iVar10" identifier + identifier)) ;) (expression_statement "local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16));" (assignment_expression "local_1c8 = iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16))" identifier = (binary_expression "iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17) +\n                         ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16))" (binary_expression "iVar10 + ((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17)" identifier + (parenthesized_expression "((uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17)" ( (binary_expression "(uVar14 ^ uVar17) & local_1b4 ^ uVar14 & uVar17" (binary_expression "(uVar14 ^ uVar17) & local_1b4" (parenthesized_expression "(uVar14 ^ uVar17)" ( (binary_expression "uVar14 ^ uVar17" identifier ^ identifier) )) & identifier) ^ (binary_expression "uVar14 & uVar17" identifier & identifier)) ))) + (parenthesized_expression "((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16))" ( (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                         (local_1b4 << 10 | local_1b4 >> 0x16)" (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                          (local_1b4 >> 2 | local_1b4 << 0x1e)" (parenthesized_expression "(local_1b4 >> 0xd | local_1b4 << 0x13)" ( (binary_expression "local_1b4 >> 0xd | local_1b4 << 0x13" (binary_expression "local_1b4 >> 0xd" identifier >> number_literal) | (binary_expression "local_1b4 << 0x13" identifier << number_literal)) )) ^ (parenthesized_expression "(local_1b4 >> 2 | local_1b4 << 0x1e)" ( (binary_expression "local_1b4 >> 2 | local_1b4 << 0x1e" (binary_expression "local_1b4 >> 2" identifier >> number_literal) | (binary_expression "local_1b4 << 0x1e" identifier << number_literal)) ))) ^ (parenthesized_expression "(local_1b4 << 10 | local_1b4 >> 0x16)" ( (binary_expression "local_1b4 << 10 | local_1b4 >> 0x16" (binary_expression "local_1b4 << 10" identifier << number_literal) | (binary_expression "local_1b4 >> 0x16" identifier >> number_literal)) ))) )))) ;) (expression_statement "iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19));" (assignment_expression "iVar10 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19))" identifier = (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1] +\n             ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19))" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15 + local_1cc[1]" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8 + iVar15" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n             local_1b8" (parenthesized_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0)" ( (binary_expression "local_1bc & local_1c4 ^ ~local_1bc & local_1c0" (binary_expression "local_1bc & local_1c4" identifier & identifier) ^ (binary_expression "~local_1bc & local_1c0" (unary_expression "~local_1bc" ~ identifier) & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[1]" identifier [ number_literal ])) + (parenthesized_expression "((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19))" ( (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n             (local_1bc * 0x80 | local_1bc >> 0x19)" (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000)" (parenthesized_expression "(local_1bc >> 0xb | local_1bc * 0x200000)" ( (binary_expression "local_1bc >> 0xb | local_1bc * 0x200000" (binary_expression "local_1bc >> 0xb" identifier >> number_literal) | (binary_expression "local_1bc * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1bc >> 6 | local_1bc * 0x4000000)" ( (binary_expression "local_1bc >> 6 | local_1bc * 0x4000000" (binary_expression "local_1bc >> 6" identifier >> number_literal) | (binary_expression "local_1bc * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1bc * 0x80 | local_1bc >> 0x19)" ( (binary_expression "local_1bc * 0x80 | local_1bc >> 0x19" (binary_expression "local_1bc * 0x80" identifier * number_literal) | (binary_expression "local_1bc >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar17 = iVar10 + uVar17;" (assignment_expression "uVar17 = iVar10 + uVar17" identifier = (binary_expression "iVar10 + uVar17" identifier + identifier)) ;) (expression_statement "local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10;" (assignment_expression "local_1b8 = ((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10" identifier = (binary_expression "((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar10" (binary_expression "((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" (parenthesized_expression "((local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14)" ( (binary_expression "(local_1b4 ^ uVar14) & local_1c8 ^ local_1b4 & uVar14" (binary_expression "(local_1b4 ^ uVar14) & local_1c8" (parenthesized_expression "(local_1b4 ^ uVar14)" ( (binary_expression "local_1b4 ^ uVar14" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b4 & uVar14" identifier & identifier)) )) + (parenthesized_expression "((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" ( (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)" (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000)" (parenthesized_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000)" ( (binary_expression "local_1c8 >> 0xd | local_1c8 * 0x80000" (binary_expression "local_1c8 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c8 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c8 >> 2 | local_1c8 * 0x40000000)" ( (binary_expression "local_1c8 >> 2 | local_1c8 * 0x40000000" (binary_expression "local_1c8 >> 2" identifier >> number_literal) | (binary_expression "local_1c8 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c8 * 0x400 | local_1c8 >> 0x16)" ( (binary_expression "local_1c8 * 0x400 | local_1c8 >> 0x16" (binary_expression "local_1c8 * 0x400" identifier * number_literal) | (binary_expression "local_1c8 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19));" (assignment_expression "iVar10 = (local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19))" identifier = (binary_expression "(local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2] +\n             ((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19))" (binary_expression "(local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0 + local_1cc[2]" (binary_expression "(local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0 + local_1c0" (binary_expression "(local_1bc & uVar17 ^ ~uVar17 & local_1c4) +\n             local_1b0" (parenthesized_expression "(local_1bc & uVar17 ^ ~uVar17 & local_1c4)" ( (binary_expression "local_1bc & uVar17 ^ ~uVar17 & local_1c4" (binary_expression "local_1bc & uVar17" identifier & identifier) ^ (binary_expression "~uVar17 & local_1c4" (unary_expression "~uVar17" ~ identifier) & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[2]" identifier [ number_literal ])) + (parenthesized_expression "((uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19))" ( (binary_expression "(uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000) ^\n             (uVar17 * 0x80 | uVar17 >> 0x19)" (binary_expression "(uVar17 >> 0xb | uVar17 * 0x200000) ^ (uVar17 >> 6 | uVar17 * 0x4000000)" (parenthesized_expression "(uVar17 >> 0xb | uVar17 * 0x200000)" ( (binary_expression "uVar17 >> 0xb | uVar17 * 0x200000" (binary_expression "uVar17 >> 0xb" identifier >> number_literal) | (binary_expression "uVar17 * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar17 >> 6 | uVar17 * 0x4000000)" ( (binary_expression "uVar17 >> 6 | uVar17 * 0x4000000" (binary_expression "uVar17 >> 6" identifier >> number_literal) | (binary_expression "uVar17 * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar17 * 0x80 | uVar17 >> 0x19)" ( (binary_expression "uVar17 * 0x80 | uVar17 >> 0x19" (binary_expression "uVar17 * 0x80" identifier * number_literal) | (binary_expression "uVar17 >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar14 = iVar10 + uVar14;" (assignment_expression "uVar14 = iVar10 + uVar14" identifier = (binary_expression "iVar10 + uVar14" identifier + identifier)) ;) (expression_statement "uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10;" (assignment_expression "uVar13 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10" identifier = (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)) + iVar10" (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n             ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16))" (parenthesized_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8)" ( (binary_expression "(local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8" (binary_expression "(local_1c8 ^ local_1b4) & local_1b8" (parenthesized_expression "(local_1c8 ^ local_1b4)" ( (binary_expression "local_1c8 ^ local_1b4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b4 & local_1c8" identifier & identifier)) )) + (parenthesized_expression "((local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16))" ( (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000) ^\n             (local_1b8 * 0x400 | local_1b8 >> 0x16)" (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^ (local_1b8 >> 2 | local_1b8 * 0x40000000)" (parenthesized_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000)" ( (binary_expression "local_1b8 >> 0xd | local_1b8 * 0x80000" (binary_expression "local_1b8 >> 0xd" identifier >> number_literal) | (binary_expression "local_1b8 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1b8 >> 2 | local_1b8 * 0x40000000)" ( (binary_expression "local_1b8 >> 2 | local_1b8 * 0x40000000" (binary_expression "local_1b8 >> 2" identifier >> number_literal) | (binary_expression "local_1b8 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b8 * 0x400 | local_1b8 >> 0x16)" ( (binary_expression "local_1b8 * 0x400 | local_1b8 >> 0x16" (binary_expression "local_1b8 * 0x400" identifier * number_literal) | (binary_expression "local_1b8 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19));" (assignment_expression "iVar10 = (~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19))" identifier = (binary_expression "(~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3] +\n             ((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19))" (binary_expression "(~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4 + local_1cc[3]" (binary_expression "(~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac + local_1c4" (binary_expression "(~uVar14 & local_1bc ^ uVar17 & uVar14) +\n             local_1ac" (parenthesized_expression "(~uVar14 & local_1bc ^ uVar17 & uVar14)" ( (binary_expression "~uVar14 & local_1bc ^ uVar17 & uVar14" (binary_expression "~uVar14 & local_1bc" (unary_expression "~uVar14" ~ identifier) & identifier) ^ (binary_expression "uVar17 & uVar14" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[3]" identifier [ number_literal ])) + (parenthesized_expression "((uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19))" ( (binary_expression "(uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000) ^\n             (uVar14 * 0x80 | uVar14 >> 0x19)" (binary_expression "(uVar14 >> 0xb | uVar14 * 0x200000) ^ (uVar14 >> 6 | uVar14 * 0x4000000)" (parenthesized_expression "(uVar14 >> 0xb | uVar14 * 0x200000)" ( (binary_expression "uVar14 >> 0xb | uVar14 * 0x200000" (binary_expression "uVar14 >> 0xb" identifier >> number_literal) | (binary_expression "uVar14 * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar14 >> 6 | uVar14 * 0x4000000)" ( (binary_expression "uVar14 >> 6 | uVar14 * 0x4000000" (binary_expression "uVar14 >> 6" identifier >> number_literal) | (binary_expression "uVar14 * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar14 * 0x80 | uVar14 >> 0x19)" ( (binary_expression "uVar14 * 0x80 | uVar14 >> 0x19" (binary_expression "uVar14 * 0x80" identifier * number_literal) | (binary_expression "uVar14 >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar1 = iVar10 + local_1b4;" (assignment_expression "uVar1 = iVar10 + local_1b4" identifier = (binary_expression "iVar10 + local_1b4" identifier + identifier)) ;) (expression_statement "uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16));" (assignment_expression "uVar16 = iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16))" identifier = (binary_expression "iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8) +\n                      ((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16))" (binary_expression "iVar10 + ((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8)" identifier + (parenthesized_expression "((local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8)" ( (binary_expression "(local_1c8 ^ local_1b8) & uVar13 ^ local_1c8 & local_1b8" (binary_expression "(local_1c8 ^ local_1b8) & uVar13" (parenthesized_expression "(local_1c8 ^ local_1b8)" ( (binary_expression "local_1c8 ^ local_1b8" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1c8 & local_1b8" identifier & identifier)) ))) + (parenthesized_expression "((uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16))" ( (binary_expression "(uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000) ^\n                      (uVar13 * 0x400 | uVar13 >> 0x16)" (binary_expression "(uVar13 >> 0xd | uVar13 * 0x80000) ^ (uVar13 >> 2 | uVar13 * 0x40000000)" (parenthesized_expression "(uVar13 >> 0xd | uVar13 * 0x80000)" ( (binary_expression "uVar13 >> 0xd | uVar13 * 0x80000" (binary_expression "uVar13 >> 0xd" identifier >> number_literal) | (binary_expression "uVar13 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar13 >> 2 | uVar13 * 0x40000000)" ( (binary_expression "uVar13 >> 2 | uVar13 * 0x40000000" (binary_expression "uVar13 >> 2" identifier >> number_literal) | (binary_expression "uVar13 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar13 * 0x400 | uVar13 >> 0x16)" ( (binary_expression "uVar13 * 0x400 | uVar13 >> 0x16" (binary_expression "uVar13 * 0x400" identifier * number_literal) | (binary_expression "uVar13 >> 0x16" identifier >> number_literal)) ))) )))) ;) (expression_statement "iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000));" (assignment_expression "iVar10 = (~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000))" identifier = (binary_expression "(~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4] +\n             ((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000))" (binary_expression "(~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8 + local_1cc[4]" (binary_expression "(~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc + local_1a8" (binary_expression "(~uVar1 & uVar17 ^ uVar14 & uVar1) +\n             local_1bc" (parenthesized_expression "(~uVar1 & uVar17 ^ uVar14 & uVar1)" ( (binary_expression "~uVar1 & uVar17 ^ uVar14 & uVar1" (binary_expression "~uVar1 & uVar17" (unary_expression "~uVar1" ~ identifier) & identifier) ^ (binary_expression "uVar14 & uVar1" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[4]" identifier [ number_literal ])) + (parenthesized_expression "((uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000))" ( (binary_expression "(uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000) ^ (uVar1 >> 6 | uVar1 * 0x4000000)" (binary_expression "(uVar1 * 0x80 | uVar1 >> 0x19) ^\n             (uVar1 >> 0xb | uVar1 * 0x200000)" (parenthesized_expression "(uVar1 * 0x80 | uVar1 >> 0x19)" ( (binary_expression "uVar1 * 0x80 | uVar1 >> 0x19" (binary_expression "uVar1 * 0x80" identifier * number_literal) | (binary_expression "uVar1 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(uVar1 >> 0xb | uVar1 * 0x200000)" ( (binary_expression "uVar1 >> 0xb | uVar1 * 0x200000" (binary_expression "uVar1 >> 0xb" identifier >> number_literal) | (binary_expression "uVar1 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar1 >> 6 | uVar1 * 0x4000000)" ( (binary_expression "uVar1 >> 6 | uVar1 * 0x4000000" (binary_expression "uVar1 >> 6" identifier >> number_literal) | (binary_expression "uVar1 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1c8 = local_1c8 + iVar10;" (assignment_expression "local_1c8 = local_1c8 + iVar10" identifier = (binary_expression "local_1c8 + iVar10" identifier + identifier)) ;) (expression_statement "local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10;" (assignment_expression "local_1bc = ((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10" identifier = (binary_expression "((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)) + iVar10" (binary_expression "((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13) +\n                ((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16))" (parenthesized_expression "((local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13)" ( (binary_expression "(local_1b8 ^ uVar13) & uVar16 ^ local_1b8 & uVar13" (binary_expression "(local_1b8 ^ uVar13) & uVar16" (parenthesized_expression "(local_1b8 ^ uVar13)" ( (binary_expression "local_1b8 ^ uVar13" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b8 & uVar13" identifier & identifier)) )) + (parenthesized_expression "((uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16))" ( (binary_expression "(uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000) ^\n                (uVar16 * 0x400 | uVar16 >> 0x16)" (binary_expression "(uVar16 >> 0xd | uVar16 * 0x80000) ^ (uVar16 >> 2 | uVar16 * 0x40000000)" (parenthesized_expression "(uVar16 >> 0xd | uVar16 * 0x80000)" ( (binary_expression "uVar16 >> 0xd | uVar16 * 0x80000" (binary_expression "uVar16 >> 0xd" identifier >> number_literal) | (binary_expression "uVar16 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar16 >> 2 | uVar16 * 0x40000000)" ( (binary_expression "uVar16 >> 2 | uVar16 * 0x40000000" (binary_expression "uVar16 >> 2" identifier >> number_literal) | (binary_expression "uVar16 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar16 * 0x400 | uVar16 >> 0x16)" ( (binary_expression "uVar16 * 0x400 | uVar16 >> 0x16" (binary_expression "uVar16 * 0x400" identifier * number_literal) | (binary_expression "uVar16 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));" (assignment_expression "iVar10 = (uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" identifier = (binary_expression "(uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17 +\n             ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" (binary_expression "(uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5] + uVar17" (binary_expression "(uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4 + local_1cc[5]" (binary_expression "(uVar1 & local_1c8 ^ ~local_1c8 & uVar14) +\n             local_1a4" (parenthesized_expression "(uVar1 & local_1c8 ^ ~local_1c8 & uVar14)" ( (binary_expression "uVar1 & local_1c8 ^ ~local_1c8 & uVar14" (binary_expression "uVar1 & local_1c8" identifier & identifier) ^ (binary_expression "~local_1c8 & uVar14" (unary_expression "~local_1c8" ~ identifier) & identifier)) )) + identifier) + (subscript_expression "local_1cc[5]" identifier [ number_literal ])) + identifier) + (parenthesized_expression "((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" ( (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000)" (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n             (local_1c8 >> 0xb | local_1c8 * 0x200000)" (parenthesized_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19)" ( (binary_expression "local_1c8 * 0x80 | local_1c8 >> 0x19" (binary_expression "local_1c8 * 0x80" identifier * number_literal) | (binary_expression "local_1c8 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c8 >> 0xb | local_1c8 * 0x200000)" ( (binary_expression "local_1c8 >> 0xb | local_1c8 * 0x200000" (binary_expression "local_1c8 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c8 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c8 >> 6 | local_1c8 * 0x4000000)" ( (binary_expression "local_1c8 >> 6 | local_1c8 * 0x4000000" (binary_expression "local_1c8 >> 6" identifier >> number_literal) | (binary_expression "local_1c8 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1b8 = local_1b8 + iVar10;" (assignment_expression "local_1b8 = local_1b8 + iVar10" identifier = (binary_expression "local_1b8 + iVar10" identifier + identifier)) ;) (expression_statement "uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10;" (assignment_expression "uVar17 = ((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10" identifier = (binary_expression "((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar10" (binary_expression "((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16) +\n             ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16))" (parenthesized_expression "((uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16)" ( (binary_expression "(uVar13 ^ uVar16) & local_1bc ^ uVar13 & uVar16" (binary_expression "(uVar13 ^ uVar16) & local_1bc" (parenthesized_expression "(uVar13 ^ uVar16)" ( (binary_expression "uVar13 ^ uVar16" identifier ^ identifier) )) & identifier) ^ (binary_expression "uVar13 & uVar16" identifier & identifier)) )) + (parenthesized_expression "((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16))" ( (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n             (local_1bc * 0x400 | local_1bc >> 0x16)" (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000)" (parenthesized_expression "(local_1bc >> 0xd | local_1bc * 0x80000)" ( (binary_expression "local_1bc >> 0xd | local_1bc * 0x80000" (binary_expression "local_1bc >> 0xd" identifier >> number_literal) | (binary_expression "local_1bc * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1bc >> 2 | local_1bc * 0x40000000)" ( (binary_expression "local_1bc >> 2 | local_1bc * 0x40000000" (binary_expression "local_1bc >> 2" identifier >> number_literal) | (binary_expression "local_1bc * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1bc * 0x400 | local_1bc >> 0x16)" ( (binary_expression "local_1bc * 0x400 | local_1bc >> 0x16" (binary_expression "local_1bc * 0x400" identifier * number_literal) | (binary_expression "local_1bc >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14;" (assignment_expression "iVar10 = (~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14" identifier = (binary_expression "(~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6] + uVar14" (binary_expression "(~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0 + local_1cc[6]" (binary_expression "(~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n             local_1a0" (binary_expression "(~local_1b8 & uVar1 ^ local_1c8 & local_1b8) +\n             ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" (parenthesized_expression "(~local_1b8 & uVar1 ^ local_1c8 & local_1b8)" ( (binary_expression "~local_1b8 & uVar1 ^ local_1c8 & local_1b8" (binary_expression "~local_1b8 & uVar1" (unary_expression "~local_1b8" ~ identifier) & identifier) ^ (binary_expression "local_1c8 & local_1b8" identifier & identifier)) )) + (parenthesized_expression "((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" ( (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)" (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n             (local_1b8 >> 0xb | local_1b8 * 0x200000)" (parenthesized_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19)" ( (binary_expression "local_1b8 * 0x80 | local_1b8 >> 0x19" (binary_expression "local_1b8 * 0x80" identifier * number_literal) | (binary_expression "local_1b8 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1b8 >> 0xb | local_1b8 * 0x200000)" ( (binary_expression "local_1b8 >> 0xb | local_1b8 * 0x200000" (binary_expression "local_1b8 >> 0xb" identifier >> number_literal) | (binary_expression "local_1b8 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b8 >> 6 | local_1b8 * 0x4000000)" ( (binary_expression "local_1b8 >> 6 | local_1b8 * 0x4000000" (binary_expression "local_1b8 >> 6" identifier >> number_literal) | (binary_expression "local_1b8 * 0x4000000" identifier * number_literal)) ))) ))) + identifier) + (subscript_expression "local_1cc[6]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "local_1c0 = uVar13 + iVar10;" (assignment_expression "local_1c0 = uVar13 + iVar10" identifier = (binary_expression "uVar13 + iVar10" identifier + identifier)) ;) (expression_statement "uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10;" (assignment_expression "uVar14 = ((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10" identifier = (binary_expression "((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)) + iVar10" (binary_expression "((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16) +\n             ((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16))" (parenthesized_expression "((local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16)" ( (binary_expression "(local_1bc ^ uVar16) & uVar17 ^ local_1bc & uVar16" (binary_expression "(local_1bc ^ uVar16) & uVar17" (parenthesized_expression "(local_1bc ^ uVar16)" ( (binary_expression "local_1bc ^ uVar16" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1bc & uVar16" identifier & identifier)) )) + (parenthesized_expression "((uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16))" ( (binary_expression "(uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000) ^\n             (uVar17 * 0x400 | uVar17 >> 0x16)" (binary_expression "(uVar17 >> 0xd | uVar17 * 0x80000) ^ (uVar17 >> 2 | uVar17 * 0x40000000)" (parenthesized_expression "(uVar17 >> 0xd | uVar17 * 0x80000)" ( (binary_expression "uVar17 >> 0xd | uVar17 * 0x80000" (binary_expression "uVar17 >> 0xd" identifier >> number_literal) | (binary_expression "uVar17 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar17 >> 2 | uVar17 * 0x40000000)" ( (binary_expression "uVar17 >> 2 | uVar17 * 0x40000000" (binary_expression "uVar17 >> 2" identifier >> number_literal) | (binary_expression "uVar17 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar17 * 0x400 | uVar17 >> 0x16)" ( (binary_expression "uVar17 * 0x400 | uVar17 >> 0x16" (binary_expression "uVar17 * 0x400" identifier * number_literal) | (binary_expression "uVar17 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));" (assignment_expression "iVar10 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" identifier = (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7] +\n             ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c + local_1cc[7]" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1 + local_19c" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n             uVar1" (parenthesized_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0)" ( (binary_expression "~local_1c0 & local_1c8 ^ local_1b8 & local_1c0" (binary_expression "~local_1c0 & local_1c8" (unary_expression "~local_1c0" ~ identifier) & identifier) ^ (binary_expression "local_1b8 & local_1c0" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[7]" identifier [ number_literal ])) + (parenthesized_expression "((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" ( (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000)" (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n             (local_1c0 >> 0xb | local_1c0 * 0x200000)" (parenthesized_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19)" ( (binary_expression "local_1c0 * 0x80 | local_1c0 >> 0x19" (binary_expression "local_1c0 * 0x80" identifier * number_literal) | (binary_expression "local_1c0 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c0 >> 0xb | local_1c0 * 0x200000)" ( (binary_expression "local_1c0 >> 0xb | local_1c0 * 0x200000" (binary_expression "local_1c0 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c0 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c0 >> 6 | local_1c0 * 0x4000000)" ( (binary_expression "local_1c0 >> 6 | local_1c0 * 0x4000000" (binary_expression "local_1c0 >> 6" identifier >> number_literal) | (binary_expression "local_1c0 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1c4 = uVar16 + iVar10;" (assignment_expression "local_1c4 = uVar16 + iVar10" identifier = (binary_expression "uVar16 + iVar10" identifier + identifier)) ;) (expression_statement "local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16));" (assignment_expression "local_1b4 = iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16))" identifier = (binary_expression "iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17) +\n                         ((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16))" (binary_expression "iVar10 + ((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17)" identifier + (parenthesized_expression "((local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17)" ( (binary_expression "(local_1bc ^ uVar17) & uVar14 ^ local_1bc & uVar17" (binary_expression "(local_1bc ^ uVar17) & uVar14" (parenthesized_expression "(local_1bc ^ uVar17)" ( (binary_expression "local_1bc ^ uVar17" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1bc & uVar17" identifier & identifier)) ))) + (parenthesized_expression "((uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16))" ( (binary_expression "(uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000) ^\n                         (uVar14 * 0x400 | uVar14 >> 0x16)" (binary_expression "(uVar14 >> 0xd | uVar14 * 0x80000) ^ (uVar14 >> 2 | uVar14 * 0x40000000)" (parenthesized_expression "(uVar14 >> 0xd | uVar14 * 0x80000)" ( (binary_expression "uVar14 >> 0xd | uVar14 * 0x80000" (binary_expression "uVar14 >> 0xd" identifier >> number_literal) | (binary_expression "uVar14 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar14 >> 2 | uVar14 * 0x40000000)" ( (binary_expression "uVar14 >> 2 | uVar14 * 0x40000000" (binary_expression "uVar14 >> 2" identifier >> number_literal) | (binary_expression "uVar14 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar14 * 0x400 | uVar14 >> 0x16)" ( (binary_expression "uVar14 * 0x400 | uVar14 >> 0x16" (binary_expression "uVar14 * 0x400" identifier * number_literal) | (binary_expression "uVar14 >> 0x16" identifier >> number_literal)) ))) )))) ;) (if_statement "if (w + 0x40 == local_1cc + 8) break;" if (parenthesized_expression "(w + 0x40 == local_1cc + 8)" ( (binary_expression "w + 0x40 == local_1cc + 8" (binary_expression "w + 0x40" identifier + number_literal) == (binary_expression "local_1cc + 8" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_1b0 = local_198[2];" (assignment_expression "local_1b0 = local_198[2]" identifier = (subscript_expression "local_198[2]" identifier [ number_literal ])) ;) (expression_statement "iVar10 = *local_198;" (assignment_expression "iVar10 = *local_198" identifier = (pointer_expression "*local_198" * identifier)) ;) (expression_statement "iVar15 = local_198[1];" (assignment_expression "iVar15 = local_198[1]" identifier = (subscript_expression "local_198[1]" identifier [ number_literal ])) ;) (expression_statement "local_1ac = local_198[3];" (assignment_expression "local_1ac = local_198[3]" identifier = (subscript_expression "local_198[3]" identifier [ number_literal ])) ;) (expression_statement "local_1a8 = local_198[4];" (assignment_expression "local_1a8 = local_198[4]" identifier = (subscript_expression "local_198[4]" identifier [ number_literal ])) ;) (expression_statement "local_1a4 = local_198[5];" (assignment_expression "local_1a4 = local_198[5]" identifier = (subscript_expression "local_198[5]" identifier [ number_literal ])) ;) (expression_statement "local_1a0 = local_198[6];" (assignment_expression "local_1a0 = local_198[6]" identifier = (subscript_expression "local_198[6]" identifier [ number_literal ])) ;) (expression_statement "local_19c = local_198[7];" (assignment_expression "local_19c = local_198[7]" identifier = (subscript_expression "local_198[7]" identifier [ number_literal ])) ;) (expression_statement "local_1cc = local_1cc + 8;" (assignment_expression "local_1cc = local_1cc + 8" identifier = (binary_expression "local_1cc + 8" identifier + number_literal)) ;) })) (expression_statement "s->h[2] = uVar17 + s->h[2];" (assignment_expression "s->h[2] = uVar17 + s->h[2]" (subscript_expression "s->h[2]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar17 + s->h[2]" identifier + (subscript_expression "s->h[2]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "s->h[0] = uVar4 + local_1b4;" (assignment_expression "s->h[0] = uVar4 + local_1b4" (subscript_expression "s->h[0]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar4 + local_1b4" identifier + identifier)) ;) (expression_statement "s->h[1] = uVar7 + uVar14;" (assignment_expression "s->h[1] = uVar7 + uVar14" (subscript_expression "s->h[1]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar7 + uVar14" identifier + identifier)) ;) (expression_statement "s->h[3] = uVar3 + local_1bc;" (assignment_expression "s->h[3] = uVar3 + local_1bc" (subscript_expression "s->h[3]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar3 + local_1bc" identifier + identifier)) ;) (expression_statement "s->h[7] = uVar9 + local_1c8;" (assignment_expression "s->h[7] = uVar9 + local_1c8" (subscript_expression "s->h[7]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar9 + local_1c8" identifier + identifier)) ;) (expression_statement "s->h[4] = uVar5 + local_1c4;" (assignment_expression "s->h[4] = uVar5 + local_1c4" (subscript_expression "s->h[4]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar5 + local_1c4" identifier + identifier)) ;) (expression_statement "s->h[5] = uVar6 + local_1c0;" (assignment_expression "s->h[5] = uVar6 + local_1c0" (subscript_expression "s->h[5]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar6 + local_1c0" identifier + identifier)) ;) (expression_statement "s->h[6] = uVar8 + local_1b8;" (assignment_expression "s->h[6] = uVar8 + local_1b8" (subscript_expression "s->h[6]" (field_expression "s->h" identifier -> field_identifier) [ number_literal ]) = (binary_expression "uVar8 + local_1b8" identifier + identifier)) ;) (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_0003a4d0(uint *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0004aab0();\n}\n\n" (function_definition "void FUN_0003a4d0(uint *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0004aab0();\n}" primitive_type (function_declarator "FUN_0003a4d0(uint *param_1,int param_2)" identifier (parameter_list "(uint *param_1,int param_2)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0004aab0();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *local_1cc;" primitive_type (pointer_declarator "*local_1cc" * identifier) ;) (declaration "uint local_1c8;" type_identifier identifier ;) (declaration "uint local_1c4;" type_identifier identifier ;) (declaration "uint local_1c0;" type_identifier identifier ;) (declaration "uint local_1bc;" type_identifier identifier ;) (declaration "uint local_1b8;" type_identifier identifier ;) (declaration "uint local_1b4;" type_identifier identifier ;) (declaration "int local_1b0;" primitive_type identifier ;) (declaration "int local_1ac;" primitive_type identifier ;) (declaration "int local_1a8;" primitive_type identifier ;) (declaration "int local_1a4;" primitive_type identifier ;) (declaration "int local_1a0;" primitive_type identifier ;) (declaration "int local_19c;" primitive_type identifier ;) (declaration "int *local_198;" primitive_type (pointer_declarator "*local_198" * identifier) ;) (declaration "int local_160 [80];" primitive_type (array_declarator "local_160 [80]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (do_statement "do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);" do (compound_statement "{\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);" (assignment_expression "local_160[iVar1] = *(int *)(param_2 + iVar1 * 4)" (subscript_expression "local_160[iVar1]" identifier [ identifier ]) = (pointer_expression "*(int *)(param_2 + iVar1 * 4)" * (cast_expression "(int *)(param_2 + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + iVar1 * 4)" ( (binary_expression "param_2 + iVar1 * 4" identifier + (binary_expression "iVar1 * 4" identifier * number_literal)) ))))) ;) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0x10)" ( (binary_expression "iVar1 != 0x10" identifier != number_literal) )) ;) (expression_statement "piVar2 = local_160;" (assignment_expression "piVar2 = local_160" identifier = identifier) ;) (do_statement "do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);" do (compound_statement "{\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  }" { (expression_statement "uVar6 = piVar2[0xe];" (assignment_expression "uVar6 = piVar2[0xe]" identifier = (subscript_expression "piVar2[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = piVar2[1];" (assignment_expression "uVar4 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = piVar2 + 1;" (assignment_expression "piVar3 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) (expression_statement "piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);" (assignment_expression "piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9]" (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2" (parenthesized_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10)" ( (binary_expression "(uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10" (binary_expression "(uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13)" (parenthesized_expression "(uVar6 << 0xf | uVar6 >> 0x11)" ( (binary_expression "uVar6 << 0xf | uVar6 >> 0x11" (binary_expression "uVar6 << 0xf" identifier << number_literal) | (binary_expression "uVar6 >> 0x11" identifier >> number_literal)) )) ^ (parenthesized_expression "(uVar6 << 0xd | uVar6 >> 0x13)" ( (binary_expression "uVar6 << 0xd | uVar6 >> 0x13" (binary_expression "uVar6 << 0xd" identifier << number_literal) | (binary_expression "uVar6 >> 0x13" identifier >> number_literal)) ))) ^ (binary_expression "uVar6 >> 10" identifier >> number_literal)) )) + (pointer_expression "*piVar2" * identifier)) + (subscript_expression "piVar2[9]" identifier [ number_literal ])) + (parenthesized_expression "((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" ( (binary_expression "(uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3" (binary_expression "(uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12)" (parenthesized_expression "(uVar4 >> 7 | uVar4 << 0x19)" ( (binary_expression "uVar4 >> 7 | uVar4 << 0x19" (binary_expression "uVar4 >> 7" identifier >> number_literal) | (binary_expression "uVar4 << 0x19" identifier << number_literal)) )) ^ (parenthesized_expression "(uVar4 << 0xe | uVar4 >> 0x12)" ( (binary_expression "uVar4 << 0xe | uVar4 >> 0x12" (binary_expression "uVar4 << 0xe" identifier << number_literal) | (binary_expression "uVar4 >> 0x12" identifier >> number_literal)) ))) ^ (binary_expression "uVar4 >> 3" identifier >> number_literal)) )))) ;) (expression_statement "piVar2 = piVar3;" (assignment_expression "piVar2 = piVar3" identifier = identifier) ;) }) while (parenthesized_expression "(local_160 + 0x30 != piVar3)" ( (binary_expression "local_160 + 0x30 != piVar3" (binary_expression "local_160 + 0x30" identifier + number_literal) != identifier) )) ;) (expression_statement "local_19c = -0x54e3a12b;" (assignment_expression "local_19c = -0x54e3a12b" identifier = number_literal) ;) (expression_statement "local_1a0 = -0x6dc07d5c;" (assignment_expression "local_1a0 = -0x6dc07d5c" identifier = number_literal) ;) (expression_statement "local_1a4 = 0x59f111f1;" (assignment_expression "local_1a4 = 0x59f111f1" identifier = number_literal) ;) (expression_statement "iVar5 = 0x71374491;" (assignment_expression "iVar5 = 0x71374491" identifier = number_literal) ;) (expression_statement "iVar1 = 0x428a2f98;" (assignment_expression "iVar1 = 0x428a2f98" identifier = number_literal) ;) (expression_statement "local_1a8 = 0x3956c25b;" (assignment_expression "local_1a8 = 0x3956c25b" identifier = number_literal) ;) (expression_statement "local_1ac = -0x164a245b;" (assignment_expression "local_1ac = -0x164a245b" identifier = number_literal) ;) (expression_statement "local_1b0 = -0x4a3f0431;" (assignment_expression "local_1b0 = -0x4a3f0431" identifier = number_literal) ;) (expression_statement "uVar4 = param_1[1];" (assignment_expression "uVar4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[2];" (assignment_expression "uVar6 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "local_1cc = local_160;" (assignment_expression "local_1cc = local_160" identifier = identifier) ;) (expression_statement "local_1c8 = param_1[7];" (assignment_expression "local_1c8 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "local_1c4 = param_1[4];" (assignment_expression "local_1c4 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_1c0 = param_1[5];" (assignment_expression "local_1c0 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_1bc = param_1[3];" (assignment_expression "local_1bc = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "local_1b8 = param_1[6];" (assignment_expression "local_1b8 = param_1[6]" identifier = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "local_1b4 = *param_1;" (assignment_expression "local_1b4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_198 = &DAT_00051f00;" (assignment_expression "local_198 = &DAT_00051f00" identifier = (pointer_expression "&DAT_00051f00" & identifier)) ;) (while_statement "while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }" { (expression_statement "iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;" (assignment_expression "iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8" identifier = (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" (parenthesized_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4)" ( (binary_expression "~local_1c4 & local_1b8 ^ local_1c0 & local_1c4" (binary_expression "~local_1c4 & local_1b8" (unary_expression "~local_1c4" ~ identifier) & identifier) ^ (binary_expression "local_1c0 & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" ( (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)" (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15)" (parenthesized_expression "(local_1c4 << 7 | local_1c4 >> 0x19)" ( (binary_expression "local_1c4 << 7 | local_1c4 >> 0x19" (binary_expression "local_1c4 << 7" identifier << number_literal) | (binary_expression "local_1c4 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c4 >> 0xb | local_1c4 << 0x15)" ( (binary_expression "local_1c4 >> 0xb | local_1c4 << 0x15" (binary_expression "local_1c4 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c4 << 0x15" identifier << number_literal)) ))) ^ (parenthesized_expression "(local_1c4 >> 6 | local_1c4 << 0x1a)" ( (binary_expression "local_1c4 >> 6 | local_1c4 << 0x1a" (binary_expression "local_1c4 >> 6" identifier >> number_literal) | (binary_expression "local_1c4 << 0x1a" identifier << number_literal)) ))) ))) + identifier) + (pointer_expression "*local_1cc" * identifier)) + identifier)) ;) (expression_statement "local_1bc = local_1bc + iVar1;" (assignment_expression "local_1bc = local_1bc + iVar1" identifier = (binary_expression "local_1bc + iVar1" identifier + identifier)) ;) (expression_statement "local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));" (assignment_expression "local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" identifier = (binary_expression "iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" (binary_expression "iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6)" identifier + (parenthesized_expression "((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6)" ( (binary_expression "(uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6" (binary_expression "(uVar4 ^ uVar6) & local_1b4" (parenthesized_expression "(uVar4 ^ uVar6)" ( (binary_expression "uVar4 ^ uVar6" identifier ^ identifier) )) & identifier) ^ (binary_expression "uVar4 & uVar6" identifier & identifier)) ))) + (parenthesized_expression "((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" ( (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16)" (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e)" (parenthesized_expression "(local_1b4 >> 0xd | local_1b4 << 0x13)" ( (binary_expression "local_1b4 >> 0xd | local_1b4 << 0x13" (binary_expression "local_1b4 >> 0xd" identifier >> number_literal) | (binary_expression "local_1b4 << 0x13" identifier << number_literal)) )) ^ (parenthesized_expression "(local_1b4 >> 2 | local_1b4 << 0x1e)" ( (binary_expression "local_1b4 >> 2 | local_1b4 << 0x1e" (binary_expression "local_1b4 >> 2" identifier >> number_literal) | (binary_expression "local_1b4 << 0x1e" identifier << number_literal)) ))) ^ (parenthesized_expression "(local_1b4 << 10 | local_1b4 >> 0x16)" ( (binary_expression "local_1b4 << 10 | local_1b4 >> 0x16" (binary_expression "local_1b4 << 10" identifier << number_literal) | (binary_expression "local_1b4 >> 0x16" identifier >> number_literal)) ))) )))) ;) (expression_statement "iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));" (assignment_expression "iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" identifier = (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1]" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8" (parenthesized_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0)" ( (binary_expression "local_1bc & local_1c4 ^ ~local_1bc & local_1c0" (binary_expression "local_1bc & local_1c4" identifier & identifier) ^ (binary_expression "~local_1bc & local_1c0" (unary_expression "~local_1bc" ~ identifier) & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[1]" identifier [ number_literal ])) + (parenthesized_expression "((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" ( (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19)" (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000)" (parenthesized_expression "(local_1bc >> 0xb | local_1bc * 0x200000)" ( (binary_expression "local_1bc >> 0xb | local_1bc * 0x200000" (binary_expression "local_1bc >> 0xb" identifier >> number_literal) | (binary_expression "local_1bc * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1bc >> 6 | local_1bc * 0x4000000)" ( (binary_expression "local_1bc >> 6 | local_1bc * 0x4000000" (binary_expression "local_1bc >> 6" identifier >> number_literal) | (binary_expression "local_1bc * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1bc * 0x80 | local_1bc >> 0x19)" ( (binary_expression "local_1bc * 0x80 | local_1bc >> 0x19" (binary_expression "local_1bc * 0x80" identifier * number_literal) | (binary_expression "local_1bc >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar6 = iVar1 + uVar6;" (assignment_expression "uVar6 = iVar1 + uVar6" identifier = (binary_expression "iVar1 + uVar6" identifier + identifier)) ;) (expression_statement "local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1" identifier = (binary_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" (parenthesized_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4)" ( (binary_expression "(local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4" (binary_expression "(local_1b4 ^ uVar4) & local_1c8" (parenthesized_expression "(local_1b4 ^ uVar4)" ( (binary_expression "local_1b4 ^ uVar4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b4 & uVar4" identifier & identifier)) )) + (parenthesized_expression "((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" ( (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)" (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000)" (parenthesized_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000)" ( (binary_expression "local_1c8 >> 0xd | local_1c8 * 0x80000" (binary_expression "local_1c8 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c8 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c8 >> 2 | local_1c8 * 0x40000000)" ( (binary_expression "local_1c8 >> 2 | local_1c8 * 0x40000000" (binary_expression "local_1c8 >> 2" identifier >> number_literal) | (binary_expression "local_1c8 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c8 * 0x400 | local_1c8 >> 0x16)" ( (binary_expression "local_1c8 * 0x400 | local_1c8 >> 0x16" (binary_expression "local_1c8 * 0x400" identifier * number_literal) | (binary_expression "local_1c8 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));" (assignment_expression "iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" identifier = (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2]" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0" (parenthesized_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4)" ( (binary_expression "local_1bc & uVar6 ^ ~uVar6 & local_1c4" (binary_expression "local_1bc & uVar6" identifier & identifier) ^ (binary_expression "~uVar6 & local_1c4" (unary_expression "~uVar6" ~ identifier) & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[2]" identifier [ number_literal ])) + (parenthesized_expression "((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" ( (binary_expression "(uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19)" (binary_expression "(uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000)" (parenthesized_expression "(uVar6 >> 0xb | uVar6 * 0x200000)" ( (binary_expression "uVar6 >> 0xb | uVar6 * 0x200000" (binary_expression "uVar6 >> 0xb" identifier >> number_literal) | (binary_expression "uVar6 * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar6 >> 6 | uVar6 * 0x4000000)" ( (binary_expression "uVar6 >> 6 | uVar6 * 0x4000000" (binary_expression "uVar6 >> 6" identifier >> number_literal) | (binary_expression "uVar6 * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar6 * 0x80 | uVar6 >> 0x19)" ( (binary_expression "uVar6 * 0x80 | uVar6 >> 0x19" (binary_expression "uVar6 * 0x80" identifier * number_literal) | (binary_expression "uVar6 >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "uVar4 = iVar1 + uVar4;" (assignment_expression "uVar4 = iVar1 + uVar4" identifier = (binary_expression "iVar1 + uVar4" identifier + identifier)) ;) (expression_statement "local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1" identifier = (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                )" (parenthesized_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8)" ( (binary_expression "(local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8" (binary_expression "(local_1c8 ^ local_1b4) & local_1b8" (parenthesized_expression "(local_1c8 ^ local_1b4)" ( (binary_expression "local_1c8 ^ local_1b4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b4 & local_1c8" identifier & identifier)) )) + (parenthesized_expression "((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                )" ( (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)" (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000)" (parenthesized_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000)" ( (binary_expression "local_1b8 >> 0xd | local_1b8 * 0x80000" (binary_expression "local_1b8 >> 0xd" identifier >> number_literal) | (binary_expression "local_1b8 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1b8 >> 2 | local_1b8 * 0x40000000)" ( (binary_expression "local_1b8 >> 2 | local_1b8 * 0x40000000" (binary_expression "local_1b8 >> 2" identifier >> number_literal) | (binary_expression "local_1b8 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b8 * 0x400 | local_1b8 >> 0x16)" ( (binary_expression "local_1b8 * 0x400 | local_1b8 >> 0x16" (binary_expression "local_1b8 * 0x400" identifier * number_literal) | (binary_expression "local_1b8 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));" (assignment_expression "iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" identifier = (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3]" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac" (parenthesized_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4)" ( (binary_expression "~uVar4 & local_1bc ^ uVar6 & uVar4" (binary_expression "~uVar4 & local_1bc" (unary_expression "~uVar4" ~ identifier) & identifier) ^ (binary_expression "uVar6 & uVar4" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[3]" identifier [ number_literal ])) + (parenthesized_expression "((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" ( (binary_expression "(uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19)" (binary_expression "(uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000)" (parenthesized_expression "(uVar4 >> 0xb | uVar4 * 0x200000)" ( (binary_expression "uVar4 >> 0xb | uVar4 * 0x200000" (binary_expression "uVar4 >> 0xb" identifier >> number_literal) | (binary_expression "uVar4 * 0x200000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar4 >> 6 | uVar4 * 0x4000000)" ( (binary_expression "uVar4 >> 6 | uVar4 * 0x4000000" (binary_expression "uVar4 >> 6" identifier >> number_literal) | (binary_expression "uVar4 * 0x4000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar4 * 0x80 | uVar4 >> 0x19)" ( (binary_expression "uVar4 * 0x80 | uVar4 >> 0x19" (binary_expression "uVar4 * 0x80" identifier * number_literal) | (binary_expression "uVar4 >> 0x19" identifier >> number_literal)) ))) )))) ;) (expression_statement "local_1b4 = iVar1 + local_1b4;" (assignment_expression "local_1b4 = iVar1 + local_1b4" identifier = (binary_expression "iVar1 + local_1b4" identifier + identifier)) ;) (expression_statement "local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));" (assignment_expression "local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" identifier = (binary_expression "iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" (binary_expression "iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8)" identifier + (parenthesized_expression "((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8)" ( (binary_expression "(local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8" (binary_expression "(local_1c8 ^ local_1b8) & local_1c0" (parenthesized_expression "(local_1c8 ^ local_1b8)" ( (binary_expression "local_1c8 ^ local_1b8" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1c8 & local_1b8" identifier & identifier)) ))) + (parenthesized_expression "((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" ( (binary_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16)" (binary_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000)" (parenthesized_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000)" ( (binary_expression "local_1c0 >> 0xd | local_1c0 * 0x80000" (binary_expression "local_1c0 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c0 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c0 >> 2 | local_1c0 * 0x40000000)" ( (binary_expression "local_1c0 >> 2 | local_1c0 * 0x40000000" (binary_expression "local_1c0 >> 2" identifier >> number_literal) | (binary_expression "local_1c0 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c0 * 0x400 | local_1c0 >> 0x16)" ( (binary_expression "local_1c0 * 0x400 | local_1c0 >> 0x16" (binary_expression "local_1c0 * 0x400" identifier * number_literal) | (binary_expression "local_1c0 >> 0x16" identifier >> number_literal)) ))) )))) ;) (expression_statement "iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));" (assignment_expression "iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" identifier = (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4]" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc" (parenthesized_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4)" ( (binary_expression "~local_1b4 & uVar6 ^ uVar4 & local_1b4" (binary_expression "~local_1b4 & uVar6" (unary_expression "~local_1b4" ~ identifier) & identifier) ^ (binary_expression "uVar4 & local_1b4" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[4]" identifier [ number_literal ])) + (parenthesized_expression "((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" ( (binary_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000)" (binary_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000)" (parenthesized_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19)" ( (binary_expression "local_1b4 * 0x80 | local_1b4 >> 0x19" (binary_expression "local_1b4 * 0x80" identifier * number_literal) | (binary_expression "local_1b4 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1b4 >> 0xb | local_1b4 * 0x200000)" ( (binary_expression "local_1b4 >> 0xb | local_1b4 * 0x200000" (binary_expression "local_1b4 >> 0xb" identifier >> number_literal) | (binary_expression "local_1b4 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b4 >> 6 | local_1b4 * 0x4000000)" ( (binary_expression "local_1b4 >> 6 | local_1b4 * 0x4000000" (binary_expression "local_1b4 >> 6" identifier >> number_literal) | (binary_expression "local_1b4 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1c8 = local_1c8 + iVar1;" (assignment_expression "local_1c8 = local_1c8 + iVar1" identifier = (binary_expression "local_1c8 + iVar1" identifier + identifier)) ;) (expression_statement "local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1" identifier = (binary_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                )" (parenthesized_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0)" ( (binary_expression "(local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0" (binary_expression "(local_1b8 ^ local_1c0) & local_1c4" (parenthesized_expression "(local_1b8 ^ local_1c0)" ( (binary_expression "local_1b8 ^ local_1c0" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1b8 & local_1c0" identifier & identifier)) )) + (parenthesized_expression "((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                )" ( (binary_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)" (binary_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000)" (parenthesized_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000)" ( (binary_expression "local_1c4 >> 0xd | local_1c4 * 0x80000" (binary_expression "local_1c4 >> 0xd" identifier >> number_literal) | (binary_expression "local_1c4 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1c4 >> 2 | local_1c4 * 0x40000000)" ( (binary_expression "local_1c4 >> 2 | local_1c4 * 0x40000000" (binary_expression "local_1c4 >> 2" identifier >> number_literal) | (binary_expression "local_1c4 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c4 * 0x400 | local_1c4 >> 0x16)" ( (binary_expression "local_1c4 * 0x400 | local_1c4 >> 0x16" (binary_expression "local_1c4 * 0x400" identifier * number_literal) | (binary_expression "local_1c4 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));" (assignment_expression "iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" identifier = (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5]" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4" (parenthesized_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4)" ( (binary_expression "local_1b4 & local_1c8 ^ ~local_1c8 & uVar4" (binary_expression "local_1b4 & local_1c8" identifier & identifier) ^ (binary_expression "~local_1c8 & uVar4" (unary_expression "~local_1c8" ~ identifier) & identifier)) )) + identifier) + (subscript_expression "local_1cc[5]" identifier [ number_literal ])) + identifier) + (parenthesized_expression "((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" ( (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000)" (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000)" (parenthesized_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19)" ( (binary_expression "local_1c8 * 0x80 | local_1c8 >> 0x19" (binary_expression "local_1c8 * 0x80" identifier * number_literal) | (binary_expression "local_1c8 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c8 >> 0xb | local_1c8 * 0x200000)" ( (binary_expression "local_1c8 >> 0xb | local_1c8 * 0x200000" (binary_expression "local_1c8 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c8 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c8 >> 6 | local_1c8 * 0x4000000)" ( (binary_expression "local_1c8 >> 6 | local_1c8 * 0x4000000" (binary_expression "local_1c8 >> 6" identifier >> number_literal) | (binary_expression "local_1c8 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1b8 = local_1b8 + iVar1;" (assignment_expression "local_1b8 = local_1b8 + iVar1" identifier = (binary_expression "local_1b8 + iVar1" identifier + identifier)) ;) (expression_statement "uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;" (assignment_expression "uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1" identifier = (binary_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1" (binary_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16))" (parenthesized_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4)" ( (binary_expression "(local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4" (binary_expression "(local_1c0 ^ local_1c4) & local_1bc" (parenthesized_expression "(local_1c0 ^ local_1c4)" ( (binary_expression "local_1c0 ^ local_1c4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1c0 & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16))" ( (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)" (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000)" (parenthesized_expression "(local_1bc >> 0xd | local_1bc * 0x80000)" ( (binary_expression "local_1bc >> 0xd | local_1bc * 0x80000" (binary_expression "local_1bc >> 0xd" identifier >> number_literal) | (binary_expression "local_1bc * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(local_1bc >> 2 | local_1bc * 0x40000000)" ( (binary_expression "local_1bc >> 2 | local_1bc * 0x40000000" (binary_expression "local_1bc >> 2" identifier >> number_literal) | (binary_expression "local_1bc * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1bc * 0x400 | local_1bc >> 0x16)" ( (binary_expression "local_1bc * 0x400 | local_1bc >> 0x16" (binary_expression "local_1bc * 0x400" identifier * number_literal) | (binary_expression "local_1bc >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;" (assignment_expression "iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4" identifier = (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6]" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" (parenthesized_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8)" ( (binary_expression "~local_1b8 & local_1b4 ^ local_1c8 & local_1b8" (binary_expression "~local_1b8 & local_1b4" (unary_expression "~local_1b8" ~ identifier) & identifier) ^ (binary_expression "local_1c8 & local_1b8" identifier & identifier)) )) + (parenthesized_expression "((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" ( (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)" (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000)" (parenthesized_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19)" ( (binary_expression "local_1b8 * 0x80 | local_1b8 >> 0x19" (binary_expression "local_1b8 * 0x80" identifier * number_literal) | (binary_expression "local_1b8 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1b8 >> 0xb | local_1b8 * 0x200000)" ( (binary_expression "local_1b8 >> 0xb | local_1b8 * 0x200000" (binary_expression "local_1b8 >> 0xb" identifier >> number_literal) | (binary_expression "local_1b8 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1b8 >> 6 | local_1b8 * 0x4000000)" ( (binary_expression "local_1b8 >> 6 | local_1b8 * 0x4000000" (binary_expression "local_1b8 >> 6" identifier >> number_literal) | (binary_expression "local_1b8 * 0x4000000" identifier * number_literal)) ))) ))) + identifier) + (subscript_expression "local_1cc[6]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "local_1c0 = local_1c0 + iVar1;" (assignment_expression "local_1c0 = local_1c0 + iVar1" identifier = (binary_expression "local_1c0 + iVar1" identifier + identifier)) ;) (expression_statement "uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;" (assignment_expression "uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1" identifier = (binary_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1" (binary_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16))" (parenthesized_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4)" ( (binary_expression "(local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4" (binary_expression "(local_1bc ^ local_1c4) & uVar6" (parenthesized_expression "(local_1bc ^ local_1c4)" ( (binary_expression "local_1bc ^ local_1c4" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1bc & local_1c4" identifier & identifier)) )) + (parenthesized_expression "((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16))" ( (binary_expression "(uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)" (binary_expression "(uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000)" (parenthesized_expression "(uVar6 >> 0xd | uVar6 * 0x80000)" ( (binary_expression "uVar6 >> 0xd | uVar6 * 0x80000" (binary_expression "uVar6 >> 0xd" identifier >> number_literal) | (binary_expression "uVar6 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar6 >> 2 | uVar6 * 0x40000000)" ( (binary_expression "uVar6 >> 2 | uVar6 * 0x40000000" (binary_expression "uVar6 >> 2" identifier >> number_literal) | (binary_expression "uVar6 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar6 * 0x400 | uVar6 >> 0x16)" ( (binary_expression "uVar6 * 0x400 | uVar6 >> 0x16" (binary_expression "uVar6 * 0x400" identifier * number_literal) | (binary_expression "uVar6 >> 0x16" identifier >> number_literal)) ))) ))) + identifier)) ;) (expression_statement "iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));" (assignment_expression "iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" identifier = (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7]" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4" (parenthesized_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0)" ( (binary_expression "~local_1c0 & local_1c8 ^ local_1b8 & local_1c0" (binary_expression "~local_1c0 & local_1c8" (unary_expression "~local_1c0" ~ identifier) & identifier) ^ (binary_expression "local_1b8 & local_1c0" identifier & identifier)) )) + identifier) + identifier) + (subscript_expression "local_1cc[7]" identifier [ number_literal ])) + (parenthesized_expression "((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" ( (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000)" (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000)" (parenthesized_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19)" ( (binary_expression "local_1c0 * 0x80 | local_1c0 >> 0x19" (binary_expression "local_1c0 * 0x80" identifier * number_literal) | (binary_expression "local_1c0 >> 0x19" identifier >> number_literal)) )) ^ (parenthesized_expression "(local_1c0 >> 0xb | local_1c0 * 0x200000)" ( (binary_expression "local_1c0 >> 0xb | local_1c0 * 0x200000" (binary_expression "local_1c0 >> 0xb" identifier >> number_literal) | (binary_expression "local_1c0 * 0x200000" identifier * number_literal)) ))) ^ (parenthesized_expression "(local_1c0 >> 6 | local_1c0 * 0x4000000)" ( (binary_expression "local_1c0 >> 6 | local_1c0 * 0x4000000" (binary_expression "local_1c0 >> 6" identifier >> number_literal) | (binary_expression "local_1c0 * 0x4000000" identifier * number_literal)) ))) )))) ;) (expression_statement "local_1c4 = local_1c4 + iVar1;" (assignment_expression "local_1c4 = local_1c4 + iVar1" identifier = (binary_expression "local_1c4 + iVar1" identifier + identifier)) ;) (expression_statement "local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));" (assignment_expression "local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" identifier = (binary_expression "iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" (binary_expression "iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6)" identifier + (parenthesized_expression "((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6)" ( (binary_expression "(local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6" (binary_expression "(local_1bc ^ uVar6) & uVar4" (parenthesized_expression "(local_1bc ^ uVar6)" ( (binary_expression "local_1bc ^ uVar6" identifier ^ identifier) )) & identifier) ^ (binary_expression "local_1bc & uVar6" identifier & identifier)) ))) + (parenthesized_expression "((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" ( (binary_expression "(uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16)" (binary_expression "(uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000)" (parenthesized_expression "(uVar4 >> 0xd | uVar4 * 0x80000)" ( (binary_expression "uVar4 >> 0xd | uVar4 * 0x80000" (binary_expression "uVar4 >> 0xd" identifier >> number_literal) | (binary_expression "uVar4 * 0x80000" identifier * number_literal)) )) ^ (parenthesized_expression "(uVar4 >> 2 | uVar4 * 0x40000000)" ( (binary_expression "uVar4 >> 2 | uVar4 * 0x40000000" (binary_expression "uVar4 >> 2" identifier >> number_literal) | (binary_expression "uVar4 * 0x40000000" identifier * number_literal)) ))) ^ (parenthesized_expression "(uVar4 * 0x400 | uVar4 >> 0x16)" ( (binary_expression "uVar4 * 0x400 | uVar4 >> 0x16" (binary_expression "uVar4 * 0x400" identifier * number_literal) | (binary_expression "uVar4 >> 0x16" identifier >> number_literal)) ))) )))) ;) (if_statement "if (local_160 + 0x40 == local_1cc + 8) break;" if (parenthesized_expression "(local_160 + 0x40 == local_1cc + 8)" ( (binary_expression "local_160 + 0x40 == local_1cc + 8" (binary_expression "local_160 + 0x40" identifier + number_literal) == (binary_expression "local_1cc + 8" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "local_1b0 = local_198[2];" (assignment_expression "local_1b0 = local_198[2]" identifier = (subscript_expression "local_198[2]" identifier [ number_literal ])) ;) (expression_statement "iVar1 = *local_198;" (assignment_expression "iVar1 = *local_198" identifier = (pointer_expression "*local_198" * identifier)) ;) (expression_statement "iVar5 = local_198[1];" (assignment_expression "iVar5 = local_198[1]" identifier = (subscript_expression "local_198[1]" identifier [ number_literal ])) ;) (expression_statement "local_1ac = local_198[3];" (assignment_expression "local_1ac = local_198[3]" identifier = (subscript_expression "local_198[3]" identifier [ number_literal ])) ;) (expression_statement "local_1a8 = local_198[4];" (assignment_expression "local_1a8 = local_198[4]" identifier = (subscript_expression "local_198[4]" identifier [ number_literal ])) ;) (expression_statement "local_1a4 = local_198[5];" (assignment_expression "local_1a4 = local_198[5]" identifier = (subscript_expression "local_198[5]" identifier [ number_literal ])) ;) (expression_statement "local_1a0 = local_198[6];" (assignment_expression "local_1a0 = local_198[6]" identifier = (subscript_expression "local_198[6]" identifier [ number_literal ])) ;) (expression_statement "local_19c = local_198[7];" (assignment_expression "local_19c = local_198[7]" identifier = (subscript_expression "local_198[7]" identifier [ number_literal ])) ;) (expression_statement "local_1cc = local_1cc + 8;" (assignment_expression "local_1cc = local_1cc + 8" identifier = (binary_expression "local_1cc + 8" identifier + number_literal)) ;) (expression_statement "local_198 = local_198 + 8;" (assignment_expression "local_198 = local_198 + 8" identifier = (binary_expression "local_198 + 8" identifier + number_literal)) ;) })) (expression_statement "param_1[2] = uVar6 + param_1[2];" (assignment_expression "param_1[2] = uVar6 + param_1[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (binary_expression "uVar6 + param_1[2]" identifier + (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "*param_1 = *param_1 + local_1b4;" (assignment_expression "*param_1 = *param_1 + local_1b4" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 + local_1b4" (pointer_expression "*param_1" * identifier) + identifier)) ;) (expression_statement "param_1[1] = param_1[1] + uVar4;" (assignment_expression "param_1[1] = param_1[1] + uVar4" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_1[1] + uVar4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[3] = param_1[3] + local_1bc;" (assignment_expression "param_1[3] = param_1[3] + local_1bc" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "param_1[3] + local_1bc" (subscript_expression "param_1[3]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[7] = param_1[7] + local_1c8;" (assignment_expression "param_1[7] = param_1[7] + local_1c8" (subscript_expression "param_1[7]" identifier [ number_literal ]) = (binary_expression "param_1[7] + local_1c8" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[4] = param_1[4] + local_1c4;" (assignment_expression "param_1[4] = param_1[4] + local_1c4" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (binary_expression "param_1[4] + local_1c4" (subscript_expression "param_1[4]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[5] = param_1[5] + local_1c0;" (assignment_expression "param_1[5] = param_1[5] + local_1c0" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (binary_expression "param_1[5] + local_1c0" (subscript_expression "param_1[5]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "param_1[6] = param_1[6] + local_1b8;" (assignment_expression "param_1[6] = param_1[6] + local_1b8" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (binary_expression "param_1[6] + local_1b8" (subscript_expression "param_1[6]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0004aab0();" (call_expression "FUN_0004aab0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) ))) ^ (binary_expression IDENT >> LIT)) )) + (pointer_expression * IDENT)) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) ))) ^ (binary_expression IDENT >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (unary_expression ~ IDENT) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) ))) ))) + IDENT) + (pointer_expression * IDENT)) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) ))) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT << LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) ^ (binary_expression (unary_expression ~ IDENT) & IDENT)) )) + IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) ^ (binary_expression (unary_expression ~ IDENT) & IDENT)) )) + IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (unary_expression ~ IDENT) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (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 (binary_expression IDENT + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) ))) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (unary_expression ~ IDENT) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) ^ (binary_expression (unary_expression ~ IDENT) & IDENT)) )) + IDENT) + (subscript_expression IDENT [ LIT ])) + IDENT) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (unary_expression ~ IDENT) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ))) + IDENT) + (subscript_expression IDENT [ LIT ])) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (unary_expression ~ IDENT) & IDENT) ^ (binary_expression IDENT & IDENT)) )) + IDENT) + IDENT) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (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 (binary_expression IDENT + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & IDENT) ^ (binary_expression IDENT & IDENT)) ))) + (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) )) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) | (binary_expression IDENT * LIT)) ))) ^ (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT)) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 IDENT + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_0003a4d0(uint *param_1,int param_2)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0004aab0();\n}" (primitive_type "void") (function_declarator "FUN_0003a4d0(uint *param_1,int param_2)" (identifier "FUN_0003a4d0") (parameter_list "(uint *param_1,int param_2)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  uint uVar4;\n  int iVar5;\n  uint uVar6;\n  int in_GS_OFFSET;\n  int *local_1cc;\n  uint local_1c8;\n  uint local_1c4;\n  uint local_1c0;\n  uint local_1bc;\n  uint local_1b8;\n  uint local_1b4;\n  int local_1b0;\n  int local_1ac;\n  int local_1a8;\n  int local_1a4;\n  int local_1a0;\n  int local_19c;\n  int *local_198;\n  int local_160 [80];\n  int local_20;\n  \n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = 0;\n  do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);\n  piVar2 = local_160;\n  do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);\n  local_19c = -0x54e3a12b;\n  local_1a0 = -0x6dc07d5c;\n  local_1a4 = 0x59f111f1;\n  iVar5 = 0x71374491;\n  iVar1 = 0x428a2f98;\n  local_1a8 = 0x3956c25b;\n  local_1ac = -0x164a245b;\n  local_1b0 = -0x4a3f0431;\n  uVar4 = param_1[1];\n  uVar6 = param_1[2];\n  local_1cc = local_160;\n  local_1c8 = param_1[7];\n  local_1c4 = param_1[4];\n  local_1c0 = param_1[5];\n  local_1bc = param_1[3];\n  local_1b8 = param_1[6];\n  local_1b4 = *param_1;\n  local_198 = &DAT_00051f00;\n  while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }\n  param_1[2] = uVar6 + param_1[2];\n  *param_1 = *param_1 + local_1b4;\n  param_1[1] = param_1[1] + uVar4;\n  param_1[3] = param_1[3] + local_1bc;\n  param_1[7] = param_1[7] + local_1c8;\n  param_1[4] = param_1[4] + local_1c4;\n  param_1[5] = param_1[5] + local_1c0;\n  param_1[6] = param_1[6] + local_1b8;\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0004aab0();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int *local_1cc;" (primitive_type "int") (pointer_declarator "*local_1cc" (* "*") (identifier "local_1cc")) (; ";")) (declaration "uint local_1c8;" (type_identifier "uint") (identifier "local_1c8") (; ";")) (declaration "uint local_1c4;" (type_identifier "uint") (identifier "local_1c4") (; ";")) (declaration "uint local_1c0;" (type_identifier "uint") (identifier "local_1c0") (; ";")) (declaration "uint local_1bc;" (type_identifier "uint") (identifier "local_1bc") (; ";")) (declaration "uint local_1b8;" (type_identifier "uint") (identifier "local_1b8") (; ";")) (declaration "uint local_1b4;" (type_identifier "uint") (identifier "local_1b4") (; ";")) (declaration "int local_1b0;" (primitive_type "int") (identifier "local_1b0") (; ";")) (declaration "int local_1ac;" (primitive_type "int") (identifier "local_1ac") (; ";")) (declaration "int local_1a8;" (primitive_type "int") (identifier "local_1a8") (; ";")) (declaration "int local_1a4;" (primitive_type "int") (identifier "local_1a4") (; ";")) (declaration "int local_1a0;" (primitive_type "int") (identifier "local_1a0") (; ";")) (declaration "int local_19c;" (primitive_type "int") (identifier "local_19c") (; ";")) (declaration "int *local_198;" (primitive_type "int") (pointer_declarator "*local_198" (* "*") (identifier "local_198")) (; ";")) (declaration "int local_160 [80];" (primitive_type "int") (array_declarator "local_160 [80]" (identifier "local_160") ([ "[") (number_literal "80") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  } while (iVar1 != 0x10);" (do "do") (compound_statement "{\n    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);\n    iVar1 = iVar1 + 1;\n  }" ({ "{") (expression_statement "local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);" (assignment_expression "local_160[iVar1] = *(int *)(param_2 + iVar1 * 4)" (subscript_expression "local_160[iVar1]" (identifier "local_160") ([ "[") (identifier "iVar1") (] "]")) (= "=") (pointer_expression "*(int *)(param_2 + iVar1 * 4)" (* "*") (cast_expression "(int *)(param_2 + iVar1 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + iVar1 * 4)" (( "(") (binary_expression "param_2 + iVar1 * 4" (identifier "param_2") (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != 0x10)" (( "(") (binary_expression "iVar1 != 0x10" (identifier "iVar1") (!= "!=") (number_literal "0x10")) () ")")) (; ";")) (expression_statement "piVar2 = local_160;" (assignment_expression "piVar2 = local_160" (identifier "piVar2") (= "=") (identifier "local_160")) (; ";")) (do_statement "do {\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  } while (local_160 + 0x30 != piVar3);" (do "do") (compound_statement "{\n    uVar6 = piVar2[0xe];\n    uVar4 = piVar2[1];\n    piVar3 = piVar2 + 1;\n    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);\n    piVar2 = piVar3;\n  }" ({ "{") (expression_statement "uVar6 = piVar2[0xe];" (assignment_expression "uVar6 = piVar2[0xe]" (identifier "uVar6") (= "=") (subscript_expression "piVar2[0xe]" (identifier "piVar2") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "uVar4 = piVar2[1];" (assignment_expression "uVar4 = piVar2[1]" (identifier "uVar4") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar3 = piVar2 + 1;" (assignment_expression "piVar3 = piVar2 + 1" (identifier "piVar3") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);" (assignment_expression "piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9] +\n                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2 + piVar2[9]" (binary_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +\n                   *piVar2" (parenthesized_expression "((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10)" (( "(") (binary_expression "(uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10" (binary_expression "(uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13)" (parenthesized_expression "(uVar6 << 0xf | uVar6 >> 0x11)" (( "(") (binary_expression "uVar6 << 0xf | uVar6 >> 0x11" (binary_expression "uVar6 << 0xf" (identifier "uVar6") (<< "<<") (number_literal "0xf")) (| "|") (binary_expression "uVar6 >> 0x11" (identifier "uVar6") (>> ">>") (number_literal "0x11"))) () ")")) (^ "^") (parenthesized_expression "(uVar6 << 0xd | uVar6 >> 0x13)" (( "(") (binary_expression "uVar6 << 0xd | uVar6 >> 0x13" (binary_expression "uVar6 << 0xd" (identifier "uVar6") (<< "<<") (number_literal "0xd")) (| "|") (binary_expression "uVar6 >> 0x13" (identifier "uVar6") (>> ">>") (number_literal "0x13"))) () ")"))) (^ "^") (binary_expression "uVar6 >> 10" (identifier "uVar6") (>> ">>") (number_literal "10"))) () ")")) (+ "+") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (+ "+") (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]"))) (+ "+") (parenthesized_expression "((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3)" (( "(") (binary_expression "(uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3" (binary_expression "(uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12)" (parenthesized_expression "(uVar4 >> 7 | uVar4 << 0x19)" (( "(") (binary_expression "uVar4 >> 7 | uVar4 << 0x19" (binary_expression "uVar4 >> 7" (identifier "uVar4") (>> ">>") (number_literal "7")) (| "|") (binary_expression "uVar4 << 0x19" (identifier "uVar4") (<< "<<") (number_literal "0x19"))) () ")")) (^ "^") (parenthesized_expression "(uVar4 << 0xe | uVar4 >> 0x12)" (( "(") (binary_expression "uVar4 << 0xe | uVar4 >> 0x12" (binary_expression "uVar4 << 0xe" (identifier "uVar4") (<< "<<") (number_literal "0xe")) (| "|") (binary_expression "uVar4 >> 0x12" (identifier "uVar4") (>> ">>") (number_literal "0x12"))) () ")"))) (^ "^") (binary_expression "uVar4 >> 3" (identifier "uVar4") (>> ">>") (number_literal "3"))) () ")")))) (; ";")) (expression_statement "piVar2 = piVar3;" (assignment_expression "piVar2 = piVar3" (identifier "piVar2") (= "=") (identifier "piVar3")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_160 + 0x30 != piVar3)" (( "(") (binary_expression "local_160 + 0x30 != piVar3" (binary_expression "local_160 + 0x30" (identifier "local_160") (+ "+") (number_literal "0x30")) (!= "!=") (identifier "piVar3")) () ")")) (; ";")) (expression_statement "local_19c = -0x54e3a12b;" (assignment_expression "local_19c = -0x54e3a12b" (identifier "local_19c") (= "=") (number_literal "-0x54e3a12b")) (; ";")) (expression_statement "local_1a0 = -0x6dc07d5c;" (assignment_expression "local_1a0 = -0x6dc07d5c" (identifier "local_1a0") (= "=") (number_literal "-0x6dc07d5c")) (; ";")) (expression_statement "local_1a4 = 0x59f111f1;" (assignment_expression "local_1a4 = 0x59f111f1" (identifier "local_1a4") (= "=") (number_literal "0x59f111f1")) (; ";")) (expression_statement "iVar5 = 0x71374491;" (assignment_expression "iVar5 = 0x71374491" (identifier "iVar5") (= "=") (number_literal "0x71374491")) (; ";")) (expression_statement "iVar1 = 0x428a2f98;" (assignment_expression "iVar1 = 0x428a2f98" (identifier "iVar1") (= "=") (number_literal "0x428a2f98")) (; ";")) (expression_statement "local_1a8 = 0x3956c25b;" (assignment_expression "local_1a8 = 0x3956c25b" (identifier "local_1a8") (= "=") (number_literal "0x3956c25b")) (; ";")) (expression_statement "local_1ac = -0x164a245b;" (assignment_expression "local_1ac = -0x164a245b" (identifier "local_1ac") (= "=") (number_literal "-0x164a245b")) (; ";")) (expression_statement "local_1b0 = -0x4a3f0431;" (assignment_expression "local_1b0 = -0x4a3f0431" (identifier "local_1b0") (= "=") (number_literal "-0x4a3f0431")) (; ";")) (expression_statement "uVar4 = param_1[1];" (assignment_expression "uVar4 = param_1[1]" (identifier "uVar4") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[2];" (assignment_expression "uVar6 = param_1[2]" (identifier "uVar6") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_1cc = local_160;" (assignment_expression "local_1cc = local_160" (identifier "local_1cc") (= "=") (identifier "local_160")) (; ";")) (expression_statement "local_1c8 = param_1[7];" (assignment_expression "local_1c8 = param_1[7]" (identifier "local_1c8") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_1c4 = param_1[4];" (assignment_expression "local_1c4 = param_1[4]" (identifier "local_1c4") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_1c0 = param_1[5];" (assignment_expression "local_1c0 = param_1[5]" (identifier "local_1c0") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_1bc = param_1[3];" (assignment_expression "local_1bc = param_1[3]" (identifier "local_1bc") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_1b8 = param_1[6];" (assignment_expression "local_1b8 = param_1[6]" (identifier "local_1b8") (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_1b4 = *param_1;" (assignment_expression "local_1b4 = *param_1" (identifier "local_1b4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_198 = &DAT_00051f00;" (assignment_expression "local_198 = &DAT_00051f00" (identifier "local_198") (= "=") (pointer_expression "&DAT_00051f00" (& "&") (identifier "DAT_00051f00"))) (; ";")) (while_statement "while( true ) {\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;\n    local_1bc = local_1bc + iVar1;\n    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));\n    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));\n    uVar6 = iVar1 + uVar6;\n    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));\n    uVar4 = iVar1 + uVar4;\n    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;\n    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));\n    local_1b4 = iVar1 + local_1b4;\n    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));\n    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));\n    local_1c8 = local_1c8 + iVar1;\n    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;\n    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));\n    local_1b8 = local_1b8 + iVar1;\n    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;\n    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;\n    local_1c0 = local_1c0 + iVar1;\n    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;\n    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));\n    local_1c4 = local_1c4 + iVar1;\n    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));\n    if (local_160 + 0x40 == local_1cc + 8) break;\n    local_1b0 = local_198[2];\n    iVar1 = *local_198;\n    iVar5 = local_198[1];\n    local_1ac = local_198[3];\n    local_1a8 = local_198[4];\n    local_1a4 = local_198[5];\n    local_1a0 = local_198[6];\n    local_19c = local_198[7];\n    local_1cc = local_1cc + 8;\n    local_198 = local_198 + 8;\n  }" ({ "{") (expression_statement "iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8;" (assignment_expression "iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8" (identifier "iVar1") (= "=") (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc + local_1c8" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1 + *local_1cc" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +\n            iVar1" (binary_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +\n            ((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" (parenthesized_expression "(~local_1c4 & local_1b8 ^ local_1c0 & local_1c4)" (( "(") (binary_expression "~local_1c4 & local_1b8 ^ local_1c0 & local_1c4" (binary_expression "~local_1c4 & local_1b8" (unary_expression "~local_1c4" (~ "~") (identifier "local_1c4")) (& "&") (identifier "local_1b8")) (^ "^") (binary_expression "local_1c0 & local_1c4" (identifier "local_1c0") (& "&") (identifier "local_1c4"))) () ")")) (+ "+") (parenthesized_expression "((local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a))" (( "(") (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)" (binary_expression "(local_1c4 << 7 | local_1c4 >> 0x19) ^\n            (local_1c4 >> 0xb | local_1c4 << 0x15)" (parenthesized_expression "(local_1c4 << 7 | local_1c4 >> 0x19)" (( "(") (binary_expression "local_1c4 << 7 | local_1c4 >> 0x19" (binary_expression "local_1c4 << 7" (identifier "local_1c4") (<< "<<") (number_literal "7")) (| "|") (binary_expression "local_1c4 >> 0x19" (identifier "local_1c4") (>> ">>") (number_literal "0x19"))) () ")")) (^ "^") (parenthesized_expression "(local_1c4 >> 0xb | local_1c4 << 0x15)" (( "(") (binary_expression "local_1c4 >> 0xb | local_1c4 << 0x15" (binary_expression "local_1c4 >> 0xb" (identifier "local_1c4") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_1c4 << 0x15" (identifier "local_1c4") (<< "<<") (number_literal "0x15"))) () ")"))) (^ "^") (parenthesized_expression "(local_1c4 >> 6 | local_1c4 << 0x1a)" (( "(") (binary_expression "local_1c4 >> 6 | local_1c4 << 0x1a" (binary_expression "local_1c4 >> 6" (identifier "local_1c4") (>> ">>") (number_literal "6")) (| "|") (binary_expression "local_1c4 << 0x1a" (identifier "local_1c4") (<< "<<") (number_literal "0x1a"))) () ")"))) () ")"))) (+ "+") (identifier "iVar1")) (+ "+") (pointer_expression "*local_1cc" (* "*") (identifier "local_1cc"))) (+ "+") (identifier "local_1c8"))) (; ";")) (expression_statement "local_1bc = local_1bc + iVar1;" (assignment_expression "local_1bc = local_1bc + iVar1" (identifier "local_1bc") (= "=") (binary_expression "local_1bc + iVar1" (identifier "local_1bc") (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16));" (assignment_expression "local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" (identifier "local_1c8") (= "=") (binary_expression "iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +\n                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" (binary_expression "iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6)" (identifier "iVar1") (+ "+") (parenthesized_expression "((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6)" (( "(") (binary_expression "(uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6" (binary_expression "(uVar4 ^ uVar6) & local_1b4" (parenthesized_expression "(uVar4 ^ uVar6)" (( "(") (binary_expression "uVar4 ^ uVar6" (identifier "uVar4") (^ "^") (identifier "uVar6")) () ")")) (& "&") (identifier "local_1b4")) (^ "^") (binary_expression "uVar4 & uVar6" (identifier "uVar4") (& "&") (identifier "uVar6"))) () ")"))) (+ "+") (parenthesized_expression "((local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16))" (( "(") (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^\n                        (local_1b4 << 10 | local_1b4 >> 0x16)" (binary_expression "(local_1b4 >> 0xd | local_1b4 << 0x13) ^\n                         (local_1b4 >> 2 | local_1b4 << 0x1e)" (parenthesized_expression "(local_1b4 >> 0xd | local_1b4 << 0x13)" (( "(") (binary_expression "local_1b4 >> 0xd | local_1b4 << 0x13" (binary_expression "local_1b4 >> 0xd" (identifier "local_1b4") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "local_1b4 << 0x13" (identifier "local_1b4") (<< "<<") (number_literal "0x13"))) () ")")) (^ "^") (parenthesized_expression "(local_1b4 >> 2 | local_1b4 << 0x1e)" (( "(") (binary_expression "local_1b4 >> 2 | local_1b4 << 0x1e" (binary_expression "local_1b4 >> 2" (identifier "local_1b4") (>> ">>") (number_literal "2")) (| "|") (binary_expression "local_1b4 << 0x1e" (identifier "local_1b4") (<< "<<") (number_literal "0x1e"))) () ")"))) (^ "^") (parenthesized_expression "(local_1b4 << 10 | local_1b4 >> 0x16)" (( "(") (binary_expression "local_1b4 << 10 | local_1b4 >> 0x16" (binary_expression "local_1b4 << 10" (identifier "local_1b4") (<< "<<") (number_literal "10")) (| "|") (binary_expression "local_1b4 >> 0x16" (identifier "local_1b4") (>> ">>") (number_literal "0x16"))) () ")"))) () ")")))) (; ";")) (expression_statement "iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19));" (assignment_expression "iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" (identifier "iVar1") (= "=") (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1] +\n            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5 + local_1cc[1]" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8 + iVar5" (binary_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +\n            local_1b8" (parenthesized_expression "(local_1bc & local_1c4 ^ ~local_1bc & local_1c0)" (( "(") (binary_expression "local_1bc & local_1c4 ^ ~local_1bc & local_1c0" (binary_expression "local_1bc & local_1c4" (identifier "local_1bc") (& "&") (identifier "local_1c4")) (^ "^") (binary_expression "~local_1bc & local_1c0" (unary_expression "~local_1bc" (~ "~") (identifier "local_1bc")) (& "&") (identifier "local_1c0"))) () ")")) (+ "+") (identifier "local_1b8")) (+ "+") (identifier "iVar5")) (+ "+") (subscript_expression "local_1cc[1]" (identifier "local_1cc") ([ "[") (number_literal "1") (] "]"))) (+ "+") (parenthesized_expression "((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19))" (( "(") (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^\n            (local_1bc * 0x80 | local_1bc >> 0x19)" (binary_expression "(local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000)" (parenthesized_expression "(local_1bc >> 0xb | local_1bc * 0x200000)" (( "(") (binary_expression "local_1bc >> 0xb | local_1bc * 0x200000" (binary_expression "local_1bc >> 0xb" (identifier "local_1bc") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_1bc * 0x200000" (identifier "local_1bc") (* "*") (number_literal "0x200000"))) () ")")) (^ "^") (parenthesized_expression "(local_1bc >> 6 | local_1bc * 0x4000000)" (( "(") (binary_expression "local_1bc >> 6 | local_1bc * 0x4000000" (binary_expression "local_1bc >> 6" (identifier "local_1bc") (>> ">>") (number_literal "6")) (| "|") (binary_expression "local_1bc * 0x4000000" (identifier "local_1bc") (* "*") (number_literal "0x4000000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1bc * 0x80 | local_1bc >> 0x19)" (( "(") (binary_expression "local_1bc * 0x80 | local_1bc >> 0x19" (binary_expression "local_1bc * 0x80" (identifier "local_1bc") (* "*") (number_literal "0x80")) (| "|") (binary_expression "local_1bc >> 0x19" (identifier "local_1bc") (>> ">>") (number_literal "0x19"))) () ")"))) () ")")))) (; ";")) (expression_statement "uVar6 = iVar1 + uVar6;" (assignment_expression "uVar6 = iVar1 + uVar6" (identifier "uVar6") (= "=") (binary_expression "iVar1 + uVar6" (identifier "iVar1") (+ "+") (identifier "uVar6"))) (; ";")) (expression_statement "local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1" (identifier "local_1b8") (= "=") (binary_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +\n                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" (parenthesized_expression "((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4)" (( "(") (binary_expression "(local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4" (binary_expression "(local_1b4 ^ uVar4) & local_1c8" (parenthesized_expression "(local_1b4 ^ uVar4)" (( "(") (binary_expression "local_1b4 ^ uVar4" (identifier "local_1b4") (^ "^") (identifier "uVar4")) () ")")) (& "&") (identifier "local_1c8")) (^ "^") (binary_expression "local_1b4 & uVar4" (identifier "local_1b4") (& "&") (identifier "uVar4"))) () ")")) (+ "+") (parenthesized_expression "((local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)\n                )" (( "(") (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)" (binary_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000) ^\n                 (local_1c8 >> 2 | local_1c8 * 0x40000000)" (parenthesized_expression "(local_1c8 >> 0xd | local_1c8 * 0x80000)" (( "(") (binary_expression "local_1c8 >> 0xd | local_1c8 * 0x80000" (binary_expression "local_1c8 >> 0xd" (identifier "local_1c8") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "local_1c8 * 0x80000" (identifier "local_1c8") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(local_1c8 >> 2 | local_1c8 * 0x40000000)" (( "(") (binary_expression "local_1c8 >> 2 | local_1c8 * 0x40000000" (binary_expression "local_1c8 >> 2" (identifier "local_1c8") (>> ">>") (number_literal "2")) (| "|") (binary_expression "local_1c8 * 0x40000000" (identifier "local_1c8") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1c8 * 0x400 | local_1c8 >> 0x16)" (( "(") (binary_expression "local_1c8 * 0x400 | local_1c8 >> 0x16" (binary_expression "local_1c8 * 0x400" (identifier "local_1c8") (* "*") (number_literal "0x400")) (| "|") (binary_expression "local_1c8 >> 0x16" (identifier "local_1c8") (>> ">>") (number_literal "0x16"))) () ")"))) () ")"))) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19));" (assignment_expression "iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" (identifier "iVar1") (= "=") (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2] +\n            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0 + local_1cc[2]" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0 + local_1c0" (binary_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4) +\n            local_1b0" (parenthesized_expression "(local_1bc & uVar6 ^ ~uVar6 & local_1c4)" (( "(") (binary_expression "local_1bc & uVar6 ^ ~uVar6 & local_1c4" (binary_expression "local_1bc & uVar6" (identifier "local_1bc") (& "&") (identifier "uVar6")) (^ "^") (binary_expression "~uVar6 & local_1c4" (unary_expression "~uVar6" (~ "~") (identifier "uVar6")) (& "&") (identifier "local_1c4"))) () ")")) (+ "+") (identifier "local_1b0")) (+ "+") (identifier "local_1c0")) (+ "+") (subscript_expression "local_1cc[2]" (identifier "local_1cc") ([ "[") (number_literal "2") (] "]"))) (+ "+") (parenthesized_expression "((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19))" (( "(") (binary_expression "(uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^\n            (uVar6 * 0x80 | uVar6 >> 0x19)" (binary_expression "(uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000)" (parenthesized_expression "(uVar6 >> 0xb | uVar6 * 0x200000)" (( "(") (binary_expression "uVar6 >> 0xb | uVar6 * 0x200000" (binary_expression "uVar6 >> 0xb" (identifier "uVar6") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "uVar6 * 0x200000" (identifier "uVar6") (* "*") (number_literal "0x200000"))) () ")")) (^ "^") (parenthesized_expression "(uVar6 >> 6 | uVar6 * 0x4000000)" (( "(") (binary_expression "uVar6 >> 6 | uVar6 * 0x4000000" (binary_expression "uVar6 >> 6" (identifier "uVar6") (>> ">>") (number_literal "6")) (| "|") (binary_expression "uVar6 * 0x4000000" (identifier "uVar6") (* "*") (number_literal "0x4000000"))) () ")"))) (^ "^") (parenthesized_expression "(uVar6 * 0x80 | uVar6 >> 0x19)" (( "(") (binary_expression "uVar6 * 0x80 | uVar6 >> 0x19" (binary_expression "uVar6 * 0x80" (identifier "uVar6") (* "*") (number_literal "0x80")) (| "|") (binary_expression "uVar6 >> 0x19" (identifier "uVar6") (>> ">>") (number_literal "0x19"))) () ")"))) () ")")))) (; ";")) (expression_statement "uVar4 = iVar1 + uVar4;" (assignment_expression "uVar4 = iVar1 + uVar4" (identifier "uVar4") (= "=") (binary_expression "iVar1 + uVar4" (identifier "iVar1") (+ "+") (identifier "uVar4"))) (; ";")) (expression_statement "local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1" (identifier "local_1c0") (= "=") (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +\n                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                )" (parenthesized_expression "((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8)" (( "(") (binary_expression "(local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8" (binary_expression "(local_1c8 ^ local_1b4) & local_1b8" (parenthesized_expression "(local_1c8 ^ local_1b4)" (( "(") (binary_expression "local_1c8 ^ local_1b4" (identifier "local_1c8") (^ "^") (identifier "local_1b4")) () ")")) (& "&") (identifier "local_1b8")) (^ "^") (binary_expression "local_1b4 & local_1c8" (identifier "local_1b4") (& "&") (identifier "local_1c8"))) () ")")) (+ "+") (parenthesized_expression "((local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)\n                )" (( "(") (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)" (binary_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000) ^\n                 (local_1b8 >> 2 | local_1b8 * 0x40000000)" (parenthesized_expression "(local_1b8 >> 0xd | local_1b8 * 0x80000)" (( "(") (binary_expression "local_1b8 >> 0xd | local_1b8 * 0x80000" (binary_expression "local_1b8 >> 0xd" (identifier "local_1b8") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "local_1b8 * 0x80000" (identifier "local_1b8") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(local_1b8 >> 2 | local_1b8 * 0x40000000)" (( "(") (binary_expression "local_1b8 >> 2 | local_1b8 * 0x40000000" (binary_expression "local_1b8 >> 2" (identifier "local_1b8") (>> ">>") (number_literal "2")) (| "|") (binary_expression "local_1b8 * 0x40000000" (identifier "local_1b8") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1b8 * 0x400 | local_1b8 >> 0x16)" (( "(") (binary_expression "local_1b8 * 0x400 | local_1b8 >> 0x16" (binary_expression "local_1b8 * 0x400" (identifier "local_1b8") (* "*") (number_literal "0x400")) (| "|") (binary_expression "local_1b8 >> 0x16" (identifier "local_1b8") (>> ">>") (number_literal "0x16"))) () ")"))) () ")"))) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19));" (assignment_expression "iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" (identifier "iVar1") (= "=") (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3] +\n            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4 + local_1cc[3]" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac + local_1c4" (binary_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4) +\n            local_1ac" (parenthesized_expression "(~uVar4 & local_1bc ^ uVar6 & uVar4)" (( "(") (binary_expression "~uVar4 & local_1bc ^ uVar6 & uVar4" (binary_expression "~uVar4 & local_1bc" (unary_expression "~uVar4" (~ "~") (identifier "uVar4")) (& "&") (identifier "local_1bc")) (^ "^") (binary_expression "uVar6 & uVar4" (identifier "uVar6") (& "&") (identifier "uVar4"))) () ")")) (+ "+") (identifier "local_1ac")) (+ "+") (identifier "local_1c4")) (+ "+") (subscript_expression "local_1cc[3]" (identifier "local_1cc") ([ "[") (number_literal "3") (] "]"))) (+ "+") (parenthesized_expression "((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19))" (( "(") (binary_expression "(uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^\n            (uVar4 * 0x80 | uVar4 >> 0x19)" (binary_expression "(uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000)" (parenthesized_expression "(uVar4 >> 0xb | uVar4 * 0x200000)" (( "(") (binary_expression "uVar4 >> 0xb | uVar4 * 0x200000" (binary_expression "uVar4 >> 0xb" (identifier "uVar4") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "uVar4 * 0x200000" (identifier "uVar4") (* "*") (number_literal "0x200000"))) () ")")) (^ "^") (parenthesized_expression "(uVar4 >> 6 | uVar4 * 0x4000000)" (( "(") (binary_expression "uVar4 >> 6 | uVar4 * 0x4000000" (binary_expression "uVar4 >> 6" (identifier "uVar4") (>> ">>") (number_literal "6")) (| "|") (binary_expression "uVar4 * 0x4000000" (identifier "uVar4") (* "*") (number_literal "0x4000000"))) () ")"))) (^ "^") (parenthesized_expression "(uVar4 * 0x80 | uVar4 >> 0x19)" (( "(") (binary_expression "uVar4 * 0x80 | uVar4 >> 0x19" (binary_expression "uVar4 * 0x80" (identifier "uVar4") (* "*") (number_literal "0x80")) (| "|") (binary_expression "uVar4 >> 0x19" (identifier "uVar4") (>> ">>") (number_literal "0x19"))) () ")"))) () ")")))) (; ";")) (expression_statement "local_1b4 = iVar1 + local_1b4;" (assignment_expression "local_1b4 = iVar1 + local_1b4" (identifier "local_1b4") (= "=") (binary_expression "iVar1 + local_1b4" (identifier "iVar1") (+ "+") (identifier "local_1b4"))) (; ";")) (expression_statement "local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16));" (assignment_expression "local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" (identifier "local_1c4") (= "=") (binary_expression "iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +\n                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" (binary_expression "iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8)" (identifier "iVar1") (+ "+") (parenthesized_expression "((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8)" (( "(") (binary_expression "(local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8" (binary_expression "(local_1c8 ^ local_1b8) & local_1c0" (parenthesized_expression "(local_1c8 ^ local_1b8)" (( "(") (binary_expression "local_1c8 ^ local_1b8" (identifier "local_1c8") (^ "^") (identifier "local_1b8")) () ")")) (& "&") (identifier "local_1c0")) (^ "^") (binary_expression "local_1c8 & local_1b8" (identifier "local_1c8") (& "&") (identifier "local_1b8"))) () ")"))) (+ "+") (parenthesized_expression "((local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16))" (( "(") (binary_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^\n                        (local_1c0 * 0x400 | local_1c0 >> 0x16)" (binary_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000) ^\n                         (local_1c0 >> 2 | local_1c0 * 0x40000000)" (parenthesized_expression "(local_1c0 >> 0xd | local_1c0 * 0x80000)" (( "(") (binary_expression "local_1c0 >> 0xd | local_1c0 * 0x80000" (binary_expression "local_1c0 >> 0xd" (identifier "local_1c0") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "local_1c0 * 0x80000" (identifier "local_1c0") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(local_1c0 >> 2 | local_1c0 * 0x40000000)" (( "(") (binary_expression "local_1c0 >> 2 | local_1c0 * 0x40000000" (binary_expression "local_1c0 >> 2" (identifier "local_1c0") (>> ">>") (number_literal "2")) (| "|") (binary_expression "local_1c0 * 0x40000000" (identifier "local_1c0") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1c0 * 0x400 | local_1c0 >> 0x16)" (( "(") (binary_expression "local_1c0 * 0x400 | local_1c0 >> 0x16" (binary_expression "local_1c0 * 0x400" (identifier "local_1c0") (* "*") (number_literal "0x400")) (| "|") (binary_expression "local_1c0 >> 0x16" (identifier "local_1c0") (>> ">>") (number_literal "0x16"))) () ")"))) () ")")))) (; ";")) (expression_statement "iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));" (assignment_expression "iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" (identifier "iVar1") (= "=") (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4] +\n            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8 + local_1cc[4]" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc + local_1a8" (binary_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4) +\n            local_1bc" (parenthesized_expression "(~local_1b4 & uVar6 ^ uVar4 & local_1b4)" (( "(") (binary_expression "~local_1b4 & uVar6 ^ uVar4 & local_1b4" (binary_expression "~local_1b4 & uVar6" (unary_expression "~local_1b4" (~ "~") (identifier "local_1b4")) (& "&") (identifier "uVar6")) (^ "^") (binary_expression "uVar4 & local_1b4" (identifier "uVar4") (& "&") (identifier "local_1b4"))) () ")")) (+ "+") (identifier "local_1bc")) (+ "+") (identifier "local_1a8")) (+ "+") (subscript_expression "local_1cc[4]" (identifier "local_1cc") ([ "[") (number_literal "4") (] "]"))) (+ "+") (parenthesized_expression "((local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000))" (( "(") (binary_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000)" (binary_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19) ^\n            (local_1b4 >> 0xb | local_1b4 * 0x200000)" (parenthesized_expression "(local_1b4 * 0x80 | local_1b4 >> 0x19)" (( "(") (binary_expression "local_1b4 * 0x80 | local_1b4 >> 0x19" (binary_expression "local_1b4 * 0x80" (identifier "local_1b4") (* "*") (number_literal "0x80")) (| "|") (binary_expression "local_1b4 >> 0x19" (identifier "local_1b4") (>> ">>") (number_literal "0x19"))) () ")")) (^ "^") (parenthesized_expression "(local_1b4 >> 0xb | local_1b4 * 0x200000)" (( "(") (binary_expression "local_1b4 >> 0xb | local_1b4 * 0x200000" (binary_expression "local_1b4 >> 0xb" (identifier "local_1b4") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_1b4 * 0x200000" (identifier "local_1b4") (* "*") (number_literal "0x200000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1b4 >> 6 | local_1b4 * 0x4000000)" (( "(") (binary_expression "local_1b4 >> 6 | local_1b4 * 0x4000000" (binary_expression "local_1b4 >> 6" (identifier "local_1b4") (>> ">>") (number_literal "6")) (| "|") (binary_expression "local_1b4 * 0x4000000" (identifier "local_1b4") (* "*") (number_literal "0x4000000"))) () ")"))) () ")")))) (; ";")) (expression_statement "local_1c8 = local_1c8 + iVar1;" (assignment_expression "local_1c8 = local_1c8 + iVar1" (identifier "local_1c8") (= "=") (binary_expression "local_1c8 + iVar1" (identifier "local_1c8") (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1;" (assignment_expression "local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1" (identifier "local_1bc") (= "=") (binary_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                ) + iVar1" (binary_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +\n                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                )" (parenthesized_expression "((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0)" (( "(") (binary_expression "(local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0" (binary_expression "(local_1b8 ^ local_1c0) & local_1c4" (parenthesized_expression "(local_1b8 ^ local_1c0)" (( "(") (binary_expression "local_1b8 ^ local_1c0" (identifier "local_1b8") (^ "^") (identifier "local_1c0")) () ")")) (& "&") (identifier "local_1c4")) (^ "^") (binary_expression "local_1b8 & local_1c0" (identifier "local_1b8") (& "&") (identifier "local_1c0"))) () ")")) (+ "+") (parenthesized_expression "((local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)\n                )" (( "(") (binary_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)" (binary_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000) ^\n                 (local_1c4 >> 2 | local_1c4 * 0x40000000)" (parenthesized_expression "(local_1c4 >> 0xd | local_1c4 * 0x80000)" (( "(") (binary_expression "local_1c4 >> 0xd | local_1c4 * 0x80000" (binary_expression "local_1c4 >> 0xd" (identifier "local_1c4") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "local_1c4 * 0x80000" (identifier "local_1c4") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(local_1c4 >> 2 | local_1c4 * 0x40000000)" (( "(") (binary_expression "local_1c4 >> 2 | local_1c4 * 0x40000000" (binary_expression "local_1c4 >> 2" (identifier "local_1c4") (>> ">>") (number_literal "2")) (| "|") (binary_expression "local_1c4 * 0x40000000" (identifier "local_1c4") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1c4 * 0x400 | local_1c4 >> 0x16)" (( "(") (binary_expression "local_1c4 * 0x400 | local_1c4 >> 0x16" (binary_expression "local_1c4 * 0x400" (identifier "local_1c4") (* "*") (number_literal "0x400")) (| "|") (binary_expression "local_1c4 >> 0x16" (identifier "local_1c4") (>> ">>") (number_literal "0x16"))) () ")"))) () ")"))) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));" (assignment_expression "iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" (identifier "iVar1") (= "=") (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6 +\n            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5] + uVar6" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4 + local_1cc[5]" (binary_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +\n            local_1a4" (parenthesized_expression "(local_1b4 & local_1c8 ^ ~local_1c8 & uVar4)" (( "(") (binary_expression "local_1b4 & local_1c8 ^ ~local_1c8 & uVar4" (binary_expression "local_1b4 & local_1c8" (identifier "local_1b4") (& "&") (identifier "local_1c8")) (^ "^") (binary_expression "~local_1c8 & uVar4" (unary_expression "~local_1c8" (~ "~") (identifier "local_1c8")) (& "&") (identifier "uVar4"))) () ")")) (+ "+") (identifier "local_1a4")) (+ "+") (subscript_expression "local_1cc[5]" (identifier "local_1cc") ([ "[") (number_literal "5") (] "]"))) (+ "+") (identifier "uVar6")) (+ "+") (parenthesized_expression "((local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000))" (( "(") (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000)" (binary_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19) ^\n            (local_1c8 >> 0xb | local_1c8 * 0x200000)" (parenthesized_expression "(local_1c8 * 0x80 | local_1c8 >> 0x19)" (( "(") (binary_expression "local_1c8 * 0x80 | local_1c8 >> 0x19" (binary_expression "local_1c8 * 0x80" (identifier "local_1c8") (* "*") (number_literal "0x80")) (| "|") (binary_expression "local_1c8 >> 0x19" (identifier "local_1c8") (>> ">>") (number_literal "0x19"))) () ")")) (^ "^") (parenthesized_expression "(local_1c8 >> 0xb | local_1c8 * 0x200000)" (( "(") (binary_expression "local_1c8 >> 0xb | local_1c8 * 0x200000" (binary_expression "local_1c8 >> 0xb" (identifier "local_1c8") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_1c8 * 0x200000" (identifier "local_1c8") (* "*") (number_literal "0x200000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1c8 >> 6 | local_1c8 * 0x4000000)" (( "(") (binary_expression "local_1c8 >> 6 | local_1c8 * 0x4000000" (binary_expression "local_1c8 >> 6" (identifier "local_1c8") (>> ">>") (number_literal "6")) (| "|") (binary_expression "local_1c8 * 0x4000000" (identifier "local_1c8") (* "*") (number_literal "0x4000000"))) () ")"))) () ")")))) (; ";")) (expression_statement "local_1b8 = local_1b8 + iVar1;" (assignment_expression "local_1b8 = local_1b8 + iVar1" (identifier "local_1b8") (= "=") (binary_expression "local_1b8 + iVar1" (identifier "local_1b8") (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;" (assignment_expression "uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1" (identifier "uVar6") (= "=") (binary_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1" (binary_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +\n            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16))" (parenthesized_expression "((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4)" (( "(") (binary_expression "(local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4" (binary_expression "(local_1c0 ^ local_1c4) & local_1bc" (parenthesized_expression "(local_1c0 ^ local_1c4)" (( "(") (binary_expression "local_1c0 ^ local_1c4" (identifier "local_1c0") (^ "^") (identifier "local_1c4")) () ")")) (& "&") (identifier "local_1bc")) (^ "^") (binary_expression "local_1c0 & local_1c4" (identifier "local_1c0") (& "&") (identifier "local_1c4"))) () ")")) (+ "+") (parenthesized_expression "((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16))" (( "(") (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^\n            (local_1bc * 0x400 | local_1bc >> 0x16)" (binary_expression "(local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000)" (parenthesized_expression "(local_1bc >> 0xd | local_1bc * 0x80000)" (( "(") (binary_expression "local_1bc >> 0xd | local_1bc * 0x80000" (binary_expression "local_1bc >> 0xd" (identifier "local_1bc") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "local_1bc * 0x80000" (identifier "local_1bc") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(local_1bc >> 2 | local_1bc * 0x40000000)" (( "(") (binary_expression "local_1bc >> 2 | local_1bc * 0x40000000" (binary_expression "local_1bc >> 2" (identifier "local_1bc") (>> ">>") (number_literal "2")) (| "|") (binary_expression "local_1bc * 0x40000000" (identifier "local_1bc") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1bc * 0x400 | local_1bc >> 0x16)" (( "(") (binary_expression "local_1bc * 0x400 | local_1bc >> 0x16" (binary_expression "local_1bc * 0x400" (identifier "local_1bc") (* "*") (number_literal "0x400")) (| "|") (binary_expression "local_1bc >> 0x16" (identifier "local_1bc") (>> ">>") (number_literal "0x16"))) () ")"))) () ")"))) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4;" (assignment_expression "iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4" (identifier "iVar1") (= "=") (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6] + uVar4" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0 + local_1cc[6]" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +\n            local_1a0" (binary_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +\n            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" (parenthesized_expression "(~local_1b8 & local_1b4 ^ local_1c8 & local_1b8)" (( "(") (binary_expression "~local_1b8 & local_1b4 ^ local_1c8 & local_1b8" (binary_expression "~local_1b8 & local_1b4" (unary_expression "~local_1b8" (~ "~") (identifier "local_1b8")) (& "&") (identifier "local_1b4")) (^ "^") (binary_expression "local_1c8 & local_1b8" (identifier "local_1c8") (& "&") (identifier "local_1b8"))) () ")")) (+ "+") (parenthesized_expression "((local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000))" (( "(") (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)" (binary_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19) ^\n            (local_1b8 >> 0xb | local_1b8 * 0x200000)" (parenthesized_expression "(local_1b8 * 0x80 | local_1b8 >> 0x19)" (( "(") (binary_expression "local_1b8 * 0x80 | local_1b8 >> 0x19" (binary_expression "local_1b8 * 0x80" (identifier "local_1b8") (* "*") (number_literal "0x80")) (| "|") (binary_expression "local_1b8 >> 0x19" (identifier "local_1b8") (>> ">>") (number_literal "0x19"))) () ")")) (^ "^") (parenthesized_expression "(local_1b8 >> 0xb | local_1b8 * 0x200000)" (( "(") (binary_expression "local_1b8 >> 0xb | local_1b8 * 0x200000" (binary_expression "local_1b8 >> 0xb" (identifier "local_1b8") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_1b8 * 0x200000" (identifier "local_1b8") (* "*") (number_literal "0x200000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1b8 >> 6 | local_1b8 * 0x4000000)" (( "(") (binary_expression "local_1b8 >> 6 | local_1b8 * 0x4000000" (binary_expression "local_1b8 >> 6" (identifier "local_1b8") (>> ">>") (number_literal "6")) (| "|") (binary_expression "local_1b8 * 0x4000000" (identifier "local_1b8") (* "*") (number_literal "0x4000000"))) () ")"))) () ")"))) (+ "+") (identifier "local_1a0")) (+ "+") (subscript_expression "local_1cc[6]" (identifier "local_1cc") ([ "[") (number_literal "6") (] "]"))) (+ "+") (identifier "uVar4"))) (; ";")) (expression_statement "local_1c0 = local_1c0 + iVar1;" (assignment_expression "local_1c0 = local_1c0 + iVar1" (identifier "local_1c0") (= "=") (binary_expression "local_1c0 + iVar1" (identifier "local_1c0") (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;" (assignment_expression "uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1" (identifier "uVar4") (= "=") (binary_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1" (binary_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +\n            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16))" (parenthesized_expression "((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4)" (( "(") (binary_expression "(local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4" (binary_expression "(local_1bc ^ local_1c4) & uVar6" (parenthesized_expression "(local_1bc ^ local_1c4)" (( "(") (binary_expression "local_1bc ^ local_1c4" (identifier "local_1bc") (^ "^") (identifier "local_1c4")) () ")")) (& "&") (identifier "uVar6")) (^ "^") (binary_expression "local_1bc & local_1c4" (identifier "local_1bc") (& "&") (identifier "local_1c4"))) () ")")) (+ "+") (parenthesized_expression "((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16))" (( "(") (binary_expression "(uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^\n            (uVar6 * 0x400 | uVar6 >> 0x16)" (binary_expression "(uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000)" (parenthesized_expression "(uVar6 >> 0xd | uVar6 * 0x80000)" (( "(") (binary_expression "uVar6 >> 0xd | uVar6 * 0x80000" (binary_expression "uVar6 >> 0xd" (identifier "uVar6") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "uVar6 * 0x80000" (identifier "uVar6") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(uVar6 >> 2 | uVar6 * 0x40000000)" (( "(") (binary_expression "uVar6 >> 2 | uVar6 * 0x40000000" (binary_expression "uVar6 >> 2" (identifier "uVar6") (>> ">>") (number_literal "2")) (| "|") (binary_expression "uVar6 * 0x40000000" (identifier "uVar6") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(uVar6 * 0x400 | uVar6 >> 0x16)" (( "(") (binary_expression "uVar6 * 0x400 | uVar6 >> 0x16" (binary_expression "uVar6 * 0x400" (identifier "uVar6") (* "*") (number_literal "0x400")) (| "|") (binary_expression "uVar6 >> 0x16" (identifier "uVar6") (>> ">>") (number_literal "0x16"))) () ")"))) () ")"))) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));" (assignment_expression "iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" (identifier "iVar1") (= "=") (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7] +\n            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c + local_1cc[7]" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4 + local_19c" (binary_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +\n            local_1b4" (parenthesized_expression "(~local_1c0 & local_1c8 ^ local_1b8 & local_1c0)" (( "(") (binary_expression "~local_1c0 & local_1c8 ^ local_1b8 & local_1c0" (binary_expression "~local_1c0 & local_1c8" (unary_expression "~local_1c0" (~ "~") (identifier "local_1c0")) (& "&") (identifier "local_1c8")) (^ "^") (binary_expression "local_1b8 & local_1c0" (identifier "local_1b8") (& "&") (identifier "local_1c0"))) () ")")) (+ "+") (identifier "local_1b4")) (+ "+") (identifier "local_19c")) (+ "+") (subscript_expression "local_1cc[7]" (identifier "local_1cc") ([ "[") (number_literal "7") (] "]"))) (+ "+") (parenthesized_expression "((local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000))" (( "(") (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000)" (binary_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19) ^\n            (local_1c0 >> 0xb | local_1c0 * 0x200000)" (parenthesized_expression "(local_1c0 * 0x80 | local_1c0 >> 0x19)" (( "(") (binary_expression "local_1c0 * 0x80 | local_1c0 >> 0x19" (binary_expression "local_1c0 * 0x80" (identifier "local_1c0") (* "*") (number_literal "0x80")) (| "|") (binary_expression "local_1c0 >> 0x19" (identifier "local_1c0") (>> ">>") (number_literal "0x19"))) () ")")) (^ "^") (parenthesized_expression "(local_1c0 >> 0xb | local_1c0 * 0x200000)" (( "(") (binary_expression "local_1c0 >> 0xb | local_1c0 * 0x200000" (binary_expression "local_1c0 >> 0xb" (identifier "local_1c0") (>> ">>") (number_literal "0xb")) (| "|") (binary_expression "local_1c0 * 0x200000" (identifier "local_1c0") (* "*") (number_literal "0x200000"))) () ")"))) (^ "^") (parenthesized_expression "(local_1c0 >> 6 | local_1c0 * 0x4000000)" (( "(") (binary_expression "local_1c0 >> 6 | local_1c0 * 0x4000000" (binary_expression "local_1c0 >> 6" (identifier "local_1c0") (>> ">>") (number_literal "6")) (| "|") (binary_expression "local_1c0 * 0x4000000" (identifier "local_1c0") (* "*") (number_literal "0x4000000"))) () ")"))) () ")")))) (; ";")) (expression_statement "local_1c4 = local_1c4 + iVar1;" (assignment_expression "local_1c4 = local_1c4 + iVar1" (identifier "local_1c4") (= "=") (binary_expression "local_1c4 + iVar1" (identifier "local_1c4") (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16));" (assignment_expression "local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" (identifier "local_1b4") (= "=") (binary_expression "iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +\n                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" (binary_expression "iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6)" (identifier "iVar1") (+ "+") (parenthesized_expression "((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6)" (( "(") (binary_expression "(local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6" (binary_expression "(local_1bc ^ uVar6) & uVar4" (parenthesized_expression "(local_1bc ^ uVar6)" (( "(") (binary_expression "local_1bc ^ uVar6" (identifier "local_1bc") (^ "^") (identifier "uVar6")) () ")")) (& "&") (identifier "uVar4")) (^ "^") (binary_expression "local_1bc & uVar6" (identifier "local_1bc") (& "&") (identifier "uVar6"))) () ")"))) (+ "+") (parenthesized_expression "((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16))" (( "(") (binary_expression "(uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^\n                        (uVar4 * 0x400 | uVar4 >> 0x16)" (binary_expression "(uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000)" (parenthesized_expression "(uVar4 >> 0xd | uVar4 * 0x80000)" (( "(") (binary_expression "uVar4 >> 0xd | uVar4 * 0x80000" (binary_expression "uVar4 >> 0xd" (identifier "uVar4") (>> ">>") (number_literal "0xd")) (| "|") (binary_expression "uVar4 * 0x80000" (identifier "uVar4") (* "*") (number_literal "0x80000"))) () ")")) (^ "^") (parenthesized_expression "(uVar4 >> 2 | uVar4 * 0x40000000)" (( "(") (binary_expression "uVar4 >> 2 | uVar4 * 0x40000000" (binary_expression "uVar4 >> 2" (identifier "uVar4") (>> ">>") (number_literal "2")) (| "|") (binary_expression "uVar4 * 0x40000000" (identifier "uVar4") (* "*") (number_literal "0x40000000"))) () ")"))) (^ "^") (parenthesized_expression "(uVar4 * 0x400 | uVar4 >> 0x16)" (( "(") (binary_expression "uVar4 * 0x400 | uVar4 >> 0x16" (binary_expression "uVar4 * 0x400" (identifier "uVar4") (* "*") (number_literal "0x400")) (| "|") (binary_expression "uVar4 >> 0x16" (identifier "uVar4") (>> ">>") (number_literal "0x16"))) () ")"))) () ")")))) (; ";")) (if_statement "if (local_160 + 0x40 == local_1cc + 8) break;" (if "if") (parenthesized_expression "(local_160 + 0x40 == local_1cc + 8)" (( "(") (binary_expression "local_160 + 0x40 == local_1cc + 8" (binary_expression "local_160 + 0x40" (identifier "local_160") (+ "+") (number_literal "0x40")) (== "==") (binary_expression "local_1cc + 8" (identifier "local_1cc") (+ "+") (number_literal "8"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_1b0 = local_198[2];" (assignment_expression "local_1b0 = local_198[2]" (identifier "local_1b0") (= "=") (subscript_expression "local_198[2]" (identifier "local_198") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar1 = *local_198;" (assignment_expression "iVar1 = *local_198" (identifier "iVar1") (= "=") (pointer_expression "*local_198" (* "*") (identifier "local_198"))) (; ";")) (expression_statement "iVar5 = local_198[1];" (assignment_expression "iVar5 = local_198[1]" (identifier "iVar5") (= "=") (subscript_expression "local_198[1]" (identifier "local_198") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_1ac = local_198[3];" (assignment_expression "local_1ac = local_198[3]" (identifier "local_1ac") (= "=") (subscript_expression "local_198[3]" (identifier "local_198") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_1a8 = local_198[4];" (assignment_expression "local_1a8 = local_198[4]" (identifier "local_1a8") (= "=") (subscript_expression "local_198[4]" (identifier "local_198") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_1a4 = local_198[5];" (assignment_expression "local_1a4 = local_198[5]" (identifier "local_1a4") (= "=") (subscript_expression "local_198[5]" (identifier "local_198") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_1a0 = local_198[6];" (assignment_expression "local_1a0 = local_198[6]" (identifier "local_1a0") (= "=") (subscript_expression "local_198[6]" (identifier "local_198") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_19c = local_198[7];" (assignment_expression "local_19c = local_198[7]" (identifier "local_19c") (= "=") (subscript_expression "local_198[7]" (identifier "local_198") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_1cc = local_1cc + 8;" (assignment_expression "local_1cc = local_1cc + 8" (identifier "local_1cc") (= "=") (binary_expression "local_1cc + 8" (identifier "local_1cc") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "local_198 = local_198 + 8;" (assignment_expression "local_198 = local_198 + 8" (identifier "local_198") (= "=") (binary_expression "local_198 + 8" (identifier "local_198") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (expression_statement "param_1[2] = uVar6 + param_1[2];" (assignment_expression "param_1[2] = uVar6 + param_1[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar6 + param_1[2]" (identifier "uVar6") (+ "+") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "*param_1 = *param_1 + local_1b4;" (assignment_expression "*param_1 = *param_1 + local_1b4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (binary_expression "*param_1 + local_1b4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (identifier "local_1b4"))) (; ";")) (expression_statement "param_1[1] = param_1[1] + uVar4;" (assignment_expression "param_1[1] = param_1[1] + uVar4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_1[1] + uVar4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar4"))) (; ";")) (expression_statement "param_1[3] = param_1[3] + local_1bc;" (assignment_expression "param_1[3] = param_1[3] + local_1bc" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_1[3] + local_1bc" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "local_1bc"))) (; ";")) (expression_statement "param_1[7] = param_1[7] + local_1c8;" (assignment_expression "param_1[7] = param_1[7] + local_1c8" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "param_1[7] + local_1c8" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "local_1c8"))) (; ";")) (expression_statement "param_1[4] = param_1[4] + local_1c4;" (assignment_expression "param_1[4] = param_1[4] + local_1c4" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "param_1[4] + local_1c4" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (+ "+") (identifier "local_1c4"))) (; ";")) (expression_statement "param_1[5] = param_1[5] + local_1c0;" (assignment_expression "param_1[5] = param_1[5] + local_1c0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "param_1[5] + local_1c0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (identifier "local_1c0"))) (; ";")) (expression_statement "param_1[6] = param_1[6] + local_1b8;" (assignment_expression "param_1[6] = param_1[6] + local_1b8" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "param_1[6] + local_1b8" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (+ "+") (identifier "local_1b8"))) (; ";")) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0004aab0();" (call_expression "FUN_0004aab0()" (identifier "FUN_0004aab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Unknown calling convention */

void function_1(type_1 *s,type_2 *block)

{
  type_3 var_19;
  int var_33;
  type_3 var_28;
  type_2 var_26;
  type_2 var_30;
  type_2 var_31;
  type_3 var_27;
  type_2 var_32;
  type_3 var_29;
  int var_2;
  type_2 *var_3;
  type_2 *var_7;
  type_3 var_18;
  type_3 var_5;
  int var_15;
  type_3 var_21;
  type_3 var_4;
  int var_1;
  type_2 *var_25;
  type_3 var_12;
  type_3 var_11;
  type_3 var_10;
  type_3 var_13;
  type_3 var_9;
  type_3 var_14;
  int var_16;
  int var_17;
  int var_20;
  int var_22;
  int var_23;
  int var_24;
  int *var_8;
  type_2 var_6 [80];
  
  var_33 = *(int *)(var_1 + 0x14);
  var_2 = 0;
  do {
    var_6[var_2] = block[var_2];
    var_2 = var_2 + 1;
  } while (var_2 != 0x10);
  var_3 = var_6;
  do {
    var_4 = var_3[0xe];
    var_5 = var_3[1];
    var_7 = var_3 + 1;
    var_3[0x10] =
         ((var_4 << 0xf | var_4 >> 0x11) ^ (var_4 << 0xd | var_4 >> 0x13) ^ var_4 >> 10) +
         *var_3 + var_3[9] +
         ((var_5 >> 7 | var_5 << 0x19) ^ (var_5 << 0xe | var_5 >> 0x12) ^ var_5 >> 3);
    var_3 = var_7;
  } while (var_6 + 0x30 != var_7);
  var_24 = -0x54e3a12b;
  var_23 = -0x6dc07d5c;
  var_28 = s->h[3];
  var_26 = s->h[0];
  var_22 = 0x59f111f1;
  var_30 = s->h[4];
  var_31 = s->h[5];
  var_27 = s->h[1];
  var_32 = s->h[6];
  var_29 = s->h[7];
  var_8 = function_1::k;
  var_15 = 0x71374491;
  var_2 = 0x428a2f98;
  var_20 = 0x3956c25b;
  var_17 = -0x164a245b;
  var_16 = -0x4a3f0431;
  var_5 = var_27;
  var_4 = s->h[2];
  var_25 = var_6;
  var_12 = var_29;
  var_11 = var_30;
  var_10 = var_31;
  var_13 = var_28;
  var_9 = var_32;
  var_14 = var_26;
  while( true ) {
    var_8 = var_8 + 8;
    var_2 = (~var_11 & var_9 ^ var_10 & var_11) +
             ((var_11 << 7 | var_11 >> 0x19) ^
             (var_11 >> 0xb | var_11 << 0x15) ^ (var_11 >> 6 | var_11 << 0x1a)) +
             var_2 + *var_25 + var_12;
    var_13 = var_13 + var_2;
    var_12 = var_2 + ((var_5 ^ var_4) & var_14 ^ var_5 & var_4) +
                         ((var_14 >> 0xd | var_14 << 0x13) ^
                          (var_14 >> 2 | var_14 << 0x1e) ^
                         (var_14 << 10 | var_14 >> 0x16));
    var_2 = (var_13 & var_11 ^ ~var_13 & var_10) +
             var_9 + var_15 + var_25[1] +
             ((var_13 >> 0xb | var_13 * 0x200000) ^ (var_13 >> 6 | var_13 * 0x4000000) ^
             (var_13 * 0x80 | var_13 >> 0x19));
    var_4 = var_2 + var_4;
    var_9 = ((var_14 ^ var_5) & var_12 ^ var_14 & var_5) +
                ((var_12 >> 0xd | var_12 * 0x80000) ^
                 (var_12 >> 2 | var_12 * 0x40000000) ^ (var_12 * 0x400 | var_12 >> 0x16)
                ) + var_2;
    var_2 = (var_13 & var_4 ^ ~var_4 & var_11) +
             var_16 + var_10 + var_25[2] +
             ((var_4 >> 0xb | var_4 * 0x200000) ^ (var_4 >> 6 | var_4 * 0x4000000) ^
             (var_4 * 0x80 | var_4 >> 0x19));
    var_5 = var_2 + var_5;
    var_18 = ((var_12 ^ var_14) & var_9 ^ var_14 & var_12) +
             ((var_9 >> 0xd | var_9 * 0x80000) ^ (var_9 >> 2 | var_9 * 0x40000000) ^
             (var_9 * 0x400 | var_9 >> 0x16)) + var_2;
    var_2 = (~var_5 & var_13 ^ var_4 & var_5) +
             var_17 + var_11 + var_25[3] +
             ((var_5 >> 0xb | var_5 * 0x200000) ^ (var_5 >> 6 | var_5 * 0x4000000) ^
             (var_5 * 0x80 | var_5 >> 0x19));
    var_19 = var_2 + var_14;
    var_21 = var_2 + ((var_12 ^ var_9) & var_18 ^ var_12 & var_9) +
                      ((var_18 >> 0xd | var_18 * 0x80000) ^ (var_18 >> 2 | var_18 * 0x40000000) ^
                      (var_18 * 0x400 | var_18 >> 0x16));
    var_2 = (~var_19 & var_4 ^ var_5 & var_19) +
             var_13 + var_20 + var_25[4] +
             ((var_19 * 0x80 | var_19 >> 0x19) ^
             (var_19 >> 0xb | var_19 * 0x200000) ^ (var_19 >> 6 | var_19 * 0x4000000));
    var_12 = var_12 + var_2;
    var_13 = ((var_9 ^ var_18) & var_21 ^ var_9 & var_18) +
                ((var_21 >> 0xd | var_21 * 0x80000) ^ (var_21 >> 2 | var_21 * 0x40000000) ^
                (var_21 * 0x400 | var_21 >> 0x16)) + var_2;
    var_2 = (var_19 & var_12 ^ ~var_12 & var_5) +
             var_22 + var_25[5] + var_4 +
             ((var_12 * 0x80 | var_12 >> 0x19) ^
             (var_12 >> 0xb | var_12 * 0x200000) ^ (var_12 >> 6 | var_12 * 0x4000000));
    var_9 = var_9 + var_2;
    var_4 = ((var_18 ^ var_21) & var_13 ^ var_18 & var_21) +
             ((var_13 >> 0xd | var_13 * 0x80000) ^ (var_13 >> 2 | var_13 * 0x40000000) ^
             (var_13 * 0x400 | var_13 >> 0x16)) + var_2;
    var_2 = (~var_9 & var_19 ^ var_12 & var_9) +
             ((var_9 * 0x80 | var_9 >> 0x19) ^
             (var_9 >> 0xb | var_9 * 0x200000) ^ (var_9 >> 6 | var_9 * 0x4000000)) +
             var_23 + var_25[6] + var_5;
    var_10 = var_18 + var_2;
    var_5 = ((var_13 ^ var_21) & var_4 ^ var_13 & var_21) +
             ((var_4 >> 0xd | var_4 * 0x80000) ^ (var_4 >> 2 | var_4 * 0x40000000) ^
             (var_4 * 0x400 | var_4 >> 0x16)) + var_2;
    var_2 = (~var_10 & var_12 ^ var_9 & var_10) +
             var_19 + var_24 + var_25[7] +
             ((var_10 * 0x80 | var_10 >> 0x19) ^
             (var_10 >> 0xb | var_10 * 0x200000) ^ (var_10 >> 6 | var_10 * 0x4000000));
    var_11 = var_21 + var_2;
    var_14 = var_2 + ((var_13 ^ var_4) & var_5 ^ var_13 & var_4) +
                         ((var_5 >> 0xd | var_5 * 0x80000) ^ (var_5 >> 2 | var_5 * 0x40000000) ^
                         (var_5 * 0x400 | var_5 >> 0x16));
    if (var_6 + 0x40 == var_25 + 8) break;
    var_16 = var_8[2];
    var_2 = *var_8;
    var_15 = var_8[1];
    var_17 = var_8[3];
    var_20 = var_8[4];
    var_22 = var_8[5];
    var_23 = var_8[6];
    var_24 = var_8[7];
    var_25 = var_25 + 8;
  }
  s->h[2] = var_4 + s->h[2];
  s->h[0] = var_26 + var_14;
  s->h[1] = var_27 + var_5;
  s->h[3] = var_28 + var_13;
  s->h[7] = var_29 + var_12;
  s->h[4] = var_30 + var_11;
  s->h[5] = var_31 + var_10;
  s->h[6] = var_32 + var_9;
  if (var_33 == *(int *)(var_1 + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_34();
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(uint *param_1,int param_2)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  uint uVar4;
  int iVar5;
  uint uVar6;
  int in_GS_OFFSET;
  int *local_1cc;
  uint local_1c8;
  uint local_1c4;
  uint local_1c0;
  uint local_1bc;
  uint local_1b8;
  uint local_1b4;
  int local_1b0;
  int local_1ac;
  int local_1a8;
  int local_1a4;
  int local_1a0;
  int local_19c;
  int *local_198;
  int local_160 [80];
  int local_20;
  
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar1 = 0;
  do {
    local_160[iVar1] = *(int *)(param_2 + iVar1 * 4);
    iVar1 = iVar1 + 1;
  } while (iVar1 != 0x10);
  piVar2 = local_160;
  do {
    uVar6 = piVar2[0xe];
    uVar4 = piVar2[1];
    piVar3 = piVar2 + 1;
    piVar2[0x10] = ((uVar6 << 0xf | uVar6 >> 0x11) ^ (uVar6 << 0xd | uVar6 >> 0x13) ^ uVar6 >> 10) +
                   *piVar2 + piVar2[9] +
                   ((uVar4 >> 7 | uVar4 << 0x19) ^ (uVar4 << 0xe | uVar4 >> 0x12) ^ uVar4 >> 3);
    piVar2 = piVar3;
  } while (local_160 + 0x30 != piVar3);
  local_19c = -0x54e3a12b;
  local_1a0 = -0x6dc07d5c;
  local_1a4 = 0x59f111f1;
  iVar5 = 0x71374491;
  iVar1 = 0x428a2f98;
  local_1a8 = 0x3956c25b;
  local_1ac = -0x164a245b;
  local_1b0 = -0x4a3f0431;
  uVar4 = param_1[1];
  uVar6 = param_1[2];
  local_1cc = local_160;
  local_1c8 = param_1[7];
  local_1c4 = param_1[4];
  local_1c0 = param_1[5];
  local_1bc = param_1[3];
  local_1b8 = param_1[6];
  local_1b4 = *param_1;
  local_198 = &DAT_00051f00;
  while( true ) {
    iVar1 = (~local_1c4 & local_1b8 ^ local_1c0 & local_1c4) +
            ((local_1c4 << 7 | local_1c4 >> 0x19) ^
            (local_1c4 >> 0xb | local_1c4 << 0x15) ^ (local_1c4 >> 6 | local_1c4 << 0x1a)) +
            iVar1 + *local_1cc + local_1c8;
    local_1bc = local_1bc + iVar1;
    local_1c8 = iVar1 + ((uVar4 ^ uVar6) & local_1b4 ^ uVar4 & uVar6) +
                        ((local_1b4 >> 0xd | local_1b4 << 0x13) ^
                         (local_1b4 >> 2 | local_1b4 << 0x1e) ^
                        (local_1b4 << 10 | local_1b4 >> 0x16));
    iVar1 = (local_1bc & local_1c4 ^ ~local_1bc & local_1c0) +
            local_1b8 + iVar5 + local_1cc[1] +
            ((local_1bc >> 0xb | local_1bc * 0x200000) ^ (local_1bc >> 6 | local_1bc * 0x4000000) ^
            (local_1bc * 0x80 | local_1bc >> 0x19));
    uVar6 = iVar1 + uVar6;
    local_1b8 = ((local_1b4 ^ uVar4) & local_1c8 ^ local_1b4 & uVar4) +
                ((local_1c8 >> 0xd | local_1c8 * 0x80000) ^
                 (local_1c8 >> 2 | local_1c8 * 0x40000000) ^ (local_1c8 * 0x400 | local_1c8 >> 0x16)
                ) + iVar1;
    iVar1 = (local_1bc & uVar6 ^ ~uVar6 & local_1c4) +
            local_1b0 + local_1c0 + local_1cc[2] +
            ((uVar6 >> 0xb | uVar6 * 0x200000) ^ (uVar6 >> 6 | uVar6 * 0x4000000) ^
            (uVar6 * 0x80 | uVar6 >> 0x19));
    uVar4 = iVar1 + uVar4;
    local_1c0 = ((local_1c8 ^ local_1b4) & local_1b8 ^ local_1b4 & local_1c8) +
                ((local_1b8 >> 0xd | local_1b8 * 0x80000) ^
                 (local_1b8 >> 2 | local_1b8 * 0x40000000) ^ (local_1b8 * 0x400 | local_1b8 >> 0x16)
                ) + iVar1;
    iVar1 = (~uVar4 & local_1bc ^ uVar6 & uVar4) +
            local_1ac + local_1c4 + local_1cc[3] +
            ((uVar4 >> 0xb | uVar4 * 0x200000) ^ (uVar4 >> 6 | uVar4 * 0x4000000) ^
            (uVar4 * 0x80 | uVar4 >> 0x19));
    local_1b4 = iVar1 + local_1b4;
    local_1c4 = iVar1 + ((local_1c8 ^ local_1b8) & local_1c0 ^ local_1c8 & local_1b8) +
                        ((local_1c0 >> 0xd | local_1c0 * 0x80000) ^
                         (local_1c0 >> 2 | local_1c0 * 0x40000000) ^
                        (local_1c0 * 0x400 | local_1c0 >> 0x16));
    iVar1 = (~local_1b4 & uVar6 ^ uVar4 & local_1b4) +
            local_1bc + local_1a8 + local_1cc[4] +
            ((local_1b4 * 0x80 | local_1b4 >> 0x19) ^
            (local_1b4 >> 0xb | local_1b4 * 0x200000) ^ (local_1b4 >> 6 | local_1b4 * 0x4000000));
    local_1c8 = local_1c8 + iVar1;
    local_1bc = ((local_1b8 ^ local_1c0) & local_1c4 ^ local_1b8 & local_1c0) +
                ((local_1c4 >> 0xd | local_1c4 * 0x80000) ^
                 (local_1c4 >> 2 | local_1c4 * 0x40000000) ^ (local_1c4 * 0x400 | local_1c4 >> 0x16)
                ) + iVar1;
    iVar1 = (local_1b4 & local_1c8 ^ ~local_1c8 & uVar4) +
            local_1a4 + local_1cc[5] + uVar6 +
            ((local_1c8 * 0x80 | local_1c8 >> 0x19) ^
            (local_1c8 >> 0xb | local_1c8 * 0x200000) ^ (local_1c8 >> 6 | local_1c8 * 0x4000000));
    local_1b8 = local_1b8 + iVar1;
    uVar6 = ((local_1c0 ^ local_1c4) & local_1bc ^ local_1c0 & local_1c4) +
            ((local_1bc >> 0xd | local_1bc * 0x80000) ^ (local_1bc >> 2 | local_1bc * 0x40000000) ^
            (local_1bc * 0x400 | local_1bc >> 0x16)) + iVar1;
    iVar1 = (~local_1b8 & local_1b4 ^ local_1c8 & local_1b8) +
            ((local_1b8 * 0x80 | local_1b8 >> 0x19) ^
            (local_1b8 >> 0xb | local_1b8 * 0x200000) ^ (local_1b8 >> 6 | local_1b8 * 0x4000000)) +
            local_1a0 + local_1cc[6] + uVar4;
    local_1c0 = local_1c0 + iVar1;
    uVar4 = ((local_1bc ^ local_1c4) & uVar6 ^ local_1bc & local_1c4) +
            ((uVar6 >> 0xd | uVar6 * 0x80000) ^ (uVar6 >> 2 | uVar6 * 0x40000000) ^
            (uVar6 * 0x400 | uVar6 >> 0x16)) + iVar1;
    iVar1 = (~local_1c0 & local_1c8 ^ local_1b8 & local_1c0) +
            local_1b4 + local_19c + local_1cc[7] +
            ((local_1c0 * 0x80 | local_1c0 >> 0x19) ^
            (local_1c0 >> 0xb | local_1c0 * 0x200000) ^ (local_1c0 >> 6 | local_1c0 * 0x4000000));
    local_1c4 = local_1c4 + iVar1;
    local_1b4 = iVar1 + ((local_1bc ^ uVar6) & uVar4 ^ local_1bc & uVar6) +
                        ((uVar4 >> 0xd | uVar4 * 0x80000) ^ (uVar4 >> 2 | uVar4 * 0x40000000) ^
                        (uVar4 * 0x400 | uVar4 >> 0x16));
    if (local_160 + 0x40 == local_1cc + 8) break;
    local_1b0 = local_198[2];
    iVar1 = *local_198;
    iVar5 = local_198[1];
    local_1ac = local_198[3];
    local_1a8 = local_198[4];
    local_1a4 = local_198[5];
    local_1a0 = local_198[6];
    local_19c = local_198[7];
    local_1cc = local_1cc + 8;
    local_198 = local_198 + 8;
  }
  param_1[2] = uVar6 + param_1[2];
  *param_1 = *param_1 + local_1b4;
  param_1[1] = param_1[1] + uVar4;
  param_1[3] = param_1[3] + local_1bc;
  param_1[7] = param_1[7] + local_1c8;
  param_1[4] = param_1[4] + local_1c4;
  param_1[5] = param_1[5] + local_1c0;
  param_1[6] = param_1[6] + local_1b8;
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0004aab0();
}

