RtlLookupElementGenericTableAvl

NTSTATUS __stdcall RtlLookupElementGenericTableAvl(RTL_AVL_TABLE *Table, PVOID Buffer){
  NTSTATUS v2; 
  _RTL_BALANCED_LINKS *i; 
  _RTL_GENERIC_COMPARE_RESULTS v6; 
  int v7; 
  NTSTATUS v8; 
  v2 = 0;
  LODWORD(i) = 0;
  if( Table->NumberGenericTableElements )
  {
    for( i = Table->BalancedRoot.RightChild; ; i = i->LeftChild )
    {
      while( 1 )
      {
        v6 = Table->CompareRoutine(Table, Buffer, &i[1]);
        if( v6 == GenericLessThan )
          break;
        if( v6 != GenericGreaterThan )
        {
          v7 = 1;
          goto LABEL_10;
        }
        if( !i->RightChild )
        {
          v7 = 3;
          goto LABEL_10;
        }
        i = i->RightChild;
      }
      if( !i->LeftChild )
        break;
    }
    v7 = 2;
  }
  else
  {
    v7 = 0;
  }
LABEL_10:
  v8 = (_DWORD)i + 32;
  if( v7 == 1 )
    return v8;
  return v2;
}

Referenced by:

IopCleanupFileObjectIosbRange
PiDcHandleDeviceEvent
PiDmLookupObject
PiDqQueryApplyObjectEvent
PiLookupInDDBCache
PiPnpRtlObjectEventWorker
PiSwFindBusRelations
PiSwFindSwDevice
PiUpdateDriverDBCache
PnpDeviceObjectFromDeviceInstanceWithTag
PopAvlFindOrMakeStatsForPowerRequest
PopAvlFindOrMakeStatsForScenarioType
PopDirectedDripsUmMarkTestDevices
PopHandleConvergedPowerRequestUpdate
PopNotifySessionUserPowerRequestCreated
PopPowerRequestDeleteEntryById
PopPowerRequestFindEntryById