KdpSetContext
INT64 __fastcall KdpSetContext(INT64 a1, UINT16 *a2, CONTEXT *a3){
__int64 v4;
_CONTEXT *v5;
__int128 v7;
UINT64 ContextFlags;
v7 = 0i64;
LODWORD(ContextFlags) = 0;
v4 = *(unsigned __int16 *)(a1 + 6);
*((_QWORD *)&v7 + 1) = a1;
LOWORD(v7) = 56;
if( (unsigned __int16)v4 < 0x500u && *(&KiProcessorBlock + v4) && KdpContextSent )
{
*(_DWORD *)(a1 + 8) = 0;
if( (_WORD)v4 != (unsigned __int16)*((_DWORD *)KeGetPcr() + 105) )
a3 = (CONTEXT *)*((_QWORD *)*(&KiProcessorBlock + v4) + 4280);
v5 = (_CONTEXT *)*((_QWORD *)a2 + 1);
KdpSanitizeContextFlags(v5, *a2, &ContextFlags);
KdpCopyContext(a3, (unsigned int)ContextFlags, v5);
}
else
{
*(_DWORD *)(a1 + 8) = -1073741823;
}
return KdSendPacket(2i64, &v7, 0i64, &KdpContext);
}Referenced by:
KdpSendWaitContinue