PspSetProcessDefaultHardErrorMode
_QWORD *__fastcall PspSetProcessDefaultHardErrorMode(__int64 a1, __int64 a2, unsigned int a3){
volatile INT64 *v6;
int v7;
--*(_WORD *)(a2 + 484);
v6 = (volatile INT64 *)(a1 + 1080);
ExAcquirePushLockExclusiveEx(a1 + 1080, 0i64);
if( *(_DWORD *)(a1 + 1528) != a3 )
{
*(_DWORD *)(a1 + 1528) = a3;
v7 = (a3 >> 2) & 1;
if( *(_QWORD *)(a1 + 1408) )
v7 = 1;
KeSetAutoAlignmentProcess(a1, v7);
}
if( (_InterlockedExchangeAdd64(v6, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(v6);
KeAbPostRelease((PVOID)v6);
return KeLeaveCriticalRegionThread(a2);
}Referenced by:
NtSetInformationProcess