RtlRemoveDynamicEnforcedAddressRange
NTSTATUS __stdcall RtlRemoveDynamicEnforcedAddressRange(_RTL_BALANCED_NODE **Tree, INT64 a2, INT64 a3){
INT64 *v3;
NTSTATUS v7;
INT64 v9;
__int128 v10;
INT64 v11;
INT64 v12;
v9 = 0i64;
v3 = (INT64 *)*Tree;
v11 = a2;
v12 = a3;
v10 = 0i64;
if( !v3 )
return -1073741275;
do
{
v7 = RtlpDynamicEnforcedAddressRangesTreeCompare((INT64)&v9, (INT64)v3);
if( v7 >= 0 )
{
if( v7 <= 0 )
break;
v3 = (INT64 *)v3[1];
}
else
{
v3 = (INT64 *)*v3;
}
}
while( v3 );
if( !v3 )
return -1073741275;
if( v3[3] != a2 || v3[4] != a3 )
return -1073741800;
RtlAvlRemoveNode((UINT64 *)Tree, v3);
ExFreePoolWithTag(v3, 0);
return 0;
}Referenced by:
PspProcessDynamicEnforcedAddressRanges