KdpSetContextState

INT64 __fastcall KdpSetContextState(INT64 a1, INT64 a2){
  struct _KPRCB *CurrentPrcb; 
  INT64 result; 
  CurrentPrcb = KeGetCurrentPrcb();
  *(_QWORD *)(a1 + 192) = *((_QWORD *)CurrentPrcb + 40);
  *(_QWORD *)(a1 + 200) = *((_QWORD *)CurrentPrcb + 41);
  *(_WORD *)(a1 + 232) = *(_WORD *)(a2 + 56);
  *(_WORD *)(a1 + 234) = *(_WORD *)(a2 + 58);
  *(_WORD *)(a1 + 236) = *(_WORD *)(a2 + 60);
  *(_WORD *)(a1 + 238) = *(_WORD *)(a2 + 62);
  *(_DWORD *)(a1 + 208) = *(_DWORD *)(a2 + 68);
  *(_WORD *)(a1 + 214) = 1;
  result = *(unsigned __int16 *)(a2 + 56);
  if( (_WORD)result == 16 || (_WORD)result == 51 )
  {
    result = 3i64;
    *(_WORD *)(a1 + 214) = 3;
  }
  return result;
}

Referenced by:

KdpReportCommandStringStateChange
KdpReportExceptionStateChange
KdpReportLoadSymbolsStateChange