AslRegWildcardFindClose

NTSTATUS __stdcall AslRegWildcardFindClose(PVOID P){
  PVOID *v1; 
  PVOID v3; 
  PVOID *v4; 
  void *v5; 
  NTSTATUS result; 
  if( P )
  {
    v1 = *(PVOID **)P;
    if( *(PVOID *)P != P )
    {
      do
      {
        v3 = v1[4];
        if( v3 )
        {
          ZwClose(v3);
          v1[4] = 0i64;
        }
        v4 = (PVOID *)*v1;
        ExFreePoolWithTag(v1, 0x74705041u);
        v1 = v4;
      }
      while( v4 != P );
    }
    v5 = (void *)*((_QWORD *)P + 3);
    if( v5 )
      ExFreePoolWithTag(v5, 0x74705041u);
    ExFreePoolWithTag(P, 0x74705041u);
  }
  return result;
}

Referenced by:

AslRegWildcardFindFirst
SdbpCheckMatchingWildcardRegistryEntry