; Jump point code for the Actual Virus checking for VDEngine

; Slayer - a desktop anti-virus for RISC OS
; Copyright (C) 1996 - 2000 Kiwi Software (UK)
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
;
; info@kiwisoft.co.uk
; -------------------------------------------------------------------------



 			;first filesizes

			;mov		r9,r2,lsr #20	;check load address for brb virus
			;teq		r9,#&FFF	;if top 12 bits set then it is a filetype; we want a load adr
			;blne		brb_check		;brb

			;cmn		filetype,#0
			;bleq		brb_check		;brb

 			teq		filelength,#730		;satani
 			bleq		satani_check

 			teq		filelength,#1517       ;vandamme
			bleq		vandamme_check

 			teq		filelength,#5036       ;5036 Nitemare
 			bleq		nitemare_check

 			teq		filelength,#2096	;2096 icon
 			bleq		icon2096_check

 			teq		filelength,#2127	;2127 icon
 			bleq		icon2127_check

 			teq		filelength,#2218	;2218 icon
 			bleq		icon2218_check

 			teq		filelength,#2616	;2616 icon
 			teqne		filelength,#2618	;2618 icon
 			teqne		filelength,#2644	;2644 icon
 			bleq		icon26xx_check

 			teq		filelength,#4325
 			teqne		filelength,#4301
 			teqne		filetype,#&ff9
 			bleq		icon43xx_check

			teq		filelength,#2696	;2696 icon
			bleq		icon2696_check

			teq		filelength,#3639	;3639 icon
			bleq		icon3639_check

			teq		filelength,#5587	;5587 icon
			teqne		filelength,#5592	;5592 icon
			bleq		icon5587_5592_check

			teq		filelength,#5859	;5859 icon
			bleq		icon5859_check

 			teq		filelength,#7463       ;7463 icon
 			bleq		icon7463_check

 			teq		filelength,#7696       ;7696 icon
 			bleq		icon7696_check

 			teq		filelength,#7933       ;7933 icon
 			bleq		icon7933_check

			teq		filelength,#5574       ;5574 icon
			teqeq		filetype,#&ff9
			bleq		icon5574_check

 			teq		filelength,#5580	;5580 bigfoot
 			teqne		filelength,#5535	;5535 bigfoot
 			teqeq		filetype,#&FFB		;always &FFB
 			bleq		bigfoot_check

			teq		filelength,#2195	;2195 honey
			teqeq		filetype,#&FFB		;always &FFB
			bleq		honey_check

			teq		filelength,#2438	;2438 datadqm
			teqne		filelength,#2311	;2311 datadqm
			teqne		filelength,#2432	;2462 datadqm (vigay)
			teqeq		filetype,#&FFB		;always &FFB
			bleq		datadqm_check

			teq		filelength,#2173
			teqeq		filetype,#&FFD		;always &FFD
			bleq		diehard_check

			teq		filelength,#940
			teqeq		filetype,#&FFA
			bleq		extend_irqfix_check

			teq		filetype, #&FFA
			teqeq		filelength, #2780
			bleq		sysutils2_check		; systemutils alone

			teq		filelength,#2355	;MonitorDat 1
			teqne		filelength,#2168	;MonitorDat 2
			teqeq		filetype,#&FFB		;always BASIC
			bleq		monitordat_check

			teq		filelength,#9619	;NetStatus
			teqeq		filetype,#&FFA
			bleq		netstatus_check

			teq		filelength,#2948	;MyMod
			teqeq		filetype,#&FFA
			bleq		mymod_check

			teq		filelength,#460		;Simple
			teqeq		filetype,#&FF8
			bleq		simple_check

			teq		filelength, #468	;simple 2
			teqeq		filetype, #&FF8
			bleq		simple_468_check

 			cmp		filelength,#1208+1024  ; could
 			blle		thunder_check	       ; be thunder1
 							       ; that is easy
 							       ; to detect

			cmp		filelength,#1215+1024  ; thunder2?
			;cmple		filelength,filelength  ; bodge to set
							       ; eq flag
			bllt		thunder2_check

 			;now filetypes
 			teq		filetype,#&FFA	;module
 			cmpeq		filelength,#952
 			blgt		module_check
 			blgt		millenium_check	;horrid use of bl
 			blgt		sysutils_check ;another horrid bl :) [rob]

 			teq		filetype,#&FF8	;absolute
 			cmpeq		filelength,#1216	;smallest
 			blgt		breakfast_check
 			blgt		link_check
 			blgt		bbceconet_check

 			teq		filetype,#&FF8	;absolute
 			cmpeq		filelength,#2060	;jester
 			blgt		jester_check

			teq		filetype,#&FAF	;HTML
			bleq		htmljava_check
			bleq		htmlworm_check
 			bleq		htmlprep_check

			teq		filetype,#&aef	;Java class
			bleq		sbrew_check

 			;teq		filetype,#&FFB	;BASIC
 			;teq		filetype,#&FF9	;sprite
 			;teq		filetype,#&FFD	;data
 			;teq		filetype,#&FFF	;text

			;this falls through into the main routine,
			;tidied up there...

