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