MiLoadUserSymbols
VOID __stdcall MiLoadUserSymbols(_CONTROL_AREA *ControlArea, PVOID StartingAddress, _EPROCESS *Process){
_FILE_OBJECT *v6;
unsigned __int64 v7;
__int64 v8;
unsigned int v9;
int v10;
int v11;
UINT64 CapturedCheckSum;
struct _UNICODE_STRING UnicodeString;
UnicodeString = 0i64;
v6 = MiReferenceControlAreaFile(ControlArea);
v7 = (unsigned __int64)v6;
if( v6->FileName.Length )
{
v8 = *(_QWORD *)(*(_QWORD *)ControlArea + 56i64);
v9 = *(_DWORD *)(v8 + 68);
v10 = *(_DWORD *)(v8 + 60);
v11 = DbgUnicodeStringToAnsiString((STRING *)&UnicodeString, &v6->FileName);
MiDereferenceControlAreaFile((__int64)ControlArea, v7);
if( v11 == 1 )
{
LODWORD(CapturedCheckSum) = v10;
DbgLoadUserImageSymbols((STRING *)&UnicodeString, StartingAddress, (UINT64)Process, v9, CapturedCheckSum);
RtlFreeAnsiString(&UnicodeString);
}
}
else
{
MiDereferenceControlAreaFile((__int64)ControlArea, (unsigned __int64)v6);
}
}Referenced by:
MiMapViewOfImageSection