MmWriteTriageInformation

void __fastcall MmWriteTriageInformation(void *Destination){
  int v2; 
  __int64 v3; 
  __int128 v4; 
  __int128 v5; 
  __int128 v6; 
  __int128 v7; 
  __int128 v8; 
  enum _NT_PRODUCT_TYPE ProductType; 
  ProductType = 0;
  v2 = VerifierTriageActionTaken;
  *(_QWORD *)&v4 = 0x5000000001i64;
  DWORD2(v4) = MmSpecialPoolTag;
  RtlGetNtProductType(&ProductType);
  if( ProductType != NtProductWinNt
    || ExVerifySuite(EmbeddedNT)
    || ExVerifySuite(EmbeddedRestricted)
    || ExVerifySuite(SecurityAppliance) )
  {
    v2 |= 0x80000000;
  }
  LODWORD(v5) = MmVerifierData;
  HIDWORD(v4) = v2;
  DWORD1(v5) = ((unsigned int)MiFlags >> 1) & 1;
  *((_QWORD *)&v5 + 1) = qword_140C4EC70;
  *(_QWORD *)&v6 = qword_140C4C608;
  *((_QWORD *)&v6 + 1) = qword_140C4EC78;
  *(_QWORD *)&v7 = qword_140C4EC68;
  *((_QWORD *)&v7 + 1) = qword_140C527E8;
  *(_QWORD *)&v8 = qword_140C52300;
  v3 = qword_140C52308;
  *(_OWORD *)Destination = v4;
  *((_QWORD *)&v8 + 1) = v3;
  *((_OWORD *)Destination + 1) = v5;
  *((_OWORD *)Destination + 2) = v6;
  *((_OWORD *)Destination + 3) = v7;
  *((_OWORD *)Destination + 4) = v8;
}

Referenced by:

IoFillTriageDumpBuffer