RtlAddDynamicEHContinuationTarget
NTSTATUS __stdcall RtlAddDynamicEHContinuationTarget(_RTL_AVL_TREE *Tree, _RTL_BALANCED_NODE *a2){
_RTL_BALANCED_NODE *Root;
BOOL v3;
NTSTATUS v6;
_RTL_BALANCED_NODE *v7;
_RTL_BALANCED_NODE *Pool2;
Root = Tree->Root;
v3 = 0;
if( Tree->Root )
{
while( 1 )
{
v6 = MiHotPatchImageTreeCompare((UINT64)a2, (INT64)Root);
if( v6 <= 0 )
{
if( v6 >= 0 )
return -1073741800;
v7 = Root->Children[0];
if( !Root->Children[0] )
break;
}
else
{
v7 = Root->Children[1];
if( !v7 )
{
v3 = 1;
break;
}
}
Root = v7;
}
}
Pool2 = (_RTL_BALANCED_NODE *)ExAllocatePool2(257i64, 0x20ui64, 0x4E484544ui64);
if( !Pool2 )
return -1073741801;
Pool2[1].Children[0] = a2;
RtlAvlInsertNodeEx(&Tree->Root, (UINT64)Root, v3, Pool2);
return 0;
}Referenced by:
PspProcessDynamicEHContinuationTargets