KeAllocateXStateContext

INT64 __stdcall KeAllocateXStateContext(XSTATE_CONTEXT *Context, UINT64 Length){
  unsigned int v2; 
  unsigned int v3; 
  void *PoolWithTag; 
  _XSAVE_AREA *v6; 
  v3 = 576;
  if( v2 >= 0x240 )
    v3 = v2;
  PoolWithTag = ExAllocatePoolWithTag(NonPagedPoolNx, v3 + 63, 0x76615358ui64);
  Context->Buffer = PoolWithTag;
  if( !PoolWithTag )
    return 3221225495i64;
  Context->Length = v3;
  v6 = (_XSAVE_AREA *)(((unsigned __int64)PoolWithTag + 63) & 0xFFFFFFFFFFFFFFC0ui64);
  Context->Area = v6;
  memset((INT64)&v6->Header, 0i64);
  return 0i64;
}

Referenced by:

KeSaveExtendedAndSupervisorState
VfCtxInit