KdpReadControlSpace
INT64 __fastcall KdpReadControlSpace(INT64 a1, INT64 a2, UINT64 a3){
unsigned __int64 v3;
unsigned int v6;
UINT64 v7;
UINT64 v8;
void *v9;
NTSTATUS v10;
bool v11;
__int64 v13[3];
UINT64 Actual;
Actual = a3;
v3 = *(unsigned int *)(a1 + 24);
v13[0] = 56i64;
v13[1] = a1;
if( v3 > (unsigned __int64)(unsigned int)KdTransportMaxPacketSize - 56 )
LODWORD(v3) = KdTransportMaxPacketSize - 56;
v6 = *(unsigned __int16 *)(a2 + 2);
v7 = *(unsigned __int16 *)(a1 + 6);
if( (unsigned int)v3 <= v6 )
v6 = v3;
v8 = *(_QWORD *)(a1 + 16);
v9 = *(void **)(a2 + 8);
LODWORD(Actual) = v6;
v10 = KdpSysReadControlSpace(v7, v8, v9, v6, &Actual);
v11 = (unsigned int)Actual < v6;
*(_DWORD *)(a1 + 8) = v10;
if( v11 )
v6 = Actual;
*(_WORD *)a2 = v6;
*(_DWORD *)(a1 + 28) = v6;
return KdSendPacket(2i64, v13, a2, &KdpContext);
}Referenced by:
KdpSendWaitContinue