PnpCallDriverEntry

__int64 __fastcall PnpCallDriverEntry(__int64 a1, __int64 a2){
  VOID **v4; 
  unsigned int v5; 
  int *v6; 
  int v7; 
  _QWORD v9[5]; 

  v9[0] = 0i64;
  v9[1] = a1;
  v9[2] = KeGetCurrentThread();
  v4 = PnpEnableWatchdog(5, (__int64)v9);
  v5 = (*(__int64(__fastcall **)(__int64, __int64))(a1 + 88))(a1, a2);
  if( v4 )
  {
    v6 = (int *)v4[1];
    ExDeleteTimer(*((_QWORD *)v6 + 7), 1, 1, 0i64);
    *((_QWORD *)v6 + 7) = 0i64;
    if( v6[24] > 0 )
      KeWaitForSingleObject((UINT64)(v6 + 26), 0, 0, 0, 0i64);
    ExFreePoolWithTag(v6, 0x54645750u);
    v7 = *((_DWORD *)v4 + 4);
    v4[1] = 0i64;
    PnpRecordBlackbox(0i64, v7);
    if( *((_BYTE *)v4 + 32) )
      PnpWatchdogEtwWrite((__int64)v4, 0);
    PnpFreeWatchdog(v4);
  }
  return v5;
}

Referenced by:

IopLoadDriver