PiDrvDbFindNode

NTSTATUS __stdcall PiDrvDbFindNode(PCUNICODE_STRING String2){
  INT64 *v1; 
  INT64 v2; 
  NTSTATUS v3; 
  INT64 *v4; 
  INT64 v6; 

  v2 = PiDrvDbNodeList;
  v3 = 0;
  v4 = v1;
  if( (INT64 *)PiDrvDbNodeList == &PiDrvDbNodeList )
    return -1073741275;
  do
  {
    v6 = v2;
    if( (unsigned __int8)RtlEqualUnicodeString((PCUNICODE_STRING)(v2 + 16), String2, 1u) )
      break;
    v2 = *(_QWORD *)v2;
    v6 = 0i64;
  }
  while( (INT64 *)v2 != &PiDrvDbNodeList );
  if( !v6 )
    return -1073741275;
  *v4 = v6;
  return v3;
}

Referenced by:

PiDrvDbMountNode
PiDrvDbQuerySystemPathWin32
PiDrvDbResolveKeyFilePaths
PiDrvDbUnmountNode