PspMapView
NTSTATUS __fastcall PspMapView(INT64 a1){
KPROCESSOR_MODE v1;
ACCESS_MASK v2;
void *v4;
NTSTATUS result;
struct _DMA_ADAPTER *v6;
NTSTATUS v7;
PADAPTER_OBJECT DmaAdapter;
v1 = *(_BYTE *)(a1 + 52);
v2 = *(_DWORD *)(a1 + 48);
v4 = *(void **)(a1 + 16);
DmaAdapter = 0i64;
result = ObReferenceObjectByHandle(v4, v2, MmSectionObjectType, v1, (PVOID *)&DmaAdapter, 0i64);
if( result >= 0 )
{
v6 = DmaAdapter;
v7 = MmMapViewOfSection((_LOADER_PARAMETER_BLOCK *)DmaAdapter, *((_QWORD *)KeGetCurrentThread() + 23));
if( v7 < 0 )
HalPutDmaAdapter(v6);
else
*(_QWORD *)(a1 + 16) = v6;
return v7;
}
return result;
}Referenced by:
PsDispatchIumService