BiFreeIdentifierList
VOID __stdcall BiFreeIdentifierList(LIST_ENTRY *IdentifierList){
_LIST_ENTRY *Flink;
_LIST_ENTRY *v3;
_LIST_ENTRY *v4;
_LIST_ENTRY *Blink;
_LIST_ENTRY *v6;
Flink = IdentifierList->Flink;
while( Flink != IdentifierList )
{
v3 = Flink->Flink;
v4 = Flink;
Flink = v3;
if( v3->Blink != v4 || (Blink = v4->Blink, Blink->Flink != v4) )
__fastfail(3u);
Blink->Flink = v3;
v3->Blink = Blink;
if( ((__int64)v4[3].Flink & 1) != 0 )
{
v6 = v4[2].Blink;
if( v6 )
ExFreePoolWithTag(v6, 0x4B444342u);
}
ExFreePoolWithTag(v4, 0x4B444342u);
}
}Referenced by:
BiBindEfiNamespaceObjects
BiBuildIdentifierList
BiExportStoreAlterationsToEfi