SmProcessResizeRequest

VOID __fastcall SmProcessResizeRequest(UINT64 StoreMgr, UINT64 UserData, UINT64 a3, UINT64 a4){
  bool v6; 
  int v7; 
  UINT64 v8; 
  _LARGE_INTEGER v9[2]; 
  char Object[24]; 
  int v11; 
  __int64 v12; 
  int v13; 
  __int64 v14; 
  int v15; 
  __int64 v16; 
  int v17; 

  *(_OWORD *)&v9[0].anonymous_0.LowPart = 0i64;
  if( (_DWORD)a3 == 24 && !(_BYTE)a4 && (unsigned __int8)*(_DWORD *)UserData == 6 )
  {
    KeInitializeEvent((INT64)Object, 0, 0);
    v12 = 0i64;
    v13 = 0;
    v16 = 0i64;
    v17 = 0;
    v6 = (*(_DWORD *)UserData & 0x100) == 0;
    v11 = 4;
    if( v6 )
      v7 = 5;
    else
      v7 = 4;
    v8 = *(unsigned int *)(UserData + 4);
    HIDWORD(v12) = v7;
    v15 = *(_DWORD *)(UserData + 8);
    v14 = *(_QWORD *)(UserData + 16);
    SMKM_STORE_MGR::SmStoreRequest(
      (_SMKM_STORE_LIST *)StoreMgr,
      v8,
      (__int64)&v11,
      (__int64)Object,
      (_QWORD *)v9);
    KeWaitForSingleObject((UINT64)Object, 0, 0, 0, 0i64);
    *(_DWORD *)(UserData + 8) = v15;
  }
}

Referenced by:

SmSetStoreInformation