KeAllocateXStateContext

NTSTATUS __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(0x200ui64, v3 + 63, 1986089816i64);
  Context->Buffer = PoolWithTag;
  if( !PoolWithTag )
    return -1073741801;
  Context->Length = v3;
  v6 = (_XSAVE_AREA *)(((unsigned __int64)PoolWithTag + 63) & 0xFFFFFFFFFFFFFFC0ui64);
  Context->Area = v6;
  memset(&v6->Header, 0i64, sizeof(v6->Header));
  return 0;
}

Referenced by:

KeSaveExtendedAndSupervisorState
VfCtxInit