PipDeleteDependencyNode
void __fastcall PipDeleteDependencyNode(PVOID P, INT64 a2, UINT64 a3){
_QWORD *v4;
PVOID *v5;
PVOID *v6;
PVOID *v7;
PipDeleteBindingIds((INT8 *)P, a2, a3);
v4 = *(_QWORD **)P;
if( *(PVOID *)(*(_QWORD *)P + 8i64) != P
|| (v5 = (PVOID *)*((_QWORD *)P + 1), *v5 != P)
|| (*v5 = v4, v4[1] = v5, v6 = (PVOID *)*((_QWORD *)P + 9), v6[1] != (char *)P + 72)
|| (v7 = (PVOID *)*((_QWORD *)P + 10), *v7 != (char *)P + 72) )
{
__fastfail(3u);
}
*v7 = v6;
v6[1] = v7;
ExFreePoolWithTag(P, 0x53706E50u);
}Referenced by:
IoDuplicateDependency
PipDereferenceDependencyNode
PipMergeDependencyEdgeList
PipMergeDependencyNodes
PipSetDependency
PipUnlinkDeviceObjectAndDependencyNode