PnpSetInterruptInformation
UINT8 __fastcall PnpSetInterruptInformation(UINT16 *a1, INT64 a2, EVENT_DESCRIPTOR *a3){
unsigned int v3;
UINT8 *PoolWithTag;
UINT8 *v7;
__int64 v8;
void *v9;
v3 = (unsigned int)a3;
PoolWithTag = (UINT8 *)ExAllocatePoolWithTag(PagedPool, (unsigned int)((_DWORD)a3 + 4), 0x47706E50ui64);
v7 = PoolWithTag;
if( !PoolWithTag )
return -102;
*(_DWORD *)PoolWithTag = v3;
memmove(PoolWithTag + 4, (UINT8 *)a2, v3);
v8 = *((_QWORD *)a1 + 39);
v9 = *(void **)(v8 + 88);
*(_QWORD *)(v8 + 88) = v7;
if( v9 )
ExFreePoolWithTag(v9, 0x47706E50u);
return 0;
}Referenced by:
PnpSetDevicePropertyData