ViTriageSameDriversFromDump
UINT64 __stdcall ViTriageSameDriversFromDump(_LOADER_PARAMETER_BLOCK *LoaderBlock, VOID *TriageDumpBlock){
_LIST_ENTRY *p_LoadOrderListHead;
_LIST_ENTRY *i;
unsigned int v7;
_KLDR_DATA_TABLE_ENTRY *LoaderEntry;
UINT64 v9;
LODWORD(v9) = 0;
if( TriageGetDriverCount(TriageDumpBlock, &v9) >= 0 )
{
p_LoadOrderListHead = &LoaderBlock->LoadOrderListHead;
for( i = p_LoadOrderListHead->Flink; i != p_LoadOrderListHead; i = i->Flink )
{
v7 = 0;
if( !(_DWORD)v9 )
{
LABEL_9:
DbgPrintEx(0x5Du, 3u, "Matching checksum for module %wZ not found in triage dump\n", &i[5].Blink);
return 0i64;
}
while( 1 )
{
LoaderEntry = TriageGetLoaderEntry(TriageDumpBlock, v7);
if( LoaderEntry )
{
if( LODWORD(i[7].Blink) == LoaderEntry->CheckSum )
break;
}
if( ++v7 >= (unsigned int)v9 )
goto LABEL_9;
}
}
return 1i64;
}
else
{
DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: failed to get driver count from the dump.\n");
return 0i64;
}
}Referenced by:
VfTriageSystem