SmProcessResizeRequest

INT64 __fastcall SmProcessResizeRequest(INT64 a1, INT64 a2, INT64 a3, CHAR a4){
  INT64 result; 
  bool v7; 
  int v8; 
  UINT64 v9; 
  union _LARGE_INTEGER v10[2]; 
  struct _KEVENT Event; 
  int v12; 
  __int64 v13; 
  int v14; 
  __int64 v15; 
  int v16; 
  __int64 v17; 
  int v18; 
  *(_OWORD *)&v10[0].LowPart = 0i64;
  if( (_DWORD)a3 != 24 )
    return 3221225990i64;
  if( a4 )
    return 3221225485i64;
  if( (unsigned __int8)*(_DWORD *)a2 != 6 )
    return 3221225561i64;
  KeInitializeEvent(&Event, NotificationEvent, 0);
  v13 = 0i64;
  v14 = 0;
  v17 = 0i64;
  v18 = 0;
  v7 = (*(_DWORD *)a2 & 0x100) == 0;
  v12 = 4;
  if( v7 )
    v8 = 5;
  else
    v8 = 4;
  v9 = *(unsigned int *)(a2 + 4);
  HIDWORD(v13) = v8;
  v16 = *(_DWORD *)(a2 + 8);
  v15 = *(_QWORD *)(a2 + 16);
  SMKM_STORE_MGR::SmStoreRequest(a1, v9, (__int64)&v12, (__int64)&Event, (_QWORD *)v10);
  KeWaitForSingleObject(&Event, Executive, 0, 0, 0i64);
  result = v10[0].LowPart;
  *(_DWORD *)(a2 + 8) = v16;
  return result;
}

Referenced by:

SmSetStoreInformation