PoInitializeBroadcast
INT64 __fastcall PoInitializeBroadcast(){
char *PoolWithTag;
unsigned int v1;
char *v2;
_QWORD *v3;
__int64 v4;
_QWORD *v5;
PoolWithTag = (char *)ExAllocatePoolWithTag(NonPagedPoolNx, 0x1D8ui64, 0x73734450ui64);
v1 = 0;
v2 = PoolWithTag;
if( PoolWithTag )
{
memset((INT64)PoolWithTag, 0i64);
v3 = v2 + 96;
*((_QWORD *)v2 + 2) = KeGetCurrentThread();
v4 = 5i64;
*((_QWORD *)v2 + 55) = v2 + 432;
*((_QWORD *)v2 + 54) = v2 + 432;
do
{
*(v3 - 2) = v3 - 3;
*(v3 - 3) = v3 - 3;
*v3 = v3 - 1;
*(v3 - 1) = v3 - 1;
v3[2] = v3 + 1;
v3[1] = v3 + 1;
v5 = v3 + 3;
v3[4] = v3 + 3;
v3 += 9;
*v5 = v5;
--v4;
}
while( v4 );
PpmBeginHighPerfRequest();
PopCurrentBroadcast = 0ui64;
DevState = v2;
PopBuildDeviceNotifyList((_PO_DEVICE_NOTIFY_ORDER *)(v2 + 48));
PopHaltDeviceIdle();
}
else
{
return(unsigned int)-1073741670;
}
return v1;
}Referenced by:
PnprQuiesceDevices
PopDirectedDripsInitializeBroadcast
PopTransitionSystemPowerStateEx