HvlpHvIdentityInfoCallback

VOID __stdcall HvlpHvIdentityInfoCallback(
        _KBUGCHECK_CALLBACK_REASON Reason,
        _KBUGCHECK_REASON_CALLBACK_RECORD *Record,
        PVOID ReasonSpecificData,
        UINT64 ReasonSpecificDataLength){
  __int64 v4; 
  _DWORD *v6; 
  INT32 *v7; 
  _DWORD *v8; 
  v4 = *((_QWORD *)ReasonSpecificData + 4);
  *((_OWORD *)ReasonSpecificData + 1) = HvlpSecondaryDumpDataGuid;
  if( v4 )
  {
    if( *((_DWORD *)ReasonSpecificData + 2) < 0x44u )
    {
      v8 = *(_DWORD **)ReasonSpecificData;
      *((_DWORD *)ReasonSpecificData + 10) = 0;
      *((_QWORD *)ReasonSpecificData + 4) = v8;
    }
    else
    {
      v6 = *(_DWORD **)ReasonSpecificData;
      v7 = (INT32 *)(*(_QWORD *)ReasonSpecificData + 8i64);
      *v6 = 1213614404;
      v6[1] = 68;
      HviGetHypervisorVendorAndMaxFunction(v7);
      HviGetHypervisorInterface(v6 + 6);
      HviGetHypervisorVersion(v6 + 10);
      v6[14] = HvlpFlags;
      v6[15] = HvlpRootFlags;
      v6[16] = HvlpEnlightenments;
      *((_QWORD *)ReasonSpecificData + 4) = v6;
      *((_DWORD *)ReasonSpecificData + 10) = 68;
    }
  }
  else
  {
    *((_DWORD *)ReasonSpecificData + 10) = 68;
  }
}

Referenced by:

No references.