RtlCSparseBitmapCleanup
NTSTATUS __stdcall RtlCSparseBitmapCleanup(INT64 a1){
_KAPC_STATE *v1;
unsigned __int64 v3;
__int64 v4;
NTSTATUS result;
UINT64 v6;
UINT64 v7;
v1 = *(_KAPC_STATE **)(a1 + 8);
if( v1 )
{
v3 = (((unsigned __int64)(*(_QWORD *)(a1 + 16) + 7i64) >> 3) + 4095) & 0xFFFFFFFFFFFFF000ui64;
if( *(_QWORD *)a1 )
{
RtlpEnvRegisterFaultRange(v1, (_KAPC_STATE *)v3);
v1 = *(_KAPC_STATE **)(a1 + 8);
}
v4 = 1i64 << *(_BYTE *)(a1 + 51);
v7 = (UINT64)v1;
v6 = ~(v4 - 1) & (v4 + (((((v3 >> 12) + 7) >> 3) + 4095) & 0xFFFFFFFFFFFFF000ui64) + v3 - 1);
return RtlpHpEnvFreeVA(&v7, &v6, 0x8000i64);
}
return result;
}Referenced by:
ExCleanupSessionHeapManager