ExpWnfAllocateScopeInstance

NTSTATUS __stdcall ExpWnfAllocateScopeInstance(
        _WNF_SCOPE_INSTANCE **Scope,
        _WNF_DATA_SCOPE DataScope,
        VOID *ScopeInstanceId,
        UINT64 InstanceufferSize){
  size_t v4; 
  VOID **PoolWithTag; 
  VOID **v9; 
  NTSTATUS result; 

  v4 = InstanceufferSize;
  PoolWithTag = ExAllocatePoolWithTag(1ui64, (unsigned int)(InstanceufferSize + 80), 543583831i64);
  v9 = PoolWithTag;
  if( !PoolWithTag )
    return -1073741670;
  memset(PoolWithTag, 0i64, 0x50u);
  *(_DWORD *)v9 = 5245186;
  *((_DWORD *)v9 + 4) = DataScope;
  *((_DWORD *)v9 + 5) = v4;
  if( v4 )
  {
    v9[3] = v9 + 10;
    memmove(v9 + 10, ScopeInstanceId, v4);
  }
  v9[6] = 0i64;
  v9[7] = 0i64;
  result = 0;
  *Scope = (_WNF_SCOPE_INSTANCE *)v9;
  return result;
}

Referenced by:

ExpWnfResolveScopeInstance