CmFcpManagerCreateSection

__int64 __fastcall CmFcpManagerCreateSection(_LARGE_INTEGER a1, __int64 a2, void *a3, _QWORD *a4){
  NTSTATUS Section; 
  PVOID *Object; 
  INT64 v10; 
  _LARGE_INTEGER MaximumSize; 
  _OBJECT_ATTRIBUTES ObjectAttributes; 
  VOID *SectionHandle; 
  PVOID v14; 

  memset(&ObjectAttributes.Length + 1, 0, 20);
  *(&ObjectAttributes.Attributes + 1) = 0;
  SectionHandle = 0i64;
  ObjectAttributes.SecurityQualityOfService = 0i64;
  ObjectAttributes.SecurityDescriptor = a3;
  MaximumSize = a1;
  LODWORD(v10) = 0x8000000;
  LODWORD(Object) = 4;
  ObjectAttributes.Length = 48;
  ObjectAttributes.Attributes = 512;
  Section = ZwCreateSection(
              (UINT64)&SectionHandle,
              6ui64,
              (INT64)&ObjectAttributes,
              (INT64 *)&MaximumSize,
              (INT64)Object,
              v10,
              0i64);
  if( Section >= 0 )
  {
    v14 = 0i64;
    Section = ObReferenceObjectByHandle(SectionHandle, 6ui64, MmSectionObjectType, 0, &v14, 0i64);
    if( Section >= 0 )
    {
      Section = 0;
      a4[1] = v14;
      *a4 = a2;
      a4[2] = a1.QuadPart;
    }
  }
  if( SectionHandle )
    ZwClose((_HANDLE)SectionHandle);
  return(unsigned int)Section;
}

Referenced by:

CmFcManagerUpdateFeatureConfigurations
CmFcManagerUpdateFeatureUsageSubscriptions
CmFcpManagerCreateSectionFromBuffer