IoInitializeBugCheckProgress

VOID __stdcall IoInitializeBugCheckProgress(UINT64 BugCheckCode, UINT64 BugCheckParameter1){
  int v2; 
  int v3; 
  __int64 v4; 
  UINT64 *v5; 
  const wchar_t *v6; 
  __int64 v7[2]; 
  UINT64 v8; 
  unsigned int v9; 
  int v10; 
  v8 = BugCheckParameter1;
  v7[0] = 0i64;
  v9 = 0;
  v2 = BugCheckCode;
  v10 = 8;
  KeFrozenProcessorCount();
  if( (unsigned int)(KeNumberProcessors_0 - v3) <= 1 )
  {
    if( (unsigned __int8)off_140C00940[0]() != 1 && v2 != 265 )
    {
      if( BugCheckProgressEFICalled )
        return;
      BugCheckProgressEFICalled = 1;
      if( CrashdmpDumpBlock )
      {
        LODWORD(v7[0]) = v2;
        WORD2(v7[0]) = KUSER_SHARED_DATA.BootId;
        HIWORD(v7[0]) = *(_WORD *)(CrashdmpDumpBlock + 1408) + 1;
        ((void(__fastcall *)(const wchar_t *, __int64 *, __int64 *, __int64, int))IopReportBugCheckProgress)(
          L"BugCheckCode",
          BUGCHECK_EFI_GUID,
          v7,
          8i64,
          1);
        v4 = 8i64;
        v5 = &v8;
        v6 = L"BugCheckParameter1";
      }
      else
      {
        if( (unsigned int)HalGetEnvironmentVariableEx() )
        {
LABEL_10:
          BugCheckProgressEFICalled = 0;
          return;
        }
        LODWORD(v7[0]) = v2;
        ++HIWORD(v7[0]);
        WORD2(v7[0]) = KUSER_SHARED_DATA.BootId;
        v9 = v9 & 0xFFFBFE00 | 0x4004F;
        ((void(__fastcall *)(const wchar_t *, __int64 *, __int64 *, __int64, __int64))IopReportBugCheckProgress)(
          L"BugCheckCode",
          BUGCHECK_EFI_GUID,
          v7,
          8i64,
          1i64);
        ((void(__fastcall *)(const wchar_t *, __int64 *, UINT64 *, __int64, int))IopReportBugCheckProgress)(
          L"BugCheckParameter1",
          BUGCHECK_EFI_GUID,
          &v8,
          8i64,
          1);
        v4 = 4i64;
        v5 = (UINT64 *)&v9;
        v6 = L"BugCheckProgress";
      }
      ((void(__fastcall *)(const wchar_t *, __int64 *, UINT64 *, __int64, int))IopReportBugCheckProgress)(
        v6,
        BUGCHECK_EFI_GUID,
        v5,
        v4,
        1);
      goto LABEL_10;
    }
    BugCheckProgressEFICalled = 1;
  }
}

Referenced by:

KeBugCheck2