DrvDbFindDatabaseNode

__int64 __fastcall DrvDbFindDatabaseNode(__int64 a1, const WCHAR *a2, const UNICODE_STRING **a3){
  int inited; 
  const UNICODE_STRING **v6; 
  const UNICODE_STRING *i; 
  UNICODE_STRING String2; 
  *a3 = 0i64;
  String2 = 0i64;
  inited = RtlInitUnicodeStringEx(&String2, (WCHAR *)a2);
  if( inited >= 0 )
  {
    v6 = (const UNICODE_STRING **)(a1 + 16);
    inited = -1073741772;
    for( i = *v6; i != (const UNICODE_STRING *)v6; i = *(const UNICODE_STRING **)&i->Length )
    {
      if( RtlEqualUnicodeString((UNICODE_STRING *)&i[1], &String2, 1u) )
      {
        inited = 0;
        *a3 = i;
        return(unsigned int)inited;
      }
    }
  }
  return(unsigned int)inited;
}

Referenced by:

DrvDbDispatchDriverDatabase
DrvDbGetDriverDatabaseMappedProperty
DrvDbGetDriverDatabaseMappedPropertyKeys
DrvDbGetObjectDatabaseNode
DrvDbOpenDriverDatabaseRegKey
DrvDbRegisterDatabase
DrvDbSetDriverDatabaseMappedProperty
DrvDbSuspendDatabase
DrvDbUnregisterDatabase