IopCheckAndUpdateStopOnSymlinkEcp

BOOL __fastcall IopCheckAndUpdateStopOnSymlinkEcp(ECP_LIST *a1, INT64 a2, INT64 a3){
  int v4; 
  BOOL result; 
  int v6; 
  _DWORD *v7; 
  _DWORD *v8; 
  ULONG v9; 
  v8 = 0i64;
  v9 = 0;
  v4 = a2;
  result = FsRtlFindExtraCreateParameter(a1, &ECP_TYPE_IO_STOP_ON_SYMLINK_FILTER_GUID, (PVOID *)&v8, &v9);
  if( result < 0 )
    goto LABEL_9;
  if( v9 >= 8 )
  {
    result = v4 + 1610612733;
    if( (unsigned int)(v4 + 1610612733) <= 0x16 )
    {
      v6 = 4194817;
      if( _bittest(&v6, result) )
      {
        v7 = v8;
        ++*v8;
        result = *(unsigned __int16 *)(a3 + 6);
        v7[1] = result;
      }
    }
    if( v9 > 8 )
      goto LABEL_9;
  }
  if( v4 == -1610612724 )
LABEL_9:
    LOBYTE(result) = 1;
  else
    LOBYTE(result) = 0;
  return result;
}

Referenced by:

IopParseDevice