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