IoSaveBugCheckProgress
VOID __stdcall IoSaveBugCheckProgress(UINT64 Progress){
int v1;
int v2;
int v3;
int Src[10];
v1 = Progress;
if( CrashdmpDumpBlock )
{
v2 = *(_DWORD *)(CrashdmpDumpBlock + 1404);
if( (v2 & 0x60000) == 0 )
{
*(_DWORD *)(CrashdmpDumpBlock + 1404) = v2 ^ ((unsigned __int16)Progress ^ (unsigned __int16)v2) & 0x1FF;
IoUpdateBugCheckProgressEnvVariable();
}
if( v1 == 4 )
{
v3 = 4 - *(_DWORD *)(CrashdmpDumpBlock + 1336);
Src[3] = 0;
Src[0] = 1733060695;
Src[1] = 1;
Src[2] = 40;
Src[5] = -2147483613;
Src[4] = 8961 - (v3 != 0);
Src[6] = 24;
Src[7] = 8;
Src[9] = *(_DWORD *)(CrashdmpDumpBlock + 1404);
Src[8] = *(_DWORD *)(CrashdmpDumpBlock + 24);
WheaLogInternalEvent(Src);
}
}
}Referenced by:
BgpFwDisplayBugCheckScreen
IoAddPagesForPartialKernelDump
IoWriteCrashDump
IopAddLiveDumpPagesToPartialKernelDump
KeBugCheck2
KiDisplayBlueScreen