PnpOpenObjectRegKeyDispatch

__int64 __fastcall PnpOpenObjectRegKeyDispatch(
        __int64 a1,
        __int64 a2,
        unsigned int a3,
        int a4,
        char a5,
        __int64 a6,
        _DWORD *a7,
        __int16 a8){
  int ObjectDispatchCallback; 
  int v13; 
  __int64 v15[2]; 
  __int64 v16[8]; 

  v15[0] = 0i64;
  memset(v16, 0i64, sizeof(v16));
  if( a8 )
  {
    return(unsigned int)-1073741811;
  }
  else
  {
    ObjectDispatchCallback = PnpCtxGetObjectDispatchCallback(a1, a3, v15);
    if( ObjectDispatchCallback >= 0 )
    {
      if( v15[0] )
      {
        BYTE4(v16[0]) = a5;
        v16[1] = a6;
        LODWORD(v16[0]) = a4;
        HIDWORD(v16[2]) = v13;
        ObjectDispatchCallback = ((__int64(__fastcall *)(__int64, __int64, _QWORD, __int64, __int64 *))v15[0])(
                                   a1,
                                   a2,
                                   a3,
                                   2i64,
                                   v16);
        if( ObjectDispatchCallback >= 0 )
          *a7 = v16[2];
      }
      else
      {
        return(unsigned int)-1073741822;
      }
    }
  }
  return(unsigned int)ObjectDispatchCallback;
}

Referenced by:

PnpOpenObjectRegKey