PnpGetObjectPropertyLocalesWorker

__int64 __fastcall PnpGetObjectPropertyLocalesWorker(
        __int64 a1,
        __int64 a2,
        unsigned int a3,
        __int64 a4,
        __int64 a5,
        wchar_t *a6,
        unsigned int a7,
        unsigned int *a8,
        int a9){
  char *v9; 
  int MappedPropertyLocalesDispatch; 
  wchar_t *v14; 
  unsigned int v15; 
  void *Handle[2]; 
  Handle[0] = 0i64;
  v9 = (char *)a4;
  if( (_WORD)a9 )
    return(unsigned int)-1073741811;
  v14 = a6;
  if( a6 )
  {
    v15 = a7;
    v14 = (wchar_t *)(-(__int64)(a7 != 0) & (unsigned __int64)a6);
  }
  else
  {
    v15 = 0;
  }
  *a8 = 0;
  MappedPropertyLocalesDispatch = PnpGetMappedPropertyLocalesDispatch(
                                    a1,
                                    a2,
                                    a3,
                                    a4,
                                    a5,
                                    (__int64)v14,
                                    v15,
                                    (__int64)a8,
                                    a9);
  if( MappedPropertyLocalesDispatch == -1073741802 )
  {
    if( !v9 )
    {
      MappedPropertyLocalesDispatch = PnpOpenObjectRegKey(a1, a2, a3, 33554433, 0, (__int64)Handle);
      if( MappedPropertyLocalesDispatch < 0 )
        goto LABEL_11;
      v9 = (char *)Handle[0];
    }
    MappedPropertyLocalesDispatch = PnpGetGenericStorePropertyLocales(a1, v9, a5, v14, v15, a8);
  }
LABEL_11:
  if( Handle[0] )
    ZwClose(Handle[0]);
  return(unsigned int)MappedPropertyLocalesDispatch;
}

Referenced by:

PnpGetObjectPropertyLocales