ViRemLockDeleteFirstTreeNode
UINT64 __stdcall ViRemLockDeleteFirstTreeNode(PVOID Address, UINT64 a2){
void *v2;
UINT64 v3;
INT64 v4;
CHAR *v5;
CHAR *v6;
__int128 v8;
v2 = 0i64;
v8 = 0i64;
VfAvlInitializeLockContext((INT64)&v8, 0i64);
v5 = VfAvlLookupTreeNode(&ViRemLockAvl, (INT64)&v8, v3, v4);
v6 = v5;
if( v5 )
v2 = (void *)VfAvlDeleteTreeNode((INT64)&ViRemLockAvl, (INT64)&v8, *(_QWORD *)v5, 0i64);
VfAvlCleanupLockContext((INT64)&v8);
if( !v6 )
return 0i64;
if( v2 )
{
if( dword_140D4A520 == 1 )
ExFreeToNPagedLookasideList((NPAGED_LOOKASIDE_LIST *)ViAvlNodeLookaside, v2);
else
VfUtilFreePoolCheckIRQL(v2);
}
return 1i64;
}Referenced by:
VerifierIoInitializeRemoveLockEx
VfRemLockDeleteMemoryRange