IoSaveBugCheckRecoveryStatus

VOID __fastcall IoSaveBugCheckRecoveryStatus(INT64 *a1){
  int v2; 
  char v3; 
  int v4; 
  int v5; 
  __int128 *v6; 
  __int128 v7[2]; 
  unsigned int BootId; 
  char v9; 
  __int128 v10[2]; 
  char v11; 
  __int128 Src[2]; 
  char v13; 
  v13 = 0;
  v11 = 0;
  v2 = *(_DWORD *)a1;
  v3 = 0;
  BootId = 0;
  v4 = v2 | 0x2A00;
  v9 = 0;
  memset(Src, 0, sizeof(Src));
  memset(v10, 0, sizeof(v10));
  memset(v7, 0, sizeof(v7));
  if( v2 )
  {
    if( v2 != 1 )
    {
      v3 = *((_BYTE *)a1 + 8);
      v5 = 5;
      v6 = v7;
      BootId = KUSER_SHARED_DATA.BootId;
      v9 = v3;
      goto LABEL_7;
    }
    v6 = v10;
    v11 = *((_BYTE *)a1 + 8);
  }
  else
  {
    v6 = Src;
    v13 = *((_BYTE *)a1 + 8);
  }
  v5 = 1;
LABEL_7:
  *((_DWORD *)v6 + 3) = 0;
  *((_DWORD *)v6 + 2) = v5 + 32;
  *(_DWORD *)v6 = 1733060695;
  *((_DWORD *)v6 + 1) = 1;
  *((_DWORD *)v6 + 5) = -2147483606;
  *((_DWORD *)v6 + 4) = v4;
  *((_DWORD *)v6 + 6) = 8;
  *((_DWORD *)v6 + 7) = v5;
  WheaLogInternalEvent(v6);
  if( v3 )
    IopWriteBugCheckSelEntries();
}

Referenced by:

KiAttemptBugcheckRecovery