KdpReadVirtualMemory
INT64 __fastcall KdpReadVirtualMemory(INT64 a1, INT64 a2, UINT64 a3){
unsigned __int64 v3;
unsigned int v6;
void *v7;
UINT64 v8;
int v9;
UINT64 Flags;
__int128 v12;
UINT64 ActualSize;
ActualSize = a3;
v3 = *(unsigned int *)(a1 + 24);
v12 = 0i64;
if( v3 > (unsigned __int64)(unsigned int)KdTransportMaxPacketSize - 56 )
LODWORD(v3) = KdTransportMaxPacketSize - 56;
v6 = *(unsigned __int16 *)(a2 + 2);
v7 = *(void **)(a2 + 8);
v8 = *(_QWORD *)(a1 + 16);
if( (unsigned int)v3 > v6 )
LODWORD(v3) = v6;
LODWORD(Flags) = 4;
LODWORD(ActualSize) = v3;
*(_DWORD *)(a1 + 8) = KdpCopyMemoryChunks(v8, v7, (unsigned int)v3, 0i64, Flags, &ActualSize);
v9 = ActualSize;
*(_WORD *)a2 = ActualSize;
*(_DWORD *)(a1 + 28) = v9;
LOWORD(v12) = 56;
*((_QWORD *)&v12 + 1) = a1;
return KdSendPacket(2i64, &v12, a2, &KdpContext);
}Referenced by:
KdpSendWaitContinue