ExpTranslateDriverEntryNameToId

UINT64 __stdcall ExpTranslateDriverEntryNameToId(PWCHAR Name, UINT64 *Id){
  UINT16 *v4; 
  int v5; 
  unsigned int i; 
  UINT16 v7; 
  int v8; 
  if( towlower(*Name) != 100
    || towlower(Name[1]) != 114
    || towlower(Name[2]) != 105
    || towlower(Name[3]) != 118
    || towlower(Name[4]) != 101
    || towlower(Name[5]) != 114 )
  {
    return 0i64;
  }
  v4 = Name + 6;
  v5 = 0;
  for( i = 6; i < 0xA; ++i )
  {
    v7 = towlower(*v4);
    if( (unsigned __int16)(v7 - 48) > 9u )
    {
      if( (unsigned __int16)(v7 - 97) > 5u )
        return 0i64;
      v8 = 16 * v5 - 87;
    }
    else
    {
      v8 = 16 * v5 - 48;
    }
    v5 = v7 + v8;
    ++v4;
  }
  if( Name[10] )
    return 0i64;
  *(_DWORD *)Id = v5;
  return 1i64;
}

Referenced by:

ExpIsDriverEntry
NtEnumerateDriverEntries