RealPredecessor

_RTL_BALANCED_LINKS *__stdcall RealPredecessor(_RTL_BALANCED_LINKS *Links){
  _RTL_BALANCED_LINKS *result; 
  _RTL_BALANCED_LINKS *i; 

  result = Links->LeftChild;
  if( result )
  {
    for( i = result->RightChild; i; i = i->RightChild )
      result = i;
  }
  else
  {
    for( result = Links->Parent; result->LeftChild == Links; result = result->Parent )
      Links = result;
    if( result->RightChild != Links || result->Parent == result )
      return 0i64;
  }
  return result;
}

Referenced by:

RtlDeleteElementGenericTableAvl
RtlDeleteElementGenericTableAvlEx
RtlGetElementGenericTableAvl
RtlLookupFirstMatchingElementGenericTableAvl