PnpRecordBlackboxDeviceCompletionQueueInformation

NTSTATUS __fastcall PnpRecordBlackboxDeviceCompletionQueueInformation(__int64 a1){
  VOID **v1; 
  __int64 v2; 
  __int64 v4; 
  NTSTATUS result; 
  VOID **PoolWithTag; 
  UINT64 v7; 
  __int64 InputBuffer[2]; 
  __int64 v9; 
  int v10; 
  int v11; 

  v9 = 0i64;
  v11 = 0;
  v1 = 0i64;
  v2 = 0i64;
  v4 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
  if( a1 )
  {
    v2 = 72i64;
    PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x48ui64, 1265659472i64);
    v1 = PoolWithTag;
    if( PoolWithTag )
    {
      memset(PoolWithTag, 0i64, 0x48u);
      *(_DWORD *)v1 = 1;
      *((_DWORD *)v1 + 1) = 72;
      *((_DWORD *)v1 + 3) = (v4 - **(_QWORD **)(a1 + 64)) / 0x2710ui64;
      *((_DWORD *)v1 + 4) = *(_DWORD *)(a1 + 32);
      v1[3] = *(VOID **)(a1 + 16);
      v1[6] = (VOID *)PnpDeviceEventThread;
      v1[5] = (VOID *)a1;
      v1[7] = qword_140CEC8C0[0];
      v1[8] = (VOID *)*(&PnpReplaceEvent + 1016);
    }
  }
  v9 = 0i64;
  v11 = 0;
  LODWORD(v7) = 0;
  v10 = 10;
  InputBuffer[0] = (__int64)v1;
  InputBuffer[1] = v2;
  result = NtPowerInformation(PowerInformationLevelMaximum|SystemPowerCapabilities, InputBuffer, 0x20ui64, 0i64, v7);
  if( v1 )
    return(unsigned int)ExFreePoolWithTag(v1, 0x4B706E50u);
  return result;
}

Referenced by:

PnpRecordBlackbox