NtCreateSection

NTSTATUS __stdcall NtCreateSection(
        PVOID *SectionHandle,
        UINT64 DesiredAccess,
        OBJECT_ATTRIBUTES *ObjectAttributes,
        LARGE_INTEGER *MaximumSize,
        UINT64 SectionPageProtection,
        UINT64 AllocationAttributes,
        PVOID FileHandle){
  int v7; 
  int v8; 
  __int128 *Address; 
  LARGE_INTEGER *InputMaximumSize; 
  UINT64 a6; 
  ULONGLONG ullMultiplicand; 
  __int128 v14; 
  v7 = AllocationAttributes;
  v8 = 0;
  Address = 0i64;
  v14 = 0i64;
  if( (AllocationAttributes & 0x7F) != 0 )
  {
    v7 = AllocationAttributes & 0xFFFFFF80;
    *(_QWORD *)&v14 = 2i64;
    *((_QWORD *)&v14 + 1) = (unsigned int)(AllocationAttributes & 0x7F) - 1;
    Address = &v14;
    v8 = 1;
  }
  LODWORD(ullMultiplicand) = v8;
  LODWORD(a6) = v7;
  LODWORD(InputMaximumSize) = SectionPageProtection;
  return MiCreateSectionCommon(
           (UINT64)SectionHandle,
           DesiredAccess,
           ObjectAttributes,
           (UINT64 *)&MaximumSize->QuadPart,
           InputMaximumSize,
           a6,
           FileHandle,
           Address,
           ullMultiplicand);
}

Referenced by:

PfSnGetSectionObject
PfpFileBuildReadSupport