AlpcpEnumerateResourcesPort
INT64 __fastcall AlpcpEnumerateResourcesPort(INT64 a1, INT64 a2, INT64 a3, VOID *a4){
INT64 *v4;
__int64 **v5;
NTSTATUS v7;
__int64 *i;
v4 = (INT64 *)(a1 + 328);
v5 = (__int64 **)(a1 + 336);
v7 = 0;
ExAcquirePushLockSharedEx(a1 + 328, 0i64);
for( i = *v5; i != (__int64 *)v5; i = (__int64 *)*i )
{
if( *((_BYTE *)i + 17) == 6 )
{
v7 = AlpcpViewSearchCallbackFunction(i + 6, a4);
if( v7 < 0 )
break;
}
}
if( _InterlockedCompareExchange64(v4, 0i64, 17i64) != 17 )
ExfReleasePushLockShared(v4);
KeAbPostRelease(v4);
return(unsigned int)v7;
}Referenced by:
AlpcpLocateSectionView
NtAlpcDeleteSectionView