HalpMemoryErrorDeferredHandler
NTSTATUS __fastcall HalpMemoryErrorDeferredHandler(INT64 a1){
bool v1;
unsigned __int64 v3;
NTSTATUS result;
__int64 v5;
*(_BYTE *)(a1 + 13) &= 0xFu;
v1 = *(_BYTE *)(a1 + 14) == 0;
v3 = *(_QWORD *)a1;
if( v1 )
result = WheaAttemptPhysicalPageOffline(v3 >> 12, 0, 1u);
else
result = WheaAttemptClearPoison(v3, 0);
if( HalpHvWheaEnlightenedCpuManager )
{
if( result && qword_140C4A1D8 )
{
LOBYTE(v5) = 1;
qword_140C4A1D8(a1, 0i64, v5);
}
if( *(_QWORD *)(a1 + 16) )
{
result = (int)qword_140C4A1C8;
if( qword_140C4A1C8 )
return qword_140C4A1C8();
}
else
{
return HalpHvSetMachineCheckRecoveryState(2i64);
}
}
return result;
}Referenced by:
HalpErrorDeferredHandler