SymCryptParallelSha256Process
VOID __fastcall SymCryptParallelSha256Process(INT64 a1, UINT64 a2, UINT64 a3, UINT64 a4, INT64 a5, UINT64 a6){
WHEA_ERROR_SEVERITY *v10;
UINT64 v11;
INT64 result[8];
memset((INT64)result, 0i64);
if( (((unsigned __int8)g_SymCryptCpuFeaturesNotPresent | (unsigned __int8)SymCryptCpuFeaturesNeverPresent()) & 0x10) != 0
|| (unsigned int)SymCryptSaveYmm((struct XSTATE_SAVE *)result) )
{
if( (((unsigned __int8)g_SymCryptCpuFeaturesNotPresent | (unsigned __int8)SymCryptCpuFeaturesNeverPresent()) & 2) != 0
|| (unsigned int)SymCryptCpuFeaturesNeverPresent() )
{
SymCryptParallelHashProcess_serial((INT64 *)&SymCryptParallelSha256Algorithm_default, a1, a2, a3, a4, a5, a6);
}
else
{
LODWORD(v11) = 4;
SymCryptParallelHashProcess((INT64)&SymCryptParallelSha256Algorithm_default, a1, a2, a3, a4, a5, a6, v11);
SymCryptRestoreXmm(result, v10);
}
}
else
{
LODWORD(v11) = 8;
SymCryptParallelHashProcess((INT64)&SymCryptParallelSha256Algorithm_default, a1, a2, a3, a4, a5, a6, v11);
SymCryptRestoreYmm((struct XSTATE_SAVE *)result);
}
}Referenced by:
KeComputeParallelSha256