KeComputeParallelSha256

VOID __fastcall KeComputeParallelSha256(UINT64 *PackageCount, UINT64 *CoreCount){
  unsigned __int64 v3; 
  unsigned __int64 v5; 
  UINT64 *v6; 
  _QWORD *v7; 
  v3 = ((unsigned __int64)PackageCount + 399) & 0xFFFFFFFFFFFFFFF0ui64;
  SymCryptParallelSha256Init(v3, (INT64)CoreCount);
  v5 = 0i64;
  if( CoreCount )
  {
    v6 = PackageCount + 2;
    v7 = (_QWORD *)(v3 + 1040);
    do
    {
      *(v7 - 2) = v5;
      *((_DWORD *)v7 - 2) = 1;
      *v7 = *(v6 - 2);
      v7 += 10;
      *(v7 - 9) = *(v6 - 1);
      *(v7 - 7) = v5++;
      *(v7 - 5) = v6;
      v6 += 6;
      *((_DWORD *)v7 - 12) = 2;
      *(v7 - 4) = 32i64;
    }
    while( v5 < (unsigned __int64)CoreCount );
  }
  SymCryptParallelSha256Process(v3, (UINT64)CoreCount, v3 + 1024, 2i64 * (_QWORD)CoreCount, v3 + 1664, 0xB6Eui64);
}

Referenced by:

No references.