KdpGetContextEx
VOID __stdcall KdpGetContextEx(_DBGKD_MANIPULATE_STATE64 *m, _STRING *AdditionalData, _CONTEXT *Context){
unsigned int v3;
unsigned int v4;
unsigned int Length;
unsigned int v8;
unsigned int v9;
int v10;
_QWORD v11[3];
v3 = *((_DWORD *)m + 4);
v4 = *((_DWORD *)m + 5);
v11[0] = 56i64;
v11[1] = m;
KdpGetContext(m, AdditionalData, Context);
*((_DWORD *)m + 6) = 0;
if( !*((_DWORD *)m + 2) )
{
Length = AdditionalData->Length;
v8 = Length;
if( v3 < Length )
v8 = v3;
v9 = Length - v8;
if( v4 <= v9 )
v9 = v4;
if( v8 && v9 )
KdpQuickMoveMemory(AdditionalData->Buffer, &AdditionalData->Buffer[v8], v9);
*((_DWORD *)m + 4) = v8;
*((_DWORD *)m + 5) = AdditionalData->Length;
*((_DWORD *)m + 6) = v9;
v10 = AdditionalData->Length;
if( v9 == v10 || v9 && v9 + v8 == v10 )
KdpContextSent = 1;
AdditionalData->Length = v9;
}
KdSendPacket(2i64, v11, AdditionalData, &KdpContext);
}Referenced by:
KdpSendWaitContinue