KiSaveInitialProcessorControlState
NTSTATUS __stdcall KiSaveInitialProcessorControlState(INT64 RCX){
unsigned __int64 v1;
unsigned __int64 v2;
unsigned __int64 v3;
unsigned __int64 v4;
__int64 CurrentIrql;
v1 = __readcr0();
*(_QWORD *)RCX = v1;
v2 = __readcr2();
*(_QWORD *)(RCX + 8) = v2;
v3 = __readcr3();
*(_QWORD *)(RCX + 16) = v3;
v4 = __readcr4();
*(_QWORD *)(RCX + 24) = v4;
CurrentIrql = KeGetCurrentIrql();
*(_QWORD *)(RCX + 160) = CurrentIrql;
__sgdt((void *)(RCX + 86));
__sidt((void *)(RCX + 102));
__asm
{
str word ptr [rcx+70h]
sldt word ptr [rcx+72h]
}
*(_DWORD *)(RCX + 116) = _mm_getcsr();
return CurrentIrql;
}Referenced by:
KiInitializeBootStructures