VslFinishStartSecureProcessor
NTSTATUS __stdcall VslFinishStartSecureProcessor(UINT64 ProcessorNumber){
ULONG v1;
PHYSICAL_ADDRESS *PoolWithTag;
__int64 v4;
NTSTATUS v5;
INT64 v6[10];
INT64 result[14];
v1 = ProcessorNumber;
memset((INT64)result, 0i64);
memset((INT64)v6, 0i64);
PoolWithTag = (PHYSICAL_ADDRESS *)ExAllocatePoolWithTag(NonPagedPoolNx, 0x10ui64, 0x54736D56ui64);
if( !PoolWithTag )
return -1073741670;
KeGetPrcb(v1);
PoolWithTag->LowPart = v1;
PoolWithTag[1] = MmGetPhysicalAddress(*(PVOID *)(v4 - 328));
v5 = VslpLockPagesForTransfer((INT64)v6, (INT64)PoolWithTag, 0x10ui64, 0i64, 0);
if( v5 >= 0 )
{
result[1] = v6[0];
result[2] = v6[7];
v5 = VslpEnterIumSecureMode(2u, 3, 0i64, (INT64)result);
VslpUnlockPagesForTransfer((INT64 **)v6);
}
ExFreePoolWithTag(PoolWithTag, 0);
return v5;
}Referenced by:
KeWriteProtectProcessorState