; Icon checking code - handles checks for various icon strains
; 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
; -------------------------------------------------------------------------


.icon2096_text		dcb	"Poison"
			align

			funcName "icon2096_check"

.icon2096_check		adr	r1,bufferTopOfFile_8
 			adr	r2,icon2096_text

			strcmpw	6

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon2127_text		dcb	"DiscName$ = ",34,"xx",34
			align

	                funcName "icon2127_check"

.icon2127_check		adr	r1,bufferTopOfFile_340
 			adr	r2,icon2127_text

			strcmpw	16

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

			funcName "icon2218_check"

.icon2218_check		adr	r1,bufferTopOfFile_268
 			adr	r2,icon2127_text	;the same sig

			strcmpw	16

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon26xx_text		dcb	"existing virus"
			align

			funcName "icon26xx_check"

.icon26xx_check		adr	r1,bufferTopOfFile_37
 			adr	r2,icon26xx_text

			strcmp	14

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

			funcName "icon2696_check"

.icon2696_check		adr	r1,bufferTopOfFile_40
 			adr	r2,icon26xx_text

			strcmpw	14

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon3639_text		dcb	"DiscName$ = ",34,"vir",34
			align

			funcName "icon3639_check"

.icon3639_check		adr	r1,bufferTopOfFile_284
 			adr	r2,icon3639_text

			strcmpw	17

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

			funcName "icon5587_5592_check"

.icon5587_5592_check	adr	r1,bufferTopOfFile_192
 			adr	r2,icon2127_text	;it's the same

			strcmpw	16

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon5859_text		dcb	"Skegness Virus"
			align

			funcName "icon5859_check"


.icon5859_check		adr	r1,bufferTopOfFile_99
 			adr	r2,icon5859_text

			strcmp	14

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon7463_text		dcb	"farmer with his gun"
			align

			funcName "icon7463_check"

.icon7463_check		adr	r1,bufferTopOfFile_21
 			adr	r2,icon7463_text

			strcmp  19

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon7696_text		dcb	"Don't delete me, I am Virus!!"
			align

 			funcName "icon7696_check"

.icon7696_check		adr	r1,bufferTopOfFile_6
 			adr	r2,icon7696_text

			strcmp	29

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon7933_text		dcb	"a$ = ",34,"xx",34
			align

			funcName "icon7933_check"

.icon7933_check		adr	r1,bufferTopOfFile_153
 			adr	r2,icon7933_text

			strcmp	9

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon5574_text		dcb	" > EXTRA"
			align

			funcName "icon5574_check"

.icon5574_check		adr	r1,bufferTopOfFile_5
 			adr	r2,icon5574_text

			strcmp	8

 			mov	r0,#icon
 			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller

.icon43xx_text		dcb "Bollocana version 1.00 - an ICON derivative!"
			align

			funcName "icon43xx_check"

.icon43xx_check		adr	r1, bufferTopOfFile_6
			adr	r2, icon43xx_text

			strcmp	44

			mov	r0, #icon
			ldmfd	r13!,{pc}	;found virus: unstack and
 						;return to caller
