PiSwAddPdoAssociation
INT64 __fastcall PiSwAddPdoAssociation(INT64 a1, VOID *a2, VOID *a3){
unsigned int v3;
_QWORD *PoolWithTag;
_QWORD *v8;
_QWORD *v9;
_QWORD *v10;
v3 = 0;
PoolWithTag = ExAllocatePoolWithTag(PagedPool, 0x30ui64, 0x57706E50ui64);
if( PoolWithTag )
{
ObfReferenceObject(a2);
ObfReferenceObject(a3);
PoolWithTag[4] = a2;
PoolWithTag[5] = a3;
v8 = *(_QWORD **)(a1 + 136);
if( *v8 != a1 + 128
|| (*PoolWithTag = a1 + 128,
PoolWithTag[1] = v8,
*v8 = PoolWithTag,
*(_QWORD *)(a1 + 136) = PoolWithTag,
v9 = PoolWithTag + 2,
v10 = (_QWORD *)qword_140C43078,
*(__int64 **)qword_140C43078 != &PiSwGlobalPdoAssociationList) )
{
__fastfail(3u);
}
*v9 = &PiSwGlobalPdoAssociationList;
v9[1] = v10;
*v10 = v9;
qword_140C43078 = (__int64)v9;
}
else
{
return(unsigned int)-1073741670;
}
return v3;
}Referenced by:
PiSwGetChildPdo