PipDeleteBindingId
INT64 __fastcall PipDeleteBindingId(INT64 a1, const UNICODE_STRING *a2){
INT64 v2;
UNICODE_STRING *v4;
unsigned int v5;
__int64 v6;
wchar_t *Buffer;
v2 = a1 + 56;
v4 = *(UNICODE_STRING **)(a1 + 56);
v5 = -1073741275;
if( v4 != (UNICODE_STRING *)(a1 + 56) )
{
while( 1 )
{
v6 = *(_QWORD *)&v4->Length;
if( RtlEqualUnicodeString(v4 + 1, (UNICODE_STRING *)a2, 0) )
break;
v4 = (UNICODE_STRING *)v6;
if( v6 == v2 )
return v5;
}
if( *(UNICODE_STRING **)(v6 + 8) != v4 || (Buffer = v4->Buffer, *(UNICODE_STRING **)Buffer != v4) )
__fastfail(3u);
*(_QWORD *)Buffer = v6;
*(_QWORD *)(v6 + 8) = Buffer;
PipFreeBindingId(v4);
return 0;
}
return v5;
}Referenced by:
IoResolveDependency