ST_STORE::StDmPageError

__int64 __fastcall ST_STORE::StDmPageError(
        VOID *VirtualAddress,
        PVOID BugCheckParameter3,
        PVOID BugCheckParameter4,
        __int64 a4,
        __int64 a5,
        int a6){
  UINT64 v10; 
  VOID *v11; 
  __int64 v12; 
  unsigned int v13; 
  __int64 result; 
  VOID *CorruptionFlags; 

  v11 = SmEtwEnabled((unsigned __int8)*((_DWORD *)VirtualAddress + 194) == 0 ? SmEtwKeywordStoreDiag : SmEtwKeywordStoreOps);
  if( v11 )
  {
    if( a6 != -1073741116 )
      v10 = 1i64;
    LOWORD(CorruptionFlags) = *(_WORD *)(v12 + 4);
    SmEtwLogStoreCorruption(v11, v10, VirtualAddress, (UINT16)BugCheckParameter3, CorruptionFlags);
  }
  v13 = (*((_DWORD *)VirtualAddress + 208) >> 5) & 3;
  if( v13 >= 2 && (_BYTE)KdDebuggerEnabled )
    __debugbreak();
  if( (*((_DWORD *)VirtualAddress + 194) & 0x40000) == 0
    || a6 != -1073741116
    || (result = ST_STORE::StDmHandleDecompressionFailure(
                   (__int64)VirtualAddress,
                   (char *)BugCheckParameter3,
                   (char *)BugCheckParameter4,
                   (int *)a4,
                   a5),
        !(_DWORD)result) )
  {
    if( v13 >= 3 )
      KeBugCheckEx(0x12Bu, (PVOID)a6, (PVOID)*(unsigned __int16 *)(a4 + 4), BugCheckParameter3, BugCheckParameter4);
    return 0i64;
  }
  return result;
}

Referenced by:

No references.