VslFinishStartSecureProcessor

NTSTATUS __stdcall VslFinishStartSecureProcessor(UINT64 ProcessorNumber){
  unsigned int v1; 
  VOID **PoolWithTag; 
  _KPRCB *Prcb; 
  VOID *v5; 
  int v6; 
  INT64 v7[10]; 
  INT64 v8[14]; 

  v1 = ProcessorNumber;
  memset(v8, 0i64, 0x68u);
  memset(v7, 0i64, 0x48u);
  PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x10ui64, 1416850774i64);
  if( !PoolWithTag )
    return -1073741670;
  Prcb = KeGetPrcb(v1);
  *(_DWORD *)PoolWithTag = v1;
  LODWORD(v5) = MmGetPhysicalAddress(Prcb[-1].PrcbPad141[479]);
  PoolWithTag[1] = v5;
  v6 = VslpLockPagesForTransfer((INT64)v7, (INT64)PoolWithTag, 0x10ui64, 0i64, 0);
  if( v6 >= 0 )
  {
    v8[1] = v7[0];
    v8[2] = v7[7];
    v6 = VslpEnterIumSecureMode(2u, 3, 0i64, (INT64)v8);
    VslpUnlockPagesForTransfer((INT64 **)v7);
  }
  ExFreePoolWithTag(PoolWithTag, 0);
  return v6;
}

Referenced by:

KeWriteProtectProcessorState