NtCreateProfile

INT64 __fastcall NtCreateProfile(
        VOID **ProfileHandle,
        VOID *Process,
        VOID *RangeBase,
        UINT64 RangeSize,
        UINT64 BucketSize,
        UINT64 *Buffer,
        UINT64 BufferSize,
        _KPROFILE_SOURCE ProfileSource,
        UINT64 Affinity){
  unsigned __int16 v13; 
  unsigned __int64 GroupAffinity; 
  UINT64 BucketSizea; 
  UINT64 BufferSizea; 
  _GROUP_AFFINITY AffinityArray; 
  *(_QWORD *)&AffinityArray.Group = 0i64;
  v13 = *((unsigned __int8 *)KeGetCurrentPrcb() + 208);
  GroupAffinity = Affinity;
  AffinityArray.Group = v13;
  if( Affinity == -1i64 )
    GroupAffinity = KeQueryGroupAffinity(v13);
  AffinityArray.Mask = GroupAffinity;
  LODWORD(BufferSizea) = BufferSize;
  LODWORD(BucketSizea) = BucketSize;
  return ExpProfileCreate(
           ProfileHandle,
           Process,
           RangeBase,
           RangeSize,
           BucketSizea,
           Buffer,
           BufferSizea,
           ProfileSource,
           1u,
           &AffinityArray,
           1u);
}

Referenced by:

No references.