HalpIsHeap64KRegionExecutable
CHAR __stdcall HalpIsHeap64KRegionExecutable(INT64 a1){
unsigned __int64 v1;
unsigned __int64 v2;
union {unsigned __int64 Long;volatile unsigned __int64 VolatileLong;_MMPTE_HARDWARE Hard;_MMPTE_PROTOTYPE Proto;_MMPTE_SOFTWARE Soft;_MMPTE_TIMESTAMP TimeStamp;_MMPTE_TRANSITION Trans;_MMPTE_SUBSECTION Subsect;_MMPTE_LIST List;} v4;
v1 = a1 & 0xFFFFFFFFFFFF0000ui64;
v2 = v1 + 0x10000;
if( v1 < (unsigned __int64)VirtualAddress || v2 > qword_140C50668 )
return 1;
while( v1 < v2 )
{
v4.Long = (unsigned __int64)MmGetPteBase()[(v1 >> 12) & 0xFFFFFFFFFi64].u;
if( (v4.Long & 1) != 0 && v4.Hard._bf_0 >= 0 )
return 1;
v1 += 4096i64;
}
return 0;
}Referenced by:
HalpMap