SmProcessSystemStoreTrimRequest

NTSTATUS __stdcall SmProcessSystemStoreTrimRequest(VOID *UserData, UINT64 UserDataLength, INT8 RequestorMode){
  __int64 v5; 
  _DWORD **v6; 
  __int64 v7; 
  __int128 v8; 

  if( (_DWORD)UserDataLength != 16 )
    return -1073741306;
  if( RequestorMode )
  {
    if( ((unsigned __int8)UserData & 7) != 0 )
      ExRaiseDatatypeMisalignment();
    v5 = 0x7FFFFFFF0000i64;
    if( (unsigned __int64)UserData < 0x7FFFFFFF0000i64 )
      v5 = (__int64)UserData;
    *(_BYTE *)v5 = *(_BYTE *)v5;
    *(_BYTE *)(v5 + 15) = *(_BYTE *)(v5 + 15);
  }
  v8 = *(_OWORD *)UserData;
  if( (unsigned __int8)*(_OWORD *)UserData != 1 )
    return -1073741735;
  if( (v8 & 0xFFFFFF00) != 0 || !*((_QWORD *)&v8 + 1) )
    return -1073741811;
  if( dword_140D231B0 == -1 )
    return -1073741275;
  v6 = (_DWORD **)SmKmStoreRefFromStoreIndex((__int64)SmGlobals, dword_140D231B0 & 0x3FF);
  return SMKM_STORE_MGR::SmTrimWsStore(v7, *v6, *((__int64 *)&v8 + 1));
}

Referenced by:

SmSetStoreInformation