WbMakeUserExecutablePagesKernelWritable
INT64 __fastcall WbMakeUserExecutablePagesKernelWritable(VOID *a1, UINT64 a2, MDL **a3, UINT64 *a4){
int v6;
unsigned int v7;
PMDL Mdl;
PMDL v9;
PVOID MappedSystemVa;
v6 = 0;
v7 = 0;
Mdl = IoAllocateMdl(a1, a2, 0, 0, 0i64);
v9 = Mdl;
if( Mdl )
{
MmProbeAndLockPagesPrivate((INT64)Mdl);
v6 = 1;
if( (v9->MdlFlags & 5) != 0 )
MappedSystemVa = v9->MappedSystemVa;
else
MappedSystemVa = MmMapLockedPagesSpecifyCache(v9, 0, MmCached, 0i64, 0, 0x40000020u);
if( MappedSystemVa )
{
if( a4 )
*a4 = (UINT64)MappedSystemVa;
if( a3 )
{
*a3 = v9;
v9 = 0i64;
}
}
else
{
v7 = -1073741801;
}
}
else
{
v7 = -1073741801;
}
if( v9 )
{
if( v6 )
MmUnlockPages(v9);
IoFreeMdl(v9);
}
return v7;
}Referenced by:
WbAllocateMemoryBlock
sub_1405D28BC