MmShutdownSystem
UINT8 __stdcall MmShutdownSystem(UINT64 Phase){
void *v1;
SECURITY_SUBJECT_CONTEXT *v2;
UINT8 *v3;
__int64 *v5;
__int64 v6;
if( !(_DWORD)Phase )
return MiShutdownSystem();
if( (_DWORD)Phase == 1 )
{
if( (unsigned int)dword_140C4E404 < 2 )
{
dword_140C4E404 = 2;
if( (PopShutdownCleanly & 2) != 0 )
{
MmTrimAllSystemPagableMemory(1u, v1, v2, v3);
if( Count )
{
v5 = qword_140C525E0;
v6 = Count;
do
{
if( (*(_WORD *)(*v5 + 204) & 0x840) == 0 )
HalPutDmaAdapter(*(PADAPTER_OBJECT *)(*v5 + 56));
++v5;
--v6;
}
while( v6 );
}
}
}
}
else if( (unsigned int)dword_140C4E404 < 3 )
{
dword_140C4E404 = 3;
}
return 1;
}Referenced by:
PoBroadcastSystemState
PopGracefulShutdown