KdpPrintString
UINT8 __fastcall KdpPrintString(_STRING *Output){
UINT64 Length;
char *Buffer;
UINT64 *v3;
UINT64 v4;
UINT64 Flags;
UINT64 ActualSize;
__int128 v8;
__int128 v9;
int v10;
__int16 v11;
__int16 v12;
int v13;
int v14;
Length = Output->Length;
Buffer = Output->Buffer;
LODWORD(ActualSize) = 0;
v14 = 0;
LODWORD(Flags) = 4;
v8 = 0i64;
v9 = 0i64;
KdpCopyMemoryChunks((UINT64)Buffer, KdpMessageBuffer, Length, 0i64, Flags, &ActualSize);
if( (unsigned __int64)(unsigned int)ActualSize + 16 > (unsigned int)KdTransportMaxPacketSize )
LODWORD(ActualSize) = KdTransportMaxPacketSize - 16;
v11 = KeProcessorLevel;
v10 = 12848;
v12 = *((_DWORD *)KeGetPcr() + 105);
LOWORD(v9) = 16;
*((_QWORD *)&v9 + 1) = &v10;
v13 = ActualSize;
LOWORD(v8) = ActualSize;
*((_QWORD *)&v8 + 1) = KdpMessageBuffer;
KdSendPacket(3i64, &v9, &v8, &KdpContext);
return KdpPollBreakInWithPortLock(v4, v3);
}Referenced by:
KdRefreshDebuggerNotPresent
KdpPrint