PnpSetInterruptInformation

__int64 __fastcall PnpSetInterruptInformation(__int64 a1, const VOID *a2, size_t a3){
  VOID **PoolWithTag; 
  VOID **v7; 
  __int64 v8; 
  void *v9; 

  PoolWithTag = ExAllocatePoolWithTag(1ui64, a3 + 4, 1198550608i64);
  v7 = PoolWithTag;
  if( !PoolWithTag )
    return 3221225626i64;
  *(_DWORD *)PoolWithTag = a3;
  memmove((char *)PoolWithTag + 4, a2, a3);
  v8 = *(_QWORD *)(a1 + 312);
  v9 = *(void **)(v8 + 88);
  *(_QWORD *)(v8 + 88) = v7;
  if( v9 )
    ExFreePoolWithTag(v9, 0x47706E50u);
  return 0i64;
}

Referenced by:

PnpSetDevicePropertyData