#include "virusx.h"

char BW_Handler(void);
char LamerHandler(void);
char Lamer2Handler(void);
char Revenge_Handler(void);
char DiskDoktor_Handler(void);
char MicroSystems_Handler(void);
char VKill_Handler(void);

struct VirusInfo VI[] = 
	{
		{	/* Tested: */
		"Microsystems", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x040000fe, 0x00000200,	/* Disk Image Check	*/
		0x0,					/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0x0, 0, 0x0, 0x0,			/* Removal Data 	*/
		MicroSystems_Handler,			/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"HCS II", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x010022d8, 0x41f90007,	/* Disk Image Check	*/
		0x7ec78,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0x0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Opapa", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x03B04298, 0x03114EAE,	/* Disk Image Check	*/
		0x0,					/* Cold, Cool Capture	*/
		HTL_TDM1C, 0, 
		0, 0, 0x7e914, 0x0,			/* How to find in RAM 	*/
		HTL_TDM1C, HTL_CLEARKICKTAGS,
		0x2e6,0,0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Pentagon Circle", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x90, 0x94, 0xffff9280, 0x2c790000,	/* Disk Image Check	*/
		0x7e06a,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Gadaffi", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 'GADA', 0x20202020,		/* Disk Image Check	*/
		0x7fbdc,				/* Cold, Cool Capture	*/
		HTL_DOIO, 0, 
		0, 0, 0x7fc46, 0x0,			/* How to find in RAM 	*/
		HTL_DOIO, 0, 
		0x9e, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"16 Bit Crew", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x78, 0x79, 0x43726577, 0x20313938,	/* Disk Image Check	*/
		0x7ec58,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"BackFlash", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x337c0002, 0x4e752c79,	/* Disk Image Check	*/
		0x7f0aa,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"DiskDoktors", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x13fc00a0, 0x303c0100,	/* Disk Image Check	*/
		0x0,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		DiskDoktor_Handler,			/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"Lamer II",	 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x8, 0xc, 0x4e7570ff, 0x790048e7,	/* Disk Image Check	*/
		0x0,					/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		Lamer2Handler,				/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"Revenge", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x000443fa, 0x00e02079,	/* Disk Image Check	*/
		0x0,					/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		Revenge_Handler,			/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Australian Parasite", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x43faffbe, 0x62726172,	/* Disk Image Check	*/
		0x7e88e,				/* Cold, Cool Capture	*/
		HTL_TDM1C|HTL_LOOKINDIRECT, HTL_TDM1C|HTL_LOOKINDIRECT,
		0x0, 0x4, 0x4AA9002C, 0x66000012,	/* How to find in RAM 	*/
		HTL_DOIO|HTL_SETTO, HTL_TDM1C|HTL_SETTO,
		0xd8, 0x1a, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"WarHawk",				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x21, 0x20, 0x0007e63a, 0xffa24eb9,	/* Disk Image Check	*/
		0x7e656,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"SCA", 					/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x00000004, 0xEFDE2D48,	/* Disk Image Check	*/
		0x7ec3e,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"NorthStar", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x0c790002, 0x20680016,	/* Disk Image Check	*/
		0x7ec0e,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Pentagon Circle", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x90, 0x94, 0xffa623c0, 0x4eaefe62,	/* Disk Image Check	*/
		0x7fb4c,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Phantasmumble", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x4240323c, 0xef2a0839,	/* Disk Image Check	*/
		0x7ec74,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Byte Bandit", 				/* Name			*/
		0, VF_COPYCOUNT,			/* Count, Flags		*/
		0x20, 0x30, 0x41faff7e, 0x20402068,	/* Disk Image Check	*/
		0x0,				/* Cold, Cool Capture	*/
		HTL_TDM1C|HTL_LOOKINDIRECT, 0, 
		-0x1b8, 0, ID_DOS_DISK, 0x0,		/* How to find in RAM 	*/
		HTL_TDM1C|HTL_SETTO, HTL_TDM1C|HTL_CLEARKICKTAGS, 
		0x232, 0x21e, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},


		{	/* Confirmed */
		"Graffiti", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		120, 0xac, 0x0007a800, 0x4e757e1e,	/* Disk Image Check	*/
		0x7ec58,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"HCS", 					/* Name			*/
		0, 0,					/* Count, Flags		*/
		0xb4, 0x20, 0x007ef68, 0x2d48fe3a,	/* Disk Image Check	*/
		0x7ec64,				/* Cold, Cool Capture	*/
		HTL_DOIO, 0, 
		0, 0, 0x7ecd2, 0x0,			/* How to find in RAM 	*/
		HTL_DOIO, 0, 
		0x2ca, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Byte Warrior",				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x207c0007, 0x00084eb9,	/* Disk Image Check	*/
		0x0,					/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		BW_Handler,				/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"Obelisk", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x01bb4eae, 0x00442d49,	/* Disk Image Check	*/
		0x7e86c,				/* Cold, Cool Capture	*/
		HTL_ABSOLUTE, HTL_ABSOLUTE, 
		0x4eae, 0xfe38, 0x7e900, 0x7e902,	/* How to find in RAM 	*/
		HTL_SETLONG, 0, 
		0, 0, 0x7e88a, 10,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed */
		"UltraFox", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x6c, 0x70, 0xe066601f, 0x0c19b181,	/* Disk Image Check	*/
		0x7ed36,				/* Cold, Cool Capture	*/
		0, 0, 
		0, 0, 0x0, 0x0,				/* How to find in RAM 	*/
		0, 0, 
		0, 0, 0x0, 0x0,				/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"Lamer Exterminator", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0xf, 0x10, 0x0012123a, 0x0361343c,	/* Disk Image Check	*/
		0x0,					/* Cold, Cool Capture	*/
		0, 0, 
		0, 0, 0x0, 0x0,				/* How to find in RAM 	*/
		0, 0, 
		0, 0, 0x0, 0x0,				/* Removal Data 	*/
		LamerHandler,				/* CCLoc, Handler 	*/
		},

		{	/* Confirmed! */
		"Old NorthStar", 			/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x10, 0x20, 0x0007ec1a, 0x4eaeffa0,	/* Disk Image Check	*/
		0x7ec0e,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0,					/* CCLoc, Handler 	*/
		},

		{	/* */
		"VKill", 				/* Name			*/
		0, 0,					/* Count, Flags		*/
		0xb4, 0xb8, 0x204b656e, 0x02010100,	/* Disk Image Check	*/
		0,					/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		VKill_Handler,				/* CCLoc, Handler 	*/
		},

		{	/* Tested:    */
		0, 					/* Name			*/
		0, 0,					/* Count, Flags		*/
		0x0, 0x0, 0x0,			/* Disk Image Check	*/
		0x0, 0x0,				/* Cold, Cool Capture	*/
		0, 0, 0, 0, 0x0, 0x0,			/* Removal Data 	*/
		0, 0, 0, 0, 0x0, 0x0,			/* How to find in RAM 	*/
		0,					/* CCLoc, Handler 	*/
		},

	};
