; program     : AntiCicloVir
; programsort : Viruskiller
; versionsnr. : 2.2
; create date : 18.07.1994
; author      : Mathias Gutt


Execbase = 4
Addport = -354
AllocAbs = -204
AllocMem = -198
AllocSignal = -330
AutoRequest = -348
Close = -36
CloseDevice = -450
CloseLibrary = -414
CloseWindow = -72
CopyMem = -624
CurrentDir = -126
Delay = -$00C6
DeleteFile = -$0048
DisplayAlert = -90
DoIORoutine = -456
Examine = -102
ExNext = -108
FreeMem = -210
FreeSignal = -336
FindName = -276
FindTask = -294
GetMsg = -372
Lock = -84
Open = -$001E
OpenDeviceRoutine = -444
OpenLibrary = -552
OpenWindow = -204
Read = -42
RemPort = -360
RemTask = -288
Rename = -78
SetProtection = -186
UnLock = -90
WaitIO = -474
WaitPort = -384
Write = -$0030



move.l a0,ParamAddress
move.l d0,ParamLength

;WBStartup-Head

move.l ExecBase,a6
suba.l a1,a1
jsr FindTask(a6)
move.l d0,a4
tst.l 172(a4)
bne clicall

lea 92(a4),a0
jsr WaitPort(a6)
lea 92(a4),a0
jsr GetMsg(a6)
bra WBcall

clicall:
bsr GetPara
move.l Paramaddress(pc),a0

cmp.b #"-",(a0)+
bne Drive

Option:
cmp.b #"c",(a0)
beq fastcheckset
cmp.b #"m",(a0)
beq Clicall2
fastcheckset:
move.b #$FF,fastcheck

Clicall2:
move.b #$FF,StartupFlag

WBcall:
Colors:
add.l #$00070007,d0
cmp.l #$00FF00FF,d0
bge AntiCicloVir
move.w #1,d1

Colorcycling:
move.b $dff005,d2

ColorcyclingLoop:
move.l d0,$dff180
move.l d0,$dff184
cmp.b $dff005,d2

beq.s ColorcyclingLoop
dbra d1,ColorCycling
bra Colors



AntiCicloVir:
bsr OpenDos
cmp.l #0,d0
beq Ende
move.l d0,Dosbase
bsr OpenIntui
cmp.l #0,d0
beq CloseDos
move.l d0,Intuibase
cmp.b #$FF,StartupFlag
bne WBStart
bsr OpenWin
cmp.l #0,d0
beq CloseDos
move.l d0,Handle

WBStart:
bsr vectors_table
cmp.b #$FF,StartupFlag
bne WBStart2
bsr Print

WBStart2:
bsr CheckMem
cmp.b #$FF,StartupFlag
bne WBStart3
bsr CloseWin

WBStart3:
bsr CloseIntui
bra CloseDos

Drive:
bsr OpenDos
cmp.l #0,d0
beq Ende
move.l d0,Dosbase
bsr OpenIntui
cmp.l #0,d0
beq CloseDos
move.l d0,Intuibase
bsr OpenWin
cmp.l #0,d0
beq CloseDos
move.l d0,Handle
bsr Print
move.b #$FF,fastcheck
bsr CheckMem
move.l ExecBase,a6
move.l #2,d1
move.l #1000,d0
jsr AllocMem(a6)
tst.l d0
beq notenough
move.l d0,FileInfoBlockMem
move.l ExecBase,a6
move.l #2,d1
move.l #$5000,d0
jsr AllocMem(a6)
tst.l d0
beq notenough
move.l d0,FileMem
bsr GetLock
cmp.l #0,d0
beq H131
move.l d0,LockHandle
bsr MakeCurrentDir
move.l d0,OldLock
bsr ExamineIt
cmp.l #0,d0
beq UnLockIt
Seek:
bsr ExNextIt
cmp.l #0,d0
bne Seek
bra UnLockIt


GetPara:
move.l Paramaddress(pc),a0
lea Directory(pc),a1

ParaLoop:
move.b (a0)+,(a1)+
cmp.b #10,(a0)
bne ParaLoop

ParaLoopEnde:
move.b #0,(a1)
rts

OpenDos:
move.l ExecBase,a6
lea Dosname(pc),a1
move.l #0,d0
jsr OpenLibrary(a6)
rts

OpenIntui:
move.l ExecBase,a6
lea Intuiname(pc),a1
move.l #0,d0
jsr OpenLibrary(a6)
rts

OpenWin:
move.l Dosbase(pc),a6
move.l #DOSWin,d1
move.l #1006,d2
jsr Open(a6)
rts

Print:
move.l #Text,d2
move.l #Textende,d3
bsr PrintDOSText
rts

Task:
move.l ExecBase,a6
jsr FindTask(a6)
rts

Requester: MACRO
lea AutoRequestTextPtr(pc),a0
move.l ?1,(a0)
lea GadgetTextPtr(pc),a0
move.l ?2,(a0)
lea GadgetText2Ptr(pc),a0
move.l ?3,(a0)
move.l #0,a0
lea AutoRequestText(pc),a1
lea GadgetText(pc),a2
lea GadgetText2(pc),a3
moveq #0,d0
moveq #0,d1
move.l ?4,d2
move.l ?5,d3
move.l Intuibase(pc),a6
jsr AutoRequest(a6)
ENDM

Requesterold: MACRO
move.l #0,a0
lea ?1,a1
lea ?2,a2
lea ?3,a3
moveq #0,d0
moveq #0,d1
move.l ?4,d2
move.l ?5,d3
move.l Intuibase(pc),a6
jsr AutoRequest(a6)
ENDM


CloseVirus:
move.l Dosbase(pc),a6
move.l Dateihandle(pc),d1
jsr Close(a6)
rts

KillFileVirus:
bsr CloseVirus
KillFileVirus2:
Requester #KillFileTexten,#Yes,#No,#310,#80
cmp.l #0,d0
beq KillFileVirusNext

move.l Dosbase(pc),a6
move.l d4,d1
move.l #%00000000,d2
jsr SetProtection(a6)

DeleteVirus:
move.l Dosbase(pc),a6
move.l d4,d1
jsr DeleteFile(a6)
KillFileVirusNext:
rts

RenameVirus:
move.l Dosbase(pc),a6
move.l d4,d2
jsr Rename(a6)
rts

KillSpecialVirus:
clr.l (a2)
lea SpecialVirusName(pc),a0
move.l #40,d0

ClearSpecialVirusNameLoop:
move.b #00,(a0)+
sub.l #1,d0
cmp.l #0,d0
bne ClearSpecialVirusNameLoop

lea SpecialVirusName(pc),a0
move.l (a3),a1

SpecialVirusNameLoop:
move.b (a1)+,(a0)+
cmp.b #0,(a1)
bne SpecialVirusNameLoop

bsr CloseVirus
Requester #KillSpecialVirusText,#Yes,#No,#610,#70
cmp.l #0,d0
beq KillSpecialVirusNext
move.l FileInfoBlockMem(pc),d4
add.l #8,d4
bsr DeleteVirus
KillSpecialVirusNext:
Requester #SpecialVirusOrigText,#Yes,#No,#610,#70
cmp.l #0,d0
beq KillSpecialVirusNextNext
move.l (a5),d1
move.l FileInfoBlockMem(pc),d4
add.l #8,d4
bsr RenameVirus
KillSpecialVirusNextNext:
bra OK2

SADDAMRequest:
Requester #SADDAMReq,#ContinueText,#ContinueText,#400,#80
bsr KillFileVirus2
bra VirusCheckEnde

ReturnRequest:
Requester #ReturnReq,#ContinueText,#ContinueText,#610,#70
move.l #SADDAM,d4
bsr KillFileVirus3
bra VirusCheckEnde

DiskVal1234Request:
Requester #DiskVal1234Req,#ContinueText,#ContinueText,#450,#80
bsr KillFileVirus2
bra VirusCheckEnde

KillFileVirus3:
bsr CloseVirus
Requester #RenameFileTexten,#Yes,#No,#400,#70
cmp.l #0,d0
beq KillFileVirus3Next

move.l Dosbase(pc),a6
move.l d4,d1
move.l #RETURN,d2
jsr Rename(a6)
KillFileVirus3Next:
rts

KillFileVirus4:
bsr CloseVirus
Requester #RenameInvisibleFileText,#Yes,#No,#350,#70
cmp.l #0,d0
beq KillFileVirus4Next

move.l Dosbase(pc),a6
move.l d4,d1
move.l #CRITICAL,d2
jsr Rename(a6)
KillFileVirus4Next:
rts

VirusCheck2:
move.l DiskValMem(pc),a5
move.l #SADDAM,d4
move.l Dosbase(pc),a6
move.l #SADDAM,d1
move.l #1005,d2
jsr Open(a6)

cmp.l #0,d0
beq VirusCheckEnde
move.l d0,DiskValHandle

move.l Dosbase(pc),a6
move.l DiskValHandle(pc),d1
move.l a5,d2
move.l #1848,d3
jsr Read(a6)

move.l Dosbase(pc),a6
move.l DiskValHandle(pc),d1
jsr Close(a6)

cmp.l #"BitM",$00000702(a5)
beq SADDAMRequest
cmp.l #$60040000,$00000024(a5)
beq ReturnRequest
cmp.l #"trac",$000006C0(a5)
beq DiskVal1234Request

VirusCheckEnde:
bsr BootblockCheck
rts

VirusCheck:
bsr VirusCheck2
bra IntuiWait

notenough:
move.l #notenoughText,d2
move.l #notenoughTextende,d3
bsr PrintDOSText
rts

NoMemAlert:
move.l Intuibase(pc),a6
move.l #40,d1
lea string(pc),a0
jsr DisplayAlert(a6)
rts

CloseWin:
move.l Handle(pc),d1
move.l Dosbase(pc),a6
jsr Close(a6)
rts

CloseIntui:
move.l ExecBase,a6
move.l Intuibase(pc),a1
jsr CloseLibrary(a6)
rts

CloseDos:
move.l ExecBase,a6
move.l Dosbase(pc),a1
jsr CloseLibrary(a6)
clr.l d0

Ende:
rts

PrintDOSText:
move.l Dosbase(pc),a6
move.l Handle(pc),d1
sub.l d2,d3
jsr Write(a6)
rts

GetLock:
move.l Dosbase(pc),a6
move.l #Directory,d1
move.l #72,d2
jsr Lock(a6)
rts

MakeCurrentDir:
move.l Dosbase(pc),a6
move.l LockHandle(pc),d1
jsr CurrentDir(a6)
rts

ExamineIt:
move.l Dosbase(pc),a6
move.l LockHandle(pc),d1
move.l FileInfoBlockMem(pc),d2
jsr Examine(a6)
rts

ExNextIt:
move.l Dosbase(pc),a6
move.l LockHandle(pc),d1
move.l FileInfoBlockMem(pc),d2
jsr ExNext(a6)
move.l d0,ExNextInfo
cmp.l #0,d0
beq ExNext2

move.l Dosbase(pc),a6
move.l Handle(pc),d1
move.l FileInfoBlockMem(pc),d2
add.l #8,d2
move.l d2,a0

NameLoop:
cmp.b #$00,(a0)+
bne NameLoop
sub.l d2,a0
move.l a0,d3
jsr Write(a6)

move.l FileInfoBlockMem(pc),a0
cmp.l #0,4(a0)
ble File

move.l #DirText,d2
move.l #DirTextende,d3
bsr PrintDOSText

File:
lea ProtectText(pc),a0

move.l FileInfoBlockMem(pc),a6
btst #00,116(a6)
beq SetD
bra UnsetD

File01:
btst #01,116(a6)
beq SetE
bra UnsetE

File02:
btst #02,116(a6)
beq SetW
bra UnsetW

File03:
btst #03,116(a6)
beq SetR
bra UnsetR

File04:
move.l Dosbase(pc),a6
move.l Handle(pc),d1
move.l a0,d2
move.l #8,d3
jsr Write(a6)

move.l FileInfoBlockMem(pc),a6
move.l 124(a6),d2
lea Length(pc),a0
bsr hex

move.l #SizeText,d2
move.l #SizeTextende,d3
bsr PrintDOSText

move.l Dosbase(pc),a6
move.l Handle(pc),d1
move.l #"    ",(a0)
move.l a0,d2
move.l #6,d3
jsr Write(a6)

move.l Dosbase(pc),a6
move.l Handle(pc),d1
move.l FileInfoBlockMem(pc),d2
add.l #144,d2
move.l d2,a0
TextLoop:
cmp.b #$00,(a0)+
bne TextLoop
sub.l d2,a0
move.l a0,d3
jsr Write(a6)

bra File2

SetR:
move.b #"r",2(a0)
bra File04

UnsetR:
move.b #"-",2(a0)
bra File04

SetW:
move.b #"w",3(a0)
bra File03

UnsetW:
move.b #"-",3(a0)
bra File03

SetD:
move.b #"d",5(a0)
bra File01

UnsetD:
move.b #"-",5(a0)
bra File01

SetE:
move.b #"e",4(a0)
bra File02

UnsetE:
move.b #"-",4(a0)
bra File02

File2:
move.l Dosbase(pc),a6
move.l FileInfoBlockMem(pc),d1
add.l #8,d1
move.l #1005,d2
jsr Open(a6)
cmp.l #0,d0
beq OK2
move.l d0,Dateihandle

move.l Dosbase(pc),a6
move.l Dateihandle(pc),d1
move.l FileMem(pc),d2
move.l #$5000,d3
jsr Read(a6)


lea FilevirusName(pc),a0
move.l #40,d0
FilevirusNameClearLoop:
move.b #00,(a0)+
sub.l #1,d0
cmp.l #0,d0
bne FilevirusNameClearLoop

move.l #50,d0
lea FilevirusOffsetlist(pc),a0
lea Filevirustestbyteslist(pc),a1
lea FilevirusNameList(pc),a3

CompareFileLoop:
move.l (a0)+,d1
add.l FileMem(pc),d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq Filevirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareFileLoop

SpecialVirus:

move.l #40,d0
lea SpecialVirusName(pc),a0

SpecialVirusNameClearLoop:
move.b #00,(a0)+
sub.l #1,d0
cmp.l #0,d0
bne SpecialVirusNameClearLoop

move.l #4,d0
lea SpecialVirusOffsetList(pc),a0
lea SpecialVirusTestbytesList(pc),a1
lea SpecialVirusNameList(pc),a3
lea SpecialVirusInvisibleNameList(pc),a5

CompareSpecialVirusLoop:
move.l (a0)+,d1
add.l FileMem(pc),d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq KillSpecialVirus
cmp.l #0,(a3)+
cmp.l #0,(a5)+
sub.l #1,d0
cmp.l #0,d0
bne CompareSpecialVirusLoop

Drive2:
move.l FileMem(pc),a0

cmp.l #$60040000,$24(a0)
beq ReturnFile

move.l FileInfoBlockMem(pc),d0
add.l #8,d0
move.l d0,a0
InvisibleLoop:
cmp.b #$A0,(a0)+
beq InvisibleFile
cmp.b #$00,(a0)
bne InvisibleLoop

move.l FileMem(pc),a0
cmp.l #$000003F3,(a0)
bne OK

LinkLoop:
cmp.l #$000003E9,(a0)+
bne LinkLoop

move.l #40,d0
lea LinkvirusName(pc),a1

LinkvirusNameClearLoop:
move.b #00,(a1)+
sub.l #1,d0
cmp.l #0,d0
bne LinkvirusNameClearLoop

move.l a0,HunkPos
move.l #12,d0
lea LinkvirusOffsetList(pc),a0
lea LinkvirusTestbytesList(pc),a1
lea LinkvirusNameList(pc),a3

CompareLinkLoop:
move.l (a0)+,d1
add.l HunkPos(pc),d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq Linkvirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareLinkLoop

Drive3:
move.l FileMem(pc),a0
cmp.l #$000003F3,(a0)
beq EXECUTABLEFile

OK:
move.l Dosbase(pc),a6
move.l Dateihandle(pc),d1
jsr Close(a6)

OK2:
move.l #FileText2,d2
move.l #FileText2ende,d3
bsr PrintDOSText

ExNext2:
move.l ExNextInfo(pc),d0
rts

UnLockIt:
move.l Dosbase(pc),a6
move.l LockHandle(pc),d1
jsr UnLock(a6)

move.l Dosbase(pc),a6
move.l OldLock(pc),d1
jsr CurrentDir(a6)
bra H131

FileVirusNameLoop:
move.l #FileText,d2
move.l #FileTextende,d3
lea FileVirusName(pc),a0

FileVirusNameLoopLoop:
move.b (a1)+,(a0)+
cmp.b #$00,(a1)
bne FileVirusNameLoopLoop
bsr PrintDOSText
rts

FileVirus:
clr.l (a2)
move.l (a3),a1
bsr FileVirusNameLoop

move.l FileInfoBlockMem(pc),d4
add.l #8,d4
bsr KillFileVirus
bra OK2

ReturnFile:
clr.l $24(a0)
lea ReturnoftheLamerExterminatorText(pc),a1
bsr FileVirusNameLoop
move.l FileInfoBlockMem(pc),d4
add.l #8,d4
bsr KillFileVirus3
bra OK2

EXECUTABLEFile:
move.l #ExecutableText,d2
move.l #ExecutableTextende,d3
bsr PrintDOSText
bra OK

InvisibleFile:
move.l #InvisibleFileText,d2
move.l #InvisibleFileTextende,d3
bsr PrintDOSText
move.l FileInfoBlockMem(pc),d4
add.l #8,d4
bsr KillFileVirus4
bra OK2

LinkvirusNameLoop:
move.l #LinkText,d2
move.l #LinkTextende,d3
lea LinkVirusName(pc),a0

LinkVirusNameLoopLoop:
move.b (a1)+,(a0)+
cmp.b #$00,(a1)
bne LinkVirusNameLoopLoop
bsr PrintDOSText
rts

Linkvirus:
clr.l (a2)
move.l (a3),a1
bsr LinkvirusNameLoop
bra OK2

vectors_table:
bsr OpenTable
cmp.l #0,d0
beq vectorsend
move.l d0,vectorshandle
bsr vectors
bsr vectorswait
bra vectorsend

OpenTable:
move.l Dosbase(pc),a6
move.l #Table,d1
move.l #1006,d2
jsr Open(a6)
rts

vectors:
move.l 4,a6
move.l 42(a6),d2
lea ColdCapture(pc),a0
bsr hex
move.l 46(a6),d2
lea CoolCapture(pc),a0
bsr hex
move.l 50(a6),d2
lea WarmCapture(pc),a0
bsr hex
move.l 82(a6),d2
lea CHKSumVec(pc),a0
bsr hex
move.l 554(a6),d2
lea KickCheckSum(pc),a0
bsr hex
move.l -454(a6),d2
lea DoIO(pc),a0
bsr hex
move.l 546(a6),d2
lea KickMemPtr(pc),a0
bsr hex
move.l 550(a6),d2
lea KickTagPtr(pc),a0
bsr hex
move.l $90(a6),d2
lea RasterBeamVec(pc),a0
bsr hex
move.l -406(a6),d2
lea OldOpenLibrary(pc),a0
bsr hex
move.l -550(a6),d2
lea OpenLib(pc),a0
bsr hex
move.l -610(a6),d2
lea SKD(pc),a0
bsr hex
move.l -106(a6),d2
lea AlertVec(pc),a0
bsr hex
move.l -196(a6),d2
lea AllocMemVec(pc),a0
bsr hex
move.l -208(a6),d2
lea FreeMemVec(pc),a0
bsr hex
move.l -364(a6),d2
lea PutMsgVec(pc),a0
bsr hex
move.l -442(a6),d2
lea OpenDeviceVec(pc),a0
bsr hex 
bsr FindTrackDisk
move.l -$0000001C(a1),d2
lea BeginIO(pc),a0
bsr hex
move.l -$0000000A(a1),d2
lea CloseVec(pc),a0
bsr hex
bsr Findkeyboard
move.l -$0000001C(a1),d2
lea BeginIOVec(pc),a0
bsr hex
move.l Dosbase(pc),a6
move.l -28(a6),d2
lea OP(pc),a0
bsr hex
move.l -148(a6),d2
lea LoadSeg(pc),a0
bsr hex
move.l -46(a6),d2
lea WriteVec(pc),a0
bsr hex
move.l -82(a6),d2
lea LockVec(pc),a0
bsr hex
move.l Intuibase(pc),a6
move.l -202(a6),d2
lea WindowOpen(pc),a0
bsr hex
move.l -88(a6),d2
lea DisplayAlertVec(pc),a0
bsr hex
move.l #Systemvectorstabletext,d2
move.l #Systemvectorstableend,d3
bsr PrintDOSText2
rts

hex:
moveq #8-1,d1
next:
rol.l #4,d2
move.l d2,d3
and.b #$0f,d3
add.b #48,d3
cmp.b #58,d3
bcs output
addq.b #7,d3

output:
move.b d3,(a0)+
dbra d1,next
rts

vectorswait:
move.l Dosbase(pc),a6
move.l #300,d1
jsr Delay(a6)

CloseTable:
move.l Dosbase(pc),a6
move.l vectorshandle(pc),d1
jsr Close(a6)
rts

PrintDOSText2:
move.l Dosbase(pc),a6
move.l vectorshandle(pc),d1
sub.l d2,d3
jsr Write(a6)
rts

vectorsend:
rts

H131:
move.l ExecBase,a6
move.l #1000,d0
move.l FileInfoBlockMem(pc),a1
jsr FreeMem(a6)

move.l ExecBase,a6
move.l #$5000,d0
move.l FileMem(pc),a1
jsr Freemem(a6)

bsr CloseWin
bsr CloseIntui
bra CloseDos

CheckMem:
move.l #129,d0
lea AbsoluteMemoryPositionVirusOffsetList(pc),a0
lea AbsoluteMemoryPositionVirusTestbytesList(pc),a1
lea AbsoluteMemoryPositionVirusNameList(pc),a3

CompareAbsMemLoop:
move.l (a0)+,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq AMIGAMemoryVirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareAbsMemLoop

ColdRelativeMemoryPosition:
move.l #8,d0
lea ColdRelativeMemoryPositionVirusOffsetList(pc),a0
lea ColdRelativeMemoryPositionVirusTestbytesList(pc),a1
lea ColdRelativeMemoryPositionVirusNameList(pc),a3

CompareColdRelativeMemoryPositionLoop:
move.l (a0)+,d1
move.l ExecBase,a6
move.l 42(a6),d2
add.l d2,d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq AMIGAMemoryVirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareColdRelativeMemoryPositionLoop

CoolRelativeMemoryPosition:
move.l #21,d0
lea CoolRelativeMemoryPositionVirusOffsetList(pc),a0
lea CoolRelativeMemoryPositionVirusTestbytesList(pc),a1
lea CoolRelativeMemoryPositionVirusNameList(pc),a3

CompareCoolRelativeMemoryPositionLoop:
move.l (a0)+,d1
move.l ExecBase,a6
move.l 46(a6),d2
add.l d2,d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq AMIGAMemoryVirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareCoolRelativeMemoryPositionLoop

KickTagRelativeMemoryPosition:
move.l #52,d0
lea KickTagRelativeMemoryPositionVirusOffsetList(pc),a0
lea KickTagRelativeMemoryPositionVirusTestbytesList(pc),a1
lea KickTagRelativeMemoryPositionVirusNameList(pc),a3

CompareKickTagRelativeMemoryPositionLoop:
move.l (a0)+,d1
move.l ExecBase,a6
move.l 550(a6),d2
add.l d2,d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq AMIGAMemoryVirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareKickTagRelativeMemoryPositionLoop

CheckMemNext:
lea HochofenName(pc),a1
bsr Task
cmp.l #0,d0
bne Hochofen

lea ModemCheckerName(pc),a1
bsr Task
cmp.l #0,d0
bne ModemChecker

KillMem:
move.l ExecBase,a6
cmp.l #0,42(a6)
bne AskColdCapture
cmp.l #0,46(a6)
bne AskCoolCapture
cmp.l #0,550(a6)
bne AskKickTagPtr

KillMem2:
bra NoAMIGAMemoryVirus

AskColdCapture:
Requester #AColdText,#Yes,#No,#360,#70
cmp.l #1,d0
beq KillColdCapture
bra NoAMIGAMemoryVirus

AskCoolCapture:
Requester #ACoolText,#Yes,#No,#360,#70
cmp.l #1,d0
beq KillCoolCapture
bra NoAMIGAMemoryVirus

AskKickTagPtr:
Requester #AKickText,#Yes,#No,#360,#70
cmp.l #1,d0
beq KillKickTagPtr
bra NoAMIGAMemoryVirus


BootblockStart:

move.l ExecBase,a6
move.l #2,d1
move.l #$2048,d0
jsr AllocMem(a6)
tst.l d0
beq BootblockCheckEnde
move.l d0,Sectorbuffer

bsr FindTrackDisk
move.l d0,DeviceStructure

move.l #0,a1
bsr Task
move.l d0,AntiCicloTask

move.l ExecBase,a6
move.l #-1,d0
jsr AllocSignal(a6)
cmp.l #0,d0
ble BootblockCheckEnde
clr.l d7
move.l d0,d7

move.l ExecBase,a6
move.l #2,d1
move.l #1000,d0
jsr AllocMem(a6)
tst.l d0
beq FreeSignalIt
move.l d0,MsgPortMem

move.l ExecBase,a6
lea MsgPortStructure(pc),a0
move.l MsgPortMem(pc),a1
move.l #100,d0
jsr CopyMem(a6)
move.l MsgPortMem(pc),a0
move.l AntiCicloTask(pc),$10(a0)
move.b d7,$F(a0)
move.l MsgPortMem(pc),$14+$E(a0)


move.l ExecBase,a6
move.l MsgPortMem(pc),a1
jsr AddPort(a6)

move.l ExecBase,a6
move.l #2,d1
move.l #1000,d0
jsr AllocMem(a6)
tst.l d0
beq BootblockCheckEnde2
move.l d0,TrackdiskIOStdRequestMem

move.l ExecBase,a6
lea TrackdiskIOStdRequest(pc),a0
move.l TrackdiskIOStdRequestMem(pc),a1
move.l #100,d0
jsr CopyMem(a6)
move.l TrackDiskIOStdRequestMem(pc),a0
move.l MsgPortMem(pc),$E(a0)
move.l DeviceStructure(pc),$14(a0)
move.l Sectorbuffer(pc),$28(a0)

move.l ExecBase,a6
move.l #2,d1
move.l #1000,d0
jsr AllocMem(a6)
tst.l d0
beq BootblockCheckEnde3
move.l d0,UnitStructureMem

move.l ExecBase,a6
lea UnitStructure(pc),a0
move.l UnitStructureMem(pc),a1
move.l #100,d0
jsr CopyMem(a6)

move.l TrackDiskIOStdRequestMem(pc),a0
move.l UnitStructureMem(pc),$18(a0)

move.l ExecBase,a6
move.l #2,d1
move.l #1000,d0
jsr AllocMem(a6)
tst.l d0
beq BootblockCheckEnde4
move.l d0,UnitMsgPortMem

move.l ExecBase,a6
lea UnitMsgPortStructure(pc),a0
move.l UnitMsgPortMem(pc),a1
move.l #100,d0
jsr CopyMem(a6)

move.l UnitMsgPortMem(pc),a0
move.l AntiCicloTask(pc),$10(a0)
move.b d7,$F(a0)
move.l UnitMsgPortMem(pc),$14+$E(a0)

move.l UnitStructureMem(pc),a0
move.l UnitMsgPortMem(pc),(a0)

move.l ExecBase,a6
move.l UnitMsgPortMem(pc),a1
jsr AddPort(a6)

move.l ExecBase,a6
lea TrackName(PC),a0
move.l #0,d0
move.l TrackDiskIOStdRequestMem(pc),a1
move.l #0,d1
jsr OpenDeviceRoutine(a6)
tst.l d0
bne BootblockCheckEnde5
rts

BootblockCheck:
move.l ExecBase,a6
move.l TrackdiskIOStdRequestMem(pc),a1
jsr DoIORoutine(a6)

move.l ExecBase,a6
move.l TrackdiskIOStdRequestMem(pc),a1
jsr WaitIO(a6)
move.l TrackdiskIOStdRequestMem(pc),a1
move.w #02,28(a1)
move.l #2048,$24(a1)
bsr CheckBootMem
rts

WriteBootBlock:

move.l ExecBase,a6
lea Bootblock(pc),a0
move.l Sectorbuffer(pc),a1
move.l #1024,d0
jsr CopyMem(a6)

move.l TrackDiskIOStdRequestMem(pc),a1
move.w #03,28(a1)
move.l #1024,$24(a1)
bsr Viruscheck2
move.l TrackDiskIOStdRequestMem(pc),a1
cmp.b #28,$1F(a1)
beq DiskWriteProtected
rts

DiskWriteProtected:
clr.b $1F(a1)
Requester #DiskWriteProtectedText,#ContinueText,#ContinueText,#610,#70
rts

BootblockEnde:
move.l ExecBase,a6
move.l TrackDiskIOStdRequestMem(pc),a1
jsr CloseDevice(a6)

move.l ExecBase,a6
move.l MsgPortMem(pc),a1
jsr RemPort(a6)

move.l MsgPortMem(pc),a0
move.b #$FF,$8(a0)
move.l #$FFFFFFFF,$14+$E(a0)

move.l ExecBase,a6
move.l MsgPortMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)

move.l TrackdiskIOStdRequestMem(pc),a0
move.b #$FF,$8(a0)
move.l #$FFFFFFFF,$14(a0)
move.l #$FFFFFFFF,$18(a0)
move.l ExecBase,a6
move.l TrackDiskIOStdRequestMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)

move.l ExecBase,a6
move.l UnitStructureMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)


move.l ExecBase,a6
move.l UnitMsgPortMem(pc),a1
jsr RemPort(a6)

move.l UnitMsgPortMem(pc),a0
move.b #$FF,$8(a0)
move.l #$FFFFFFFF,$14+$E(a0)
move.l ExecBase,a6
move.l UnitMsgPortMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)

move.l ExecBase,a6
move.l d7,d0
jsr FreeSignal(a6)

move.l ExecBase,a6
move.l Sectorbuffer(pc),a1
move.l #$2048,d0
jsr FreeMem(a6)
rts

CheckBootMem:
move.l #177,d0
lea BootblockVirusOffsetlist(pc),a0
lea BootblockVirusTestbytesList(pc),a1
lea BootblockVirusNameList(pc),a3

CompareBootblockLoop:
move.l (a0)+,d1
add.l Sectorbuffer(pc),d1
move.l d1,a2
move.l (a2),d1
cmp.l (a1)+,d1
beq BootblockVirus
cmp.l #0,(a3)+
sub.l #1,d0
cmp.l #0,d0
bne CompareBootblockLoop
rts

BootblockVirus:
lea BootblockVirusName(pc),a0
move.l #40,d0

ClearBootblockVirusNameLoop:
move.b #00,(a0)+
sub.l #1,d0
cmp.l #0,d0
bne ClearBootblockVirusNameLoop

lea BootblockVirusName(pc),a0
move.l (a3),a1

BootblockVirusNameLoop:
move.b (a1)+,(a0)+
cmp.b #0,(a1)
bne BootblockVirusNameLoop

BootRequester:
Requesterold BootReqText,Install,Continuetext2,#610,#70
cmp.l #1,d0
beq WriteBootblock
rts

BootblockCheckEnde:
bsr NoMemAlert
move.b #$FF,TrackdiskFlag
rts

BootblockCheckEnde5:

move.l ExecBase,a6
move.l UnitMsgPortMem(pc),a1
jsr RemPort(a6)

move.l UnitMsgPortMem(pc),a0
move.b #$FF,$8(a0)
move.l #$FFFFFFFF,$14+$E(a0)

move.l ExecBase,a6
move.l UnitMsgPortMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)

BootblockCheckEnde4:
move.l ExecBase,a6
move.l UnitStructureMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)

BootblockCheckEnde3:

move.l TrackdiskIOStdRequestMem(pc),a0
move.b #$FF,$8(a0)
move.l #$FFFFFFFF,$14(a0)
move.l #$FFFFFFFF,$18(a0)
move.l ExecBase,a6
move.l TrackdiskIOStdRequestMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)


BootblockCheckEnde2:

move.l ExecBase,a6
move.l MsgPortMem(pc),a1
jsr RemPort(a6)

move.l MsgPortMem(pc),a0
move.b #$FF,$8(a0)
move.l #$FFFFFFFF,$14+$E(a0)

move.l ExecBase,a6
move.l MsgPortMem(pc),a1
move.l #1000,d0
jsr FreeMem(a6)

FreeSignalIt:

move.l ExecBase,a6
move.l Sectorbuffer(pc),a1
move.l #$2048,d0
jsr FreeMem(a6)

move.l ExecBase,a6
move.l d7,d0
jsr FreeSignal(a6)
bsr NoMemAlert
move.b #$FF,TrackdiskFlag
rts

returntoSystem:
rts

NoAMIGAMemoryVirus:

cmp.b #$FF,fastcheck
beq returntoSystem

move.l ExecBase,a6
move.l #2,d1
move.l #$5000,d0
jsr AllocMem(a6)

move.l d0,DiskValMem
tst.l d0
beq NoMemAlert
clr.b TrackdiskFlag
bsr BootblockStart
cmp.b #$FF,TrackdiskFlag
beq IntuiEnde2

move.l Intuibase(pc),a6
lea NewWindow(pc),a0
jsr OpenWindow(a6)
move.l d0,Winhandle
bra IntuiWait3

IntuiWait:
move.l Winhandle(pc),a0
move.l ExecBase,a6
move.l 86(a0),a0
jsr GetMsg(a6)

IntuiWait3:
move.l Winhandle(pc),a0
move.l 86(a0),a0
move.l ExecBase,a6
jsr WaitPort(a6)
move.l d0,a1
move.l 20(a1),d1
cmp.l #$8000,d1
beq VirusCheck

IntuiPart2:
cmp.l #$200,d1
beq IntuiEnde
bra IntuiWait

IntuiEnde:
move.l Winhandle(pc),a0
move.l Intuibase(pc),a6
jsr CloseWindow(a6)
bsr BootblockEnde

IntuiEnde2:
move.l ExecBase,a6
move.l DiskValMem(pc),a1
move.l #$5000,d0
jsr FreeMem(a6)
rts

Hochofen:
lea HochofenText(pc),a0
move.l a0,(a3)
bra AMIGAMemoryVirus

ModemChecker:
lea ModemCheckerText(pc),a0
move.l a0,(a3)
bra AMIGAMemoryVirus


AMIGAMemoryVirus:

move.l Intuibase(pc),a6
lea NewWindow(pc),a0
jsr OpenWindow(a6)
move.l d0,Winhandle

move.l #40,d0
lea VirusName(pc),a0

ClearVirusNameLoop:
move.b #00,(a0)+
sub.l #1,d0
cmp.l #0,d0
bne ClearVirusNameLoop

lea VirusName(pc),a0
move.l (a3),a1

AMIGAMemoryVirusNameLoop:
move.b (a1)+,(a0)+
cmp.b #0,(a1)
bne AMIGAMemoryVirusNameLoop

AMIGAMemoryVirusRequest:
Requester #MemoryText,#ContinueText,#ContinueText,#610,#70

move.l Winhandle(pc),a0
move.l Intuibase(pc),a6
jsr CloseWindow(a6)
bra KillMem

KillColdCapture:
move.l 4,a6
clr.l 42(a6)
bsr ChkSum
rts

KillCoolCapture:
move.l 4,a6
clr.l 46(a6)
bsr ChkSum
rts

ChkSum:
clr.w 82(a6)
lea 34(a6),a0
clr.l d0
moveq #23,d0
clr.w d1
ChkSumLoop:
add.w (a0)+,d1
dbf d0,ChkSumLoop

not.w d1
move.w d1,82(a6)
clr.l d0
rts

KillKickMemPtr:
move.l 4,a6
move.l 546(a6),a0
move.l (a0),d0
move.l d0,546(a6)
bsr KillKickCheckSum
rts

KillKickTagPtr:
move.l 4,a6
move.l 550(a6),a0
move.l 4(a0),d0
move.l d0,550(a6)
bsr KillKickCheckSum
rts

KillKickCheckSum:
move.l 4,a6
jsr -612(a6)
move.l d0,554(a6)
rts

FindTrackDisk:
move.l ExecBase,a6
lea $0000015E(a6),a0
lea TrackName(pc),a1
jsr FindName(a6)
move.l d0,a1
rts

Findkeyboard:
move.l ExecBase,a6
lea $0000015E(a6),a0
lea KeyName(pc),a1
jsr FindName(a6)
move.l d0,a1
rts

Even
NewWindow:
dc.w 100
dc.w 0
dc.w 400
dc.w 10
dc.b 0
dc.b 1
dc.l $200!$8000
dc.l $1000!1!2!4!8
dc.l 0
dc.l 0
dc.l Windowtitle
dc.l 0
dc.l 0
dc.w 300
dc.w 10
dc.w 300
dc.w 10
dc.w 1

even
AutoRequestText:
dc.b 0,2
dc.b 0
even
dc.w 20,20
dc.l 0
AutoRequestTextPtr:
dc.l 0
dc.l 0


even
AColdText:
dc.b `Shall I restore ColdCapture ?`,0

even
ACoolText:
dc.b `Shall I restore CoolCapture ?`,0

even
AKickText:
dc.b `Shall I restore KickTagPtr ?`,0

even
KillFileTexten:
dc.b `Shall I delete this File ?`,0

even
KillSpecialVirusText:
dc.b `Shall I delete the filevirus `
SpecialVirusName: blk.b 40,0

even
SpecialVirusOrigText:
dc.b `Shall I rename the original file ?`,0

even
RenameFileTexten:
dc.b `Shall I rename the Disk-Validator ?`,0

even
SADDAMReq:
dc.b `Disk-Validator: SADDAM Virus !!!`,0

even
ReturnReq:
dc.b `Disk-Validator: Return of the Lamer Exterminator virus !!!`,0

even
DiskVal1234Req:
dc.b `Disk-Validator: DiskVal1234 virus !!!`,0

even
RenameInvisibleFileText:
dc.b `Shall I rename this file ?`,0

even
DiskWriteProtectedText:
dc.b `Your Disk in Drive df0: is write-protected !!!`,0

even
GadgetText:
dc.b 0,2
dc.b 0
even
dc.w 4,4
dc.l 0
GadgetTextPtr:
dc.l 0
dc.l 0

even
GadgetText2:
dc.b 0,2
dc.b 0
even
dc.w 4,4
dc.l 0
GadgetText2Ptr:
dc.l 0
dc.l 0

even
Yes:
dc.b `Yes !`,0

even
No:
dc.b `No !`,0

even
ContinueText:
dc.b ` OK `,0

even
BootReqText:
dc.b 0,2
dc.b 0
even
dc.w 20,20
dc.l 0
dc.l BootText
dc.l 0

even
ContinueText2:
dc.b 0,2
dc.b 0
even
dc.w 4,4
dc.l 0
dc.l ContinueText
dc.l 0
dc.l 0

even
Install:
dc.b 0,2
dc.b 0
even
dc.w 12,4
dc.l 0
dc.l InstallText
dc.l 0

InstallText:
dc.b ` Install `,0
 
even
MsgPortStructure:		;Node-Struktur
dc.l 0				;Nachfolger
dc.l 0				;Vorgaenger
dc.b 4				;Type = MsgPort
dc.b 0				;Prioritaet
dc.l 0                          ;Ende der Node-Struktur
dc.b 0				;Flags
dc.b 0           		;Signalbit
dc.l AntiCicloTask		;Empfaenger-Task
dc.l 0
dc.l 0
dc.b 6
dc.b 0
dc.l 0
dc.l MsgPortMem
dc.w 0

even
UnitMsgPortStructure:		;Node-Struktur
dc.l 0				;Nachfolger
dc.l 0				;Vorgaenger
dc.b 4				;Type = MsgPort
dc.b 0				;Prioritaet
dc.l 0				;Ende der Node-Struktur
dc.b 0				;Flags
dc.b 0   			;Signalbit
dc.l AntiCicloTask 
dc.l 0
dc.l 0
dc.b 6
dc.b 0
dc.l 0
dc.l UnitMsgPortMem
dc.w 0

even
TrackdiskIOStdRequest:		;IOStdRequest-Struktur
dc.l 0				;Eingebundene Message-Struktur
dc.l 0				;Vorgaenger
dc.b 6				;Type = Message
dc.b 0				;Prioritaet
dc.l MessageName                ;Ende der Node-Struktur
dc.l MsgPortMem
dc.w 56				;Laenge der Nachricht
dc.l DeviceStructure		;wird von exec initialisiert
dc.l UnitStructure      	;Unit-Nr.
dc.w 2				;Command
dc.b 0				;Flags
dc.b 0				;Error
dc.l 0				;Actual
dc.l 2048			;Anz. Bytes
dc.l SectorBuffer     		;Buffer-address
dc.l 0				;Block-Nr.
dc.l 0				;DiskChangeCount
dc.l 0				;SecLabelBuffer

DeviceStructure:
dc.l 0

even
UnitStructure:
dc.l UnitMsgPortMem     	;Zeiger auf MsgPortStruktur
dc.b 1
dc.b 0
dc.w 0

AntiCicloTask:
dc.l 0

even
string:
dc.b 0,200,10,`      NOT ENOUGH MEMORY !`,0
dc.b 0,0,0,0

even
Dosname:
dc.b `dos.library`,0

even
Intuiname:
dc.b `intuition.library`,0

even
TrackName:
dc.b `trackdisk.device`,0

even
KeyName:
dc.b `keyboard.device`,0

even
WindowTitle:
dc.b `AntiCicloVir V2.2 by Matthias Gutt`,0

even
Dosbase:
dc.l 0

Intuibase:
dc.l 0

Winhandle:
dc.l 0

Handle:
dc.l 0

DateiHandle:
dc.l 0

vectorshandle:
dc.l 0

LockHandle:
dc.l 0

DiskValHandle:
dc.l 0

OldLock:
dc.l 0

FileInfoBlockMem:
dc.l 0

FileMem:
dc.l 0

HunkPos:
dc.l 0

ExNextInfo:
dc.l 0

Paramaddress:
dc.l 0

ParamLength:
dc.l 0

MsgPortMem:
dc.l 0

TrackdiskIOStdRequestMem:
dc.l 0

UnitMsgPortMem:
dc.l 0

UnitStructureMem:
dc.l 0

Sectorbuffer:
dc.l 0

Directory:
blk.b 500,0

Sign:
dc.b 0

fastcheck:
dc.b 0

StartupFlag:
dc.b 0

TrackdiskFlag:
dc.b 0

even
MemoryPos:
dc.l 0

DiskValMem:
dc.l 0

MessageName:
dc.b `AntiCicloVir.port`,0

even
Hochofenname:
dc.b `Greetings to Hochofen`,0

even
ModemCheckerName:
dc.b `Diskdriver.proc`,0

even
SADDAM:
dc.b `:l/Disk-Validator`,0

even
RETURN:
dc.b `:L/LAMER-Virus`,0

even
CRITICAL:
dc.b `:CRITICAL-Virus`,0

even
SpecialVirusNameList:
dc.l BGS9Text
dc.l BGS9IIText
dc.l TerroristsText
dc.l NaSTText

even
SpecialVirusTestbytesList:
dc.l `TTV1`
dc.l `TTV1`
dc.l `TTV1`
dc.l `NaST`

even
SpecialVirusOffsetlist:
dc.l $00000A04
dc.l $00000A04
dc.l $00000620
dc.l $0000007A

even
SpecialVirusInvisibleNameList:
dc.l BGS9Invisible
dc.l BGS9Invisible2
dc.l TerroristsInvisible
dc.l NaSTInvisible

even
BGS9Invisible:
dc.b `:DEVS/           `,0

even
BGS9Invisible2:
dc.b `:DEVS/ é         `,0

even
TerroristsInvisible:
dc.b `:           `,0

even
NaSTInvisible:
dc.b `:c/              `,0

even
DOSWin:
dc.b `*`,0

even
Table:
dc.b `CON:0/0/600/200/System-Vectors-Table:`,0

even
Systemvectorstabletext:
dc.b `     ExecBase:`,10
dc.b `     ColdCapture:    $`
ColdCapture: dc.b `00000000`,0
dc.b ` CoolCapture:   $`
CoolCapture: dc.b `00000000`,10
dc.b `     WarmCapture:    $`
WarmCapture: dc.b `00000000`,0
dc.b ` ChkSum:        $`
CHKSumVec: dc.b `00000000`,10
dc.b `     KickMemPtr:     $`
KickMemPtr: dc.b `00000000`,0
dc.b ` KickTagPtr:    $`
KickTagPtr: dc.b `00000000`,10
dc.b `     KickCheckSum:   $`
KickCheckSum: dc.b `00000000`,0
dc.b ` RasterBeam Int.$`
RasterBeamVec: dc.b `00000000`,10
dc.b `     exec.library:`,10
dc.b `     Alert:          $`
AlertVec: dc.b `00000000`,0
dc.b ` AllocMem:      $`
AllocMemVec: dc.b `00000000`,10
dc.b `     FreeMem:        $`
FreeMemVec: dc.b `00000000`,0
dc.b ` PutMsg:        $`
PutMsgVec: dc.b `00000000`,10
dc.b `     OldOpenLibrary: $`
OldOpenLibrary: dc.b `00000000`,0
dc.b ` OpenDevice:    $`
OpenDeviceVec: dc.b `00000000`,10
dc.b `     DoIO:           $`
DoIO: dc.b `00000000`,0
dc.b ` OpenLibrary:   $`
OpenLib: dc.b `00000000`,10
dc.b `     SumKickData:    $`
SKD: dc.b `00000000`,10
dc.b `     dos.library:`,10
dc.b `     Open:           $`
OP: dc.b `00000000`,0
dc.b ` Write:         $`
WriteVec: dc.b `00000000`,10
dc.b `     Lock:           $`
LockVec: dc.b `00000000`,0
dc.b ` LoadSeg:       $`
LoadSeg: dc.b `00000000`,10
dc.b `     intuition.library:`,10
dc.b `     DisplayAlert:   $`
DisplayAlertVec: dc.b `00000000`,0
dc.b ` OpenWindow:    $`
WindowOpen: dc.b `00000000`,10
dc.b `     trackdisk.device:`,10
dc.b `     BeginIO:        $`
BeginIO: dc.b `00000000`,0
dc.b ` Close:         $`
CloseVec: dc.b `00000000`,10
dc.b `     keyboard.device:`,10
dc.b `     BeginIO:        $`
BeginIOVec: dc.b `00000000`,10

Systemvectorstableend:

even
SizeText:
dc.b ` FileLength(hex): $`
Length: dc.b `00000000`,0
SizeTextende:

even
ExecutableText:
dc.b ` :EXECUTABLE   `,0
ExecutableTextende:

even
ProtectText:
dc.b `       `,0
ProtectTextende:

even
Text:
dc.b ` `,10
dc.b `               AntiCicloVir - Virus-Statikum Version 2.2`,10
dc.b `       (C) 1992-1994 by Matthias Gutt, Kantstr.16 , 21335 Lüneburg , Germany`,10
dc.b ` `,10
dc.b `KNOWN VIRUSES COUNT:`,10
dc.b `Bootblock-Viruses     : 180`,10
dc.b `Linkviruses           :  15`,10
dc.b `Fileviruses           :  28`,10
dc.b `Disk-Validator-Viruses:   7`,10
dc.b `Trojans               :  11`,10
dc.b `Bombs                 :  14`,10
dc.b `---------------------------`,10
dc.b `ENEMIES (TOTAL)       : 255`,10

dc.b `Usage: AntiCicloVir [pathname]/[-c]/[-m]`,10
dc.b `OPTIONS TABLE:`,10
dc.b `-c = fast memorycheck`,10
dc.b `-m = memorycheck + installing background task for looking`,10
dc.b `     on every inserted disk for Bootblock- + Disk-Validator-viruses`,10

Textende:

even
FileText2:
dc.b `: OK`,10
FileText2ende:

even
DirText:
dc.b `  <DIR> `,0
DirTextende:

even
InvisibleFileText:
dc.b ` : ... filename contains invisible signs ! Possibility: FILEVIRUS !!!`,10
InvisibleFileTextende:

even
FileText:
dc.b ` : ... contains `
FileVirusname: blk.b 40,0
dc.b ` Filevirus !!!`,10
FileTextende:

even
LinkText:
dc.b ` : ... includes `
LinkVirusname: blk.b 40,0
dc.b ` Linkvirus !!!`,10
LinkTextende:

even
MemoryText:
dc.b `VIRUS IS STILL in memory: `
Virusname: blk.b 40,0

even
BootText:
dc.b `VIRUS in Bootsectors:  `
Bootblockvirusname: blk.b 40,0

even
notenoughText:
dc.b ` `,10
dc.b `                            Not enough memory !`,10

notenoughTextende:


even
LinkvirusNameList:
dc.l AntiChristText
dc.l BestialDevastationText
dc.l CCCPText
dc.l GotchaLamerText
dc.l HochofenText
dc.l IRQText
dc.l QRDLText
dc.l RedOctoberText
dc.l SmilyCancerText
dc.l TravelingJackText
dc.l TravelingJack2Text
dc.l XenoText

even
LinkvirusTestbytesList:
dc.l $00000250
dc.l `VAST`
dc.l `CCCP`
dc.l `tcha`
dc.l `hofe`
dc.l $000003EC
dc.l $60000342
dc.l `devi`
dc.l $60026068
dc.l $48E7FFFE
dc.l $48E7FFFE
dc.l `Nudo`

even
LinkvirusOffsetList:
dc.l $00000788
dc.l $00000070
dc.l $0000004C
dc.l $0000013C
dc.l $00000B90
dc.l $000000A4
dc.l $00000008
dc.l $00000484
dc.l $00000004
dc.l $00000010
dc.l $00000014
dc.l $00000414
 
even
FilevirusNameList:
dc.l AmigaKnightText
dc.l AntiChristTextText
dc.l BeethovenText
dc.l BlueboxText
dc.l BretHawnesText
dc.l ColorText
dc.l CompuPhagozyteText
dc.l CompuPhagozyte2Text
dc.l CompuPhagozyteIIText
dc.l CompuPhagozyteIIIText
dc.l CompuPhagozyteIIIBCText
dc.l CompuPhagozyteIVText
dc.l DStructureText
dc.l DAGCreatorText
dc.l DarthVaderText
dc.l DisasterMasterText
dc.l DiskKillerText
dc.l DisktroyerV10Text
dc.l DisktroyerV20Text
dc.l DiskVal1234Text
dc.l DMTrashText
dc.l DriveInfoText
dc.l ExcrementCreatorText
dc.l FreedomText
dc.l GotchaLamerCreatorText
dc.l JeffBUTONICV131Text
dc.l JeffBUTONICV300Text
dc.l LamerLoadWBText
dc.l LamerVirusXText
dc.l Liberatorv121Text
dc.l Liberatorv30Text
dc.l Liberatorv501Text
dc.l ModemCheckerText
dc.l ModemCheckerloadWBText
dc.l NANOoldText
dc.l NanonewText
dc.l NoGuruv20Text
dc.l PPBombText
dc.l RevengeOfTheLAMERExterminatorText
dc.l SADDAMText
dc.l SEPULTURAText
dc.l ShowSysopText
dc.l SmilyCancerLoadWBText
dc.l SnoopDosText
dc.l TelecomText
dc.l TFCRevengeLoadWBText
dc.l TimeBombV09Text
dc.l TravelingJackTextText
dc.l VirusConstructionSetText
dc.l xprzspeedV32Text

even
FilevirusTestbytesList:
dc.l `STAR`
dc.l `ntic`
dc.l `Beet`
dc.l `inpu`
dc.l `BRET`
dc.l `TURK`
dc.l ` Com`
dc.l `The `
dc.l `COMP`
dc.l `agoz`
dc.l `gozy`
dc.l `agoz`
dc.l `Stru`
dc.l $024D4558
dc.l `DART`
dc.l $610002FA
dc.l `DISK`
dc.l `iskt`
dc.l `iskt`
dc.l `trac`
dc.l `user`
dc.l $4EAEFF3A
dc.l `EXCR`
dc.l `Free`
dc.l ` LAM`
dc.l `DASA`
dc.l $4E714E71
dc.l `LAME`
dc.l `MER `
dc.l `erat`
dc.l `Libe`
dc.l `Libe`
dc.l `HECK`
dc.l `FUCK`
dc.l `N A `
dc.l `Nano`
dc.l `FNNF`
dc.l `egam`
dc.l $60040000
dc.l `BitM`
dc.l $4E716100
dc.l `SPOS`
dc.l `=WO/`
dc.l `oopD`
dc.l `brar`
dc.l `Fana`
dc.l `VIRU`
dc.l ` Jac`
dc.l `Star`
dc.l `Spee`

even
FilevirusOffsetList:
dc.l $00000342
dc.l $00000008
dc.l $00000044
dc.l $000001A0
dc.l $00000028
dc.l $00000260
dc.l $00000460
dc.l $00000380
dc.l $000001B0
dc.l $0000035C
dc.l $00000030
dc.l $00000030
dc.l $00000168
dc.l $000006F0
dc.l $00000300
dc.l $00000028
dc.l $00000162
dc.l $00000220
dc.l $00000224
dc.l $000006C0
dc.l $000004C2
dc.l $0000002C
dc.l $000000C8
dc.l $0000054E
dc.l $000002F0
dc.l $00000206
dc.l $00000088
dc.l $00000448
dc.l $00000460
dc.l $0000129C
dc.l $00002784
dc.l $00003E80
dc.l $000033F0
dc.l $0000054C
dc.l $00000492
dc.l $0000003A
dc.l $000002F0
dc.l $00000410
dc.l $00000020
dc.l $00000702
dc.l $00000180
dc.l $000003D0
dc.l $00000C00
dc.l $000006B0
dc.l $00000290
dc.l $00000050
dc.l $000007C0
dc.l $00000010
dc.l $00000050
dc.l $000023F0

even
BootblockvirusNameList:
dc.l The16BitCrewText
dc.l The2001Text
dc.l AEKText
dc.l AIDSText
dc.l AIDS2Text
dc.l AlienNewBeatText
dc.l AmigaFreakText
dc.l AmigaMasterText
dc.l AngelText
dc.l ASSText
dc.l ASVText
dc.l AsylantText
dc.l AustralianParasiteText
dc.l BamigaSectorOneText
dc.l BBProtText
dc.l BigBossText
dc.l BlackflashText
dc.l BladeRunnersText
dc.l BLFText
dc.l BlizzProV31Text
dc.l BlizzProV33Text
dc.l BlowJobText
dc.l BootXText
dc.l ButonicText
dc.l ByteBanditText
dc.l ByteBanditPlusText
dc.l ByteBandit2Text
dc.l ByteBanditturboText
dc.l ByteVoyagerText
dc.l ByteVoyagerIIText
dc.l ByteWarriorText
dc.l CascadeText
dc.l CCCPText
dc.l ClaasAbrahamText
dc.l ClonkText
dc.l CodersNightmareText
dc.l CrackerExterminatorText
dc.l DAGText
dc.l DAT89Text
dc.l DatacrimeText
dc.l DestructorText
dc.l DetlefText
dc.l DigitalEmotionsText
dc.l DisgustText
dc.l DiskDoktorsText
dc.l DiskGuardText
dc.l DiskHerpesText
dc.l DiskTerminatorText
dc.l DivinaExterminatorText
dc.l DottyText
dc.l DUMDUMText
dc.l EuropeanText
dc.l ExcrementText
dc.l ExecutorsText
dc.l ExtremeText
dc.l FASTText
dc.l FastEddieText
dc.l FICAText
dc.l ForpibText
dc.l FrityText
dc.l fuckdeviceText
dc.l GadaffiText
dc.l GermanyText
dc.l GlasnostText
dc.l GraffitiText
dc.l GremlinText
dc.l GXTeamText
dc.l GyrosText
dc.l HaukeText
dc.l HCSText
dc.l HCSIIText
dc.l HighlanderText
dc.l HillyText
dc.l HODENText
dc.l IceText
dc.l IncognitoText
dc.l IndianaJonesText
dc.l InfectorText
dc.l InfluenzaText
dc.l IngerIQText
dc.l IngoText
dc.l JITRText
dc.l JoshuaText
dc.l JulieText
dc.l KaukiText
dc.l KefrensText
dc.l KilledText
dc.l LADSText
dc.l LameBlameText
dc.l LamerExterminatoroldText
dc.l LamerExterminatornewText
dc.l LamerExterminatorIIText
dc.l LamerExterminatorIIIText
dc.l LamerExterminatorIVText
dc.l LamerExterminatorVText
dc.l LamerExterminatorVIText
dc.l LoverboySexmachineText
dc.l LSDText
dc.l MADText
dc.l MADIIText
dc.l MallanderText
dc.l MEXXText
dc.l MGM89Text
dc.l MICROSYSTEMSText
dc.l MOSHText
dc.l MOSH2Text
dc.l MutilatorText
dc.l NastyNastyText
dc.l NorthStarText
dc.l NorthStarIIText
dc.l ObeliskText
dc.l Obelisk2Text
dc.l OPAPAText
dc.l OverkillText
dc.l PARATAXIText
dc.l PARATAXIIText
dc.l PARATAXIIIText
dc.l PayDayText
dc.l PentagonSlayerText
dc.l PentagonSlayer2Text
dc.l PentagonSlayer3Text
dc.l PlastiqueText
dc.l REPText
dc.l RevengeBootloaderText
dc.l REVENGEText
dc.l SachsenText
dc.l SADDAMHUSSEINText
dc.l SaoPauloText
dc.l SATANText
dc.l SCAText
dc.l ScarfaceText
dc.l SendarionText
dc.l SherlockText
dc.l ShitText
dc.l SSText
dc.l SSIIText
dc.l SuicideMachineText
dc.l SuperboyText
dc.l SupplyTeamText
dc.l SystemZV30Text
dc.l SystemZV40Text
dc.l SystemZV50Text
dc.l SystemZV51Text
dc.l SystemZV53Text
dc.l SystemZV54Text
dc.l SystemZV61Text
dc.l SystemZV64Text
dc.l SystemZV65Text
dc.l TargetText
dc.l TelstarText
dc.l TermigatorText
dc.l TFCRevengeText
dc.l TimeBombText
dc.l TNKText
dc.l TomatesGentechnic10Text
dc.l TomatesGentechnic20Text
dc.l TURKText
dc.l UltrafoxText
dc.l UKLamerStyleText
dc.l USSR492Text
dc.l VCCofTNTText
dc.l VIPHSText
dc.l VirusConstructionSetBootblockText
dc.l VirusSlayerText
dc.l VirusV1Text
dc.l WAFTText
dc.l WahnfriedText
dc.l WARHAWKText
dc.l WarsawAvengerText
dc.l ZACCESSV10Text
dc.l ZACCESSV20Text
dc.l ZACCESSV30Text
dc.l ZenkerText
dc.l ZESTText
dc.l ZLXText
dc.l ZombiText

even
BootblockvirusTestbytesList:
dc.l `Crew`
dc.l `0012`
dc.l ` AEK`
dc.l `HIV!`
dc.l ` Ken`
dc.l `ALIE`
dc.l `AMIG`
dc.l `Mast`
dc.l $4EAEFF3A
dc.l ` PRO`
dc.l `SV!A`
dc.l `ASYL`
dc.l `Aust`
dc.l `BS1!`
dc.l `B-Pr`
dc.l `_BOS`
dc.l `blac`
dc.l `lade`
dc.l `dos.`
dc.l $332E3100
dc.l $332E3300
dc.l `Allo`
dc.l `Viru`
dc.l `BAHA`
dc.l `Band`
dc.l `NqNq`
dc.l `os.l`
dc.l `trac`
dc.l $61000336
dc.l $600002E6
dc.l `DASA`
dc.l `Casc`
dc.l `CCCP`
dc.l $B18536B7
dc.l `CLON`
dc.l `CODE`
dc.l `CRAC`
dc.l ` DAG`
dc.l `T '8`
dc.l `DATA`
dc.l `estr`
dc.l $41FA001A
dc.l `EMOT`
dc.l `Viru`
dc.l ` Dis`
dc.l `DISK`
dc.l ` H e`
dc.l `DISK`
dc.l `dos.`
dc.l `Dott`
dc.l `MDUM`
dc.l `Euro`
dc.l `EXCR`
dc.l `XECU`
dc.l `XTRE`
dc.l $0007F000
dc.l $6000FC38
dc.l `F.I.`
dc.l `FORP`
dc.l `rity`
dc.l `fuck`
dc.l `GADA`
dc.l `Germ`
dc.l `Glas`
dc.l `fiti`
dc.l `grap`
dc.l `intu`
dc.l `GYRO`
dc.l `Hauk`
dc.l `H.C.`
dc.l `H.C.`
dc.l `HIGH`
dc.l $0007FF00
dc.l `HODE`
dc.l `INC!`
dc.l $2C790000
dc.l `iana`
dc.l $6000FC38
dc.l `FUCK`
dc.l `nger`
dc.l `INGO`
dc.l `JITR`
dc.l $00BFE001
dc.l $E0014E75
dc.l `dos.`
dc.l `efre`
dc.l `Kill`
dc.l `LADS`
dc.l $6100FFDE
dc.l $ABCD0000
dc.l $ABCD0000
dc.l $ABCD0000
dc.l $ABCD0000
dc.l $ABCD0000
dc.l $ABCD0000
dc.l $ABCD0000
dc.l ` Sex`
dc.l `LSD!`
dc.l `Infe`
dc.l `cker`
dc.l `DERK`
dc.l `MEXX`
dc.l `MGM8`
dc.l `MICR`
dc.l `MOSH`
dc.l `MOSH`
dc.l `dos.`
dc.l `Nast`
dc.l `Nort`
dc.l `Nort`
dc.l `GURU`
dc.l ` OBE`
dc.l ` OPA`
dc.l $4BF90007
dc.l `TAX `
dc.l `ATAX`
dc.l `ATAX`
dc.l `PayD`
dc.l `enta`
dc.l `Circ`
dc.l `enta`
dc.l ` P L`
dc.l `REP!`
dc.l `Reve`
dc.l `Reve`
dc.l $00078400
dc.l `2000`
dc.l `PAUL`
dc.l `SATA`
dc.l `SCA!`
dc.l `SCAR`
dc.l `Send`
dc.l `ORSI`
dc.l $6100000A
dc.l `!SS!`
dc.l `HEIL`
dc.l $2C790000
dc.l `Supe`
dc.l ` Sup`
dc.l `3.0 `
dc.l `4.0 `
dc.l `5.0 `
dc.l `5.1 `
dc.l `V5.3`
dc.l `V5.4`
dc.l `V6.1`
dc.l `V6.4`
dc.l `V6.5`
dc.l $43524E00
dc.l `6.0 `
dc.l `intu`
dc.l ` 199`
dc.l `IME `
dc.l `TNK!`
dc.l `OMAT`
dc.l `Toma`
dc.l `TURK`
dc.l $4EF900FC
dc.l $61000338
dc.l `Sent`
dc.l `grap`
dc.l `VIPH`
dc.l $00BFE001
dc.l `VIRU`
dc.l `sind`
dc.l $2C780004
dc.l `AHNF`
dc.l `WARH`
dc.l `Wars`
dc.l `ZACC`
dc.l `ZACC`
dc.l `ACCE`
dc.l `ZENK`
dc.l `Z.E.`
dc.l `ZLX!`
dc.l $075A6F6D

even
BootblockvirusOffsetList:
dc.l $000001E0
dc.l $000003F0
dc.l $000003D0
dc.l $000003F0
dc.l $000002D0
dc.l $00000240
dc.l $0000001E
dc.l $0000037A
dc.l $00000054
dc.l $00000344
dc.l $000002F0
dc.l $00000330
dc.l $0000036C
dc.l $000003F0
dc.l $00000338
dc.l $000003F0
dc.l $00000010
dc.l $00000330
dc.l $0000030E
dc.l $0000002A
dc.l $0000002A
dc.l $0000002A
dc.l $0000028E
dc.l $0000032C
dc.l $00000020
dc.l $000002A8
dc.l $000003C2
dc.l $00000320
dc.l $00000010
dc.l $0000000C
dc.l $000000C0
dc.l $000003E2
dc.l $00000054
dc.l $00000004
dc.l $000003B8
dc.l $0000005A
dc.l $00000014
dc.l $000003BA
dc.l $000002C0
dc.l $000001C6
dc.l $000001F4
dc.l $00000010
dc.l $00000280
dc.l $000001B8
dc.l $000003E8
dc.l $000002F4
dc.l $00000390
dc.l $000003C6
dc.l $00000096
dc.l $00000018
dc.l $00000010
dc.l $00000010
dc.l $00000054
dc.l $00000348
dc.l $00000274
dc.l $00000044
dc.l $000003F8
dc.l $000003F2
dc.l $0000001A
dc.l $00000018
dc.l $000002DA
dc.l $00000040
dc.l $00000010
dc.l $00000730
dc.l $00000390
dc.l $00000360
dc.l $000001E0
dc.l $0000023E
dc.l $00000010
dc.l $00000328
dc.l $0000034E
dc.l $0000025C
dc.l $0000009C
dc.l $000002D4
dc.l $000003F0
dc.l $00000120
dc.l $00000320
dc.l $000003F8
dc.l $00000066
dc.l $00000014
dc.l $00000008
dc.l $00000008
dc.l $000001F4
dc.l $00000334
dc.l $00000298
dc.l $000003AC
dc.l $00000264
dc.l $00000008
dc.l $00000058
dc.l $000003A6
dc.l $00000396
dc.l $00000392
dc.l $000003F4
dc.l $000003AE
dc.l $000003AA
dc.l $00000396
dc.l $000001E0
dc.l $000003F0
dc.l $00000010
dc.l $000000A0
dc.l $00000008
dc.l $000003F0
dc.l $00000282
dc.l $000003F4
dc.l $00000016
dc.l $00000016
dc.l $000002A0
dc.l $000001D6
dc.l $00000010
dc.l $00000012
dc.l $00000038
dc.l $00000370
dc.l $00000368
dc.l $00000014
dc.l $000003F0
dc.l $000003B0
dc.l $00000220
dc.l $00000010
dc.l $00000286
dc.l $00000370
dc.l $000002DA
dc.l $00000210
dc.l $000003F0
dc.l $00000010
dc.l $000003E2
dc.l $00000038
dc.l $00000012
dc.l $000002F0
dc.l $00000280
dc.l $000003F0
dc.l $00000308
dc.l $000003E2
dc.l $000002F6
dc.l $00000010
dc.l $00000012
dc.l $0000001A
dc.l $0000032C
dc.l $000002E2
dc.l $00000324
dc.l $0000002C
dc.l $0000002C
dc.l $0000002C
dc.l $0000002C
dc.l $0000002A
dc.l $0000002A
dc.l $0000002A
dc.l $0000002A
dc.l $0000002A
dc.l $0000019C
dc.l $00000024
dc.l $000003EC
dc.l $0000002C
dc.l $00000342
dc.l $000003F0
dc.l $00000182
dc.l $00000040
dc.l $00000066
dc.l $00000036
dc.l $00000368
dc.l $00000054
dc.l $00000168
dc.l $00000022
dc.l $00000146
dc.l $00000010
dc.l $00000322
dc.l $00000050
dc.l $00000312
dc.l $00000366
dc.l $00000386
dc.l $000001D6
dc.l $00000016
dc.l $0000027A
dc.l $00000252
dc.l $00000332
dc.l $000003F0
dc.l $00000184

even
AbsoluteMemoryPositionVirusNameList:
dc.l The16BitCrewText
dc.l The2001Text
dc.l AEKText
dc.l AIDSText
dc.l AlienNewBeatText
dc.l AmigaMasterText
dc.l ASSText
dc.l ASVText
dc.l AsylantText
dc.l BamigaSectorOneText
dc.l BBProtText
dc.l BeethovenText
dc.l BigBossText
dc.l BlackflashText
dc.l BladeRunnersText
dc.l BLFText
dc.l BlowJobText
dc.l BretHawnesText
dc.l ButonicText
dc.l ByteVoyagerText
dc.l ByteVoyagerIIText
dc.l CascadeText
dc.l ClonkText
dc.l CodersNightmareText
dc.l ColorText
dc.l CompuPhagozyteText
dc.l CompuPhagozyte2Text
dc.l CompuPhagozyteIIText
dc.l CompuPhagozyteIIIText
dc.l CompuPhagozyteIIIBCText
dc.l CompuPhagozyteIVText
dc.l DStructureText
dc.l DAGText
dc.l DAT89Text
dc.l DATACRIMEText
dc.l DigitalEmotionsText
dc.l DisgustText
dc.l DiskguardText
dc.l DiskHerpesText
dc.l DiskTerminatorText
dc.l DottyText
dc.l DUMDUMText
dc.l ExcrementText
dc.l ExecutorsText
dc.l FASTText
dc.l FastEddieText
dc.l GadaffiText
dc.l GlasnostText
dc.l GoldenRiderText
dc.l GraffitiText
dc.l GremlinText
dc.l GXTeamText
dc.l GyrosText
dc.l HCSText
dc.l HCSIIText
dc.l HillyText
dc.l HODENText
dc.l IceText
dc.l IndianaJonesText
dc.l InfectorText
dc.l InfluenzaText
dc.l INGOText
dc.l JITRText
dc.l JulieText
dc.l KaukiText
dc.l KefrensText
dc.l KilledText
dc.l LADSText
dc.l LoverboySexmachineText
dc.l LSDText
dc.l MADIIText
dc.l MEXXText
dc.l MGM89Text
dc.l MOSHText
dc.l MOSH2Text
dc.l MutilatorText
dc.l NANOoldText
dc.l NANOnewText
dc.l NastyNastyText
dc.l NorthStarText
dc.l NorthStarIIText
dc.l OverkillText
dc.l PARATAXIText
dc.l PARATAXIIIText
dc.l PayDayText
dc.l PentagonSlayerText
dc.l PentagonSlayer2Text
dc.l PentagonSlayer3Text
dc.l PlastiqueText
dc.l REPText
dc.l REVENGEText
dc.l SachsenText
dc.l SADDAMHUSSEINText
dc.l SaoPauloText
dc.l SATANText
dc.l SCAText
dc.l SendarionText
dc.l SherlockText
dc.l SmilyCancerText
dc.l SSText
dc.l SSIIText
dc.l SuicideMachineText
dc.l SuperboyText
dc.l SupplyTeamText
dc.l SystemZV30Text
dc.l SystemZV40Text
dc.l SystemZV50Text
dc.l SystemZV51Text
dc.l SystemZV53Text
dc.l SystemZV54Text
dc.l SystemZV61Text
dc.l TargetText
dc.l TelStarText
dc.l TermigatorText
dc.l TIMEBOMBText
dc.l TNKText
dc.l TomatesGentechnic10Text
dc.l TomatesGentechnic20text
dc.l TURKText
dc.l UltrafoxText
dc.l USSR492Text
dc.l VirusConstructionSetBootblockText
dc.l VirusSlayerText
dc.l VirusV1Text
dc.l WahnfriedText
dc.l WARHAWKText
dc.l ZaccessV10Text
dc.l ZLXText
dc.l ZombiText

even
AbsoluteMemoryPositionVirusTestbytesList:
dc.l $43726577
dc.l $30303132
dc.l ` AEK`
dc.l $48495621
dc.l `ALIE`
dc.l `Mast`
dc.l `ROTE`
dc.l `SV!A`
dc.l `ASYL`
dc.l `BS1!`
dc.l `B-Pr`
dc.l `BETH`
dc.l `A!BI`
dc.l `blac`
dc.l `lade`
dc.l `trac`
dc.l `cato`
dc.l `BRET`
dc.l `BAHA`
dc.l `VOYA`
dc.l `oyag`
dc.l `Casc`
dc.l `LONK`
dc.l `oder`
dc.l `TURK`
dc.l `gozy`
dc.l `The `
dc.l `COMP`
dc.l `agoz`
dc.l `gozy`
dc.l `agoz`
dc.l `Stru`
dc.l `from`
dc.l `T '8`
dc.l `DATA`
dc.l `EMOT`
dc.l `Viru`
dc.l `DISK`
dc.l ` H e`
dc.l `isk-`
dc.l `Dott`
dc.l `MDUM`
dc.l `EXCR`
dc.l `XECU`
dc.l `ains`
dc.l `EDDI`
dc.l $47414441
dc.l `Glas`
dc.l `Gold`
dc.l `fiti`
dc.l `grap`
dc.l `libr`
dc.l `GYRO`
dc.l $482E432E
dc.l `H.C.`
dc.l `dos.`
dc.l `HODE`
dc.l `INC!`
dc.l `ndia`
dc.l `INFE`
dc.l `I N `
dc.l `INGO`
dc.l `JITR`
dc.l `dos.`
dc.l `dos.`
dc.l `efre`
dc.l `Kill`
dc.l `LADS`
dc.l `Love`
dc.l $4C534421
dc.l $004D4144
dc.l `MEXX`
dc.l `MGM8`
dc.l `MOSH`
dc.l `MOSH`
dc.l `grap`
dc.l `N A `
dc.l `Nano`
dc.l `Nast`
dc.l $4E4F5254
dc.l $57726974
dc.l `Over`
dc.l `PARA`
dc.l `PARA`
dc.l `PayD`
dc.l $656E7461
dc.l `enta`
dc.l `enta`
dc.l ` L A`
dc.l `REP!`
dc.l $52657665
dc.l `ACHS`
dc.l `2000`
dc.l `PAUL`
dc.l `ATAN`
dc.l $53434121
dc.l `Send`
dc.l `ORSI`
dc.l $52494F4E
dc.l `!SS!`
dc.l `HEIL`
dc.l `uici`
dc.l `Supe`
dc.l `uppl`
dc.l ` V3.`
dc.l ` V4.`
dc.l ` V5.`
dc.l `5.1 `
dc.l `V5.3`
dc.l `V5.4`
dc.l `V6.1`
dc.l $43524E00
dc.l `grap`
dc.l `NsAx`
dc.l $424F4D42
dc.l `TNK!`
dc.l `OMAT`
dc.l `Toma`
dc.l `TURK`
dc.l `NuNu`
dc.l `Sent`
dc.l $00BFE001
dc.l `VIRU`
dc.l `sind`
dc.l `AHNF`
dc.l `WARH`
dc.l `ZACC`
dc.l `ZLX!`
dc.l `bi I`

even
AbsoluteMemorypositionVirusOffsetList:
dc.l $0007EDE0
dc.l $0007EFE8
dc.l $0007EFD0
dc.l $0007EFF0
dc.l $00020240
dc.l $0007EF30
dc.l $0007F4B2
dc.l $0007DF00
dc.l $0007EF30
dc.l $0007EFE8
dc.l $0007A338
dc.l $0007F008
dc.l $0007EFE2
dc.l $0007F010
dc.l $0007EF30
dc.l $0007F31A
dc.l $0007F02E
dc.l $0007F004
dc.l $0007EF2C
dc.l $0007F330
dc.l $0007F2E2
dc.l $0007E3E2
dc.l $0007D398
dc.l $0007FA5C
dc.l $00070260
dc.l $0007C400
dc.l $0007C380
dc.l $0007C1B0
dc.l $0007C35C
dc.l $0007C030
dc.l $0007C030
dc.l $0007C168
dc.l $0007EFB6
dc.l $0007FAC0
dc.l $0007DDC6
dc.l $0007EE80
dc.l $0007EDB8
dc.l $0007FCF4
dc.l $0007EF90
dc.l $0007EF24
dc.l $0007F018
dc.l $0007FA10
dc.l $0007F454
dc.l $0007EF48
dc.l $0007F240
dc.l $0007F3D4
dc.l $0007FB40
dc.l $0007F730
dc.l $0007C34C
dc.l $0007EF90
dc.l $0007F760
dc.l $0007F8C0
dc.l $0007EE3E
dc.l $0007EF44
dc.l $0007EF4E
dc.l $0007F440
dc.l $0007F2D4
dc.l $0007EFE4
dc.l $0007E91E
dc.l $0007F310
dc.l $0007F3D2
dc.l $0007F408
dc.l $0007EC18
dc.l $0007F826
dc.l $0007EE98
dc.l $0007EFAC
dc.l $0007EE64
dc.l $0007F408
dc.l $0007EDD6
dc.l $0007EFE4
dc.l $0007FB72
dc.l $0007EFE4
dc.l $0007E582
dc.l $0007C016
dc.l $0007C016
dc.l $0007CD4C
dc.l $0007C492
dc.l $0007C03A
dc.l $0007F1D6
dc.l $0007EF84
dc.l $0007EF9A
dc.l $0007F722
dc.l $0007EFCC
dc.l $0007EE82
dc.l $0007EC10
dc.l $0007FD86
dc.l $0007F368
dc.l $0007E2DA
dc.l $0007EE12
dc.l $0007EFE4
dc.l $0007E3E2
dc.l $000782D8
dc.l $0007F012
dc.l $0007FEF0
dc.l $0007CF26
dc.l $0007EFE8
dc.l $0007E3E2
dc.l $0007FCF6
dc.l $0007FB00
dc.l $0007C012
dc.l $0007C01A
dc.l $0007E424
dc.l $0007EEE2
dc.l $0007F2C8
dc.l $0007F42A
dc.l $0007F42A
dc.l $0007F42A
dc.l $0007F42C
dc.l $0007F42A
dc.l $0007F42A
dc.l $0007F42A
dc.l $0007ED9C
dc.l $0007FED4
dc.l $0007F712
dc.l $00070346
dc.l $0007EFE4
dc.l $00070182
dc.l $0007F640
dc.l $0007F066
dc.l $0007EDB0
dc.l $0007F454
dc.l $0007F146
dc.l $0007FA10
dc.l $0007EF22
dc.l $0007F312
dc.l $0007E966
dc.l $0007EDD6
dc.l $0007EFE4
dc.l $0007A18C


even
ColdRelativeMemoryPositionVirusNameList:
dc.l DestructorText
dc.l DiskVal1234Text
dc.l HARDEXText
dc.l Joshua2Text
dc.l LAMEText
dc.l LOOMText
dc.l RISCText
dc.l SADDAMText

even
ColdRelativeMemoryPositionVirusTestbytesList:
dc.l `estr`
dc.l $0C681234
dc.l `RDEX`
dc.l `trac`
dc.l `LAME`
dc.l `LOOO`
dc.l `ISC `
dc.l `libr`

even
ColdRelativeMemoryPositionVirusOffsetList:
dc.l $00000180
dc.l $00000148
dc.l $0000057E
dc.l $00000242
dc.l $0000014A
dc.l $0000057C
dc.l $0000057E
dc.l $00000560

even
CoolRelativeMemoryPositionVirusNameList:
dc.l AIDS2Text
dc.l AngelText
dc.l AustralianParasiteText
dc.l BlizzProV31Text
dc.l BlizzProV33Text
dc.l CCCPText
dc.l CrackerExterminatorText
dc.l Crime2Text
dc.l CrimePlusText
dc.l DarthVaderText
dc.l DiskDoktorsText
dc.l DivinaExterminatorText
dc.l ExcrementText
dc.l LameBlameText
dc.l MICROSYSTEMSText
dc.l MOSH2Text
dc.l ObeliskText
dc.l PARATAXIIText
dc.l QRDLText
dc.l USSR492Text
dc.l WAFTText

even
CoolRelativeMemoryPositionVirusTestbytesList:
dc.l `A'e*`
dc.l `Ange`
dc.l `Aust`
dc.l `Bliz`
dc.l `Bliz`
dc.l `CCCP`
dc.l `CRAC`
dc.l `Crim`
dc.l `rime`
dc.l `DART`
dc.l `Dokt`
dc.l `IVIN`
dc.l `EXCR`
dc.l `ameB`
dc.l `MICR`
dc.l `MOSH`
dc.l `GURU`
dc.l `ARAT`
dc.l `QRDL`
dc.l `Sent`
dc.l `est-`

even
CoolRelativeMemoryPositionVirusOffsetList:
dc.l $0000033E
dc.l $00000262
dc.l $000002DE
dc.l -$00000222
dc.l -$00000238
dc.l -$00000030
dc.l -$00000096
dc.l $00000346
dc.l $000002B8
dc.l $00000268
dc.l $0000017C
dc.l $000002EA
dc.l -$00000026
dc.l $00000050
dc.l $0000032C
dc.l -$00000072
dc.l -$00000034
dc.l $0000013C
dc.l $00000190
dc.l -$00000026
dc.l $000002DE

even
KickTagRelativeMemoryPositionVirusNameList:
dc.l AmigaFreakText
dc.l AmigaKnightText
dc.l BGS9Text
dc.l BootXText
dc.l ByteBanditText
dc.l ByteBanditPlusText
dc.l ByteBandit2Text
dc.l ByteBanditturboText
dc.l ByteWarriorText
dc.l DetlefText
dc.l DisasterMasterText
dc.l EuropeanText
dc.l ExtremeText
dc.l FICAText
dc.l ForpibText
dc.l FrityText
dc.l GermanyText
dc.l HaukeText
dc.l IncognitoText
dc.l IngerIQText
dc.l IngosReturnText
dc.l IRQText
dc.l JeffBUTONICV131Text
dc.l JeffBUTONICV300Text
dc.l JoshuaText
dc.l LamerExterminatoroldIIIText
dc.l LamerExterminatornewText
dc.l LamerExterminatorIText
dc.l LamerExterminatorIIText
dc.l LamerExterminatorIVVText
dc.l LamerExterminatorVIText
dc.l LamerExterminatorVIIIText
dc.l NaSTText
dc.l ObeliskText
dc.l OPAPAText
dc.l ReturnoftheLamerExterminatorText
dc.l RevengeBootloaderText
dc.l RevengeOfTheLAMERExterminatorText
dc.l RevengeOfTheLAMERExterminatorText
dc.l SCARFACEText
dc.l SEPULTURAText
dc.l ShitText
dc.l SonjaText
dc.l SystemZV64Text
dc.l SystemZV65Text
dc.l TerroristsText
dc.l TFCRevengeText
dc.l UKLamerStyleText
dc.l VIPHSText
dc.l WarsawAvengerText
dc.l ZaccessV20Text
dc.l ZaccessV30Text

even
KickTagRelativeMemoryPositionVirusTestbytesList:
dc.l `AMIG`
dc.l `STAR`
dc.l `TTV1`
dc.l `Boot`
dc.l $42616E64
dc.l `NqNq`
dc.l `dos.`
dc.l `trac`
dc.l `Viru`
dc.l `intu`
dc.l `-seq`
dc.l `Euro`
dc.l `XTRE`
dc.l `F.I.`
dc.l `FORP`
dc.l `rity`
dc.l `Germ`
dc.l `Hauk`
dc.l `dos.`
dc.l `nger`
dc.l `INGO`
dc.l `RQ-T`
dc.l `JEFF`
dc.l `DASA`
dc.l `trac`
dc.l `LAME`
dc.l `LAME`
dc.l `AMER`
dc.l `LAME`
dc.l `AMER`
dc.l `AMER`
dc.l `LAME`
dc.l `NaST`
dc.l `BELI`
dc.l `PARA`
dc.l `amer`
dc.l `Reve`
dc.l $38204F63
dc.l `1986`
dc.l `SCAR`
dc.l `brar`
dc.l `SHIT`
dc.l `onja`
dc.l `V6.4`
dc.l `V6.5`
dc.l `TTV1`
dc.l `anat`
dc.l `devi`
dc.l `VIPH`
dc.l `rsaw`
dc.l `ZACC`
dc.l `ACCE`

even
KickTagRelativeMemoryPositionVirusOffsetList:
dc.l -$000003C4
dc.l $00000242
dc.l $00000A26
dc.l -$00000184
dc.l -$000003C2
dc.l -$0000013C
dc.l -$000003BC
dc.l -$0000002A
dc.l $000002B4
dc.l $00000218
dc.l $00000562
dc.l -$000003D2
dc.l -$000001A2
dc.l $000004CA
dc.l -$000003C8
dc.l -$000003CA
dc.l -$000003D2
dc.l -$000003D2
dc.l -$000003BE
dc.l -$000003CE
dc.l -$0000002A
dc.l -$00000348
dc.l $0000099C
dc.l $000001A6
dc.l $000000EA
dc.l -$0000002E
dc.l -$00000028
dc.l -$00000022
dc.l -$0000002A
dc.l -$00000026
dc.l -$00000028
dc.l -$00000064
dc.l $0000009C
dc.l -$0000009C
dc.l -$00000098
dc.l -$000000DC
dc.l -$000003B8
dc.l -$00000834
dc.l -$0000082A
dc.l -$0000003E
dc.l $00000698
dc.l -$0000017C
dc.l -$0000001E
dc.l -$000003DA
dc.l -$000003DA
dc.l $0000007A
dc.l -$00000126 
dc.l -$000000E0
dc.l -$00000398
dc.l -$00000370
dc.l -$000003CC
dc.l -$0000019C

even
VirusNameList:
The16BitCrewText:
dc.b `16 Bit Crew`,0

even
The2001Text:
dc.b `2001`,0

even
AEKText:
dc.b `AEK`,0

even
AIDSText:
dc.b `AIDS (SCA)`,0

even
AIDS2Text:
dc.b `AIDS (VKill)`,0

even
AlienNewBeatText:
dc.b `Alien New Beat V1.0`,0

even
AmigaFreakText:
dc.b `AMIGA Freak`,0

even
AmigaKnightText:
dc.b `AMIGA Knight`,0

even
AmigaMasterText:
dc.b `AMIGA Master`,0

even
AngelText:
dc.b `Angel`,0

even
AntiChristText:
dc.b `AntiChrist`,0

even
AntiChristTextText:
dc.b `AntiChrist-Text`,0

even
ASSText:
dc.b `ASS Virusprotector V1.0`,0

even
ASVText:
dc.b `ASV V0.000123`,0

even
AsylantText:
dc.b `Asylant`,0

even
AustralianParasiteText:
dc.b `Australian Parasite`,0

even
BamigaSectorOneText:
dc.b `Bamiga Sector One`,0

even
BBProtText:
dc.b `BB-Prot`,0

even
BeethovenText:
dc.b `Beethoven`,0

even
BestialDevastationText:
dc.b `Bestial Devastation`,0

even
BGS9Text:
dc.b `BGS 9`,0

even
BGS9IIText:
dc.b `BGS 9 II`,0

even
BigBossText:
dc.b `Big Boss`,0

even
BlackflashText:
dc.b `Blackflash V2.0`,0

even
BladeRunnersText:
dc.b `Blade Runners`,0

even
BLFText:
dc.b `BLF`,0

even
BlizzProV31Text:
dc.b `Blizz Pro V3.1`,0

even
BlizzProV33Text:
dc.b `Blizz Pro V3.3`,0

even
BlowJobText:
dc.b `BlowJob`,0

even
BlueboxText:
dc.b `BlueBox.icon.library`,0

even
BootXText:
dc.b `BootX`,0

even
BretHawnesText:
dc.b `Bret Hawnes`,0

even
ButonicText:
dc.b `Butonic 1.1`,0

even
ByteBanditText:
dc.b `Byte Bandit`,0

even
ByteBanditPlusText:
dc.b `Byte Bandit +`,0

even
ByteBandit2Text:
dc.b `Byte Bandit 2`,0

even
ByteBanditturboText:
dc.b `Byte Bandit turbo`,0

even
ByteVoyagerText:
dc.b `BYTE VOYAGER`,0

even
ByteVoyagerIIText:
dc.b `Byte Voyager II`,0

even
ByteWarriorText:
dc.b `Byte Warrior`,0

even
CascadeText:
dc.b `Cascade`,0

even
CCCPText:
dc.b `CCCP`,0

even
ClaasAbrahamText:
dc.b `Claas Abraham`,0

even
ClonkText:
dc.b `CLONK`,0

even
CodersNightmareText:
dc.b `Coders Nightmare`,0

even
ColorText:
dc.b `Color (TURK V1.3)`,0

even
CompuPhagozyteText:
dc.b `CompuPhagozyte`,0

even
CompuPhagozyte2Text:
dc.b `CompuPhagozyte 2`,0

even
CompuPhagozyteIIText:
dc.b `COMPUPhagozyte II`,0

even
CompuPhagozyteIIIText:
dc.b `CompuPhagozyte III A`,0

even
CompuPhagozyteIIIBCText:
dc.b `CompuPhagozyte III B/C`,0

even
CompuPhagozyteIVText:
dc.b `CompuPhagozyte IV`,0

even
CrackerExterminatorText:
dc.b `Cracker Exterminator`,0

even
Crime2Text:
dc.b `Crime 2`,0

even
CrimePlusText:
dc.b `Crime!++`,0

even
DStructureText:
dc.b `D-Structure`,0

even
DAGText:
dc.b `DAG`,0

even
DAGCreatorText:
dc.b `DAG-Creator`,0

even
DarthVaderText:
dc.b `DARTH VADER 1.1`,0

even
DAT89Text:
dc.b `DAT '89`,0

even
DatacrimeText:
dc.b `Datacrime`,0

even
DestructorText:
dc.b `Destructor V1.2`,0

even
DetlefText:
dc.b `Detlef`,0

even
DigitalEmotionsText:
dc.b `DIGITAL EMOTIONS`,0

even
DisasterMasterText:
dc.b `DISASTER-MASTER V2`,0

even
DisgustText:
dc.b `Disgust`,0

even
DiskDoktorsText:
dc.b `Disk-Doktors`,0

even
DiskguardText:
dc.b `DISK GUARD V1.0`,0

even
DiskHerpesText:
dc.b `Disk-Herpes`,0

even
DiskKillerText:
dc.b `DISK-KILLER V1.0`,0

even
DiskTerminatorText:
dc.b `Disk-Terminator`,0

even
DisktroyerV10Text:
dc.b `Disktroyer V1.0`,0

even
DisktroyerV20Text:
dc.b `Disktroyer V2.0`,0

even
DiskVal1234Text:
dc.b `Disk-Val1234`,0

even
DivinaExterminatorText:
dc.b `Divina Exterminator`,0

even
DMTrashText:
dc.b `DM-Trash`,0

even
DottyText:
dc.b `Dotty`,0

even
DriveInfoText:
dc.b `Drive Info(Crime!Linkvirus)`,0

even
DUMDUMText:
dc.b `DUMDUM`,0

even
EuropeanText:
dc.b `European`,0

even
ExcrementText:
dc.b `EXCREMENT`,0

even
ExcrementCreatorText:
dc.b `EXCREMENT Creator`,0

even
ExecutorsText:
dc.b `EXECUTORS`,0

even
ExtremeText:
dc.b `EXTREME`,0

even
FASTText:
dc.b `F.A.S.T`,0

even
FastEddieText:
dc.b `Fast Eddie`,0

even
FICAText:
dc.b `FICA`,0

even
ForpibText:
dc.b `FORPIB`,0

even
FreedomText:
dc.b `Freedom!`,0

even
FrityText:
dc.b `Frity`,0

even
fuckdeviceText:
dc.b `fuck.device`,0

even
GadaffiText:
dc.b `GADAFFI`,0

even
GermanyText:
dc.b `Germany`,0

even
GlasnostText:
dc.b `GLASNOST`,0

even
GoldenRiderText:
dc.b `Golden Rider`,0

even
GotchaLamerText:
dc.b `Gotcha Lamer`,0

even
GotchaLamerCreatorText:
dc.b `Gotcha Lamer Creator`,0

even
GraffitiText:
dc.b `Graffiti`,0

even
GremlinText:
dc.b `Gremlin`,0

even
GXTeamText:
dc.b `GX.Team`,0

even
GyrosText:
dc.b `GYROS`,0

even
HARDEXText:
dc.b `HARDEX`,0

even
HaukeText:
dc.b `Hauke`,0

even
HCSText:
dc.b `H.C.S`,0

even
HCSIIText:
dc.b `H.C.S II`,0

even
HighlanderText:
dc.b `HIGHLANDER`,0

even
HillyText:
dc.b `Hilly`,0

even
HochofenText:
dc.b `Hochofen`,0

even
HODENText:
dc.b `HODEN V33.17`,0

even
IceText:
dc.b `ICE`,0

even
IncognitoText:
dc.b `Incognito`,0

even
IndianaJonesText:
dc.b `Indiana Jones`,0

even
InfectorText:
dc.b `Infector`,0

even
InfluenzaText:
dc.b `INFLUENZA`,0

even
IngerIQText:
dc.b `Inger IQ`,0

even
IngoText:
dc.b `INGO`,0

even
IngosReturnText:
dc.b `INGOs Return`,0

even
IRQText:
dc.b `IRQ`,0

even
JeffBUTONICV131Text:
dc.b `Jeff BUTONIC V1.31`,0

even
JeffBUTONICV300Text:
dc.b `Jeff BUTONIC V3.00`,0

even
JITRText:
dc.b `JITR`,0

even
JoshuaText:
dc.b `Joshua`,0

even
Joshua2Text:
dc.b `Joshua 2`,0

even
JulieText:
dc.b `Julie`,0

even
KaukiText:
dc.b `Kauki`,0

even
KefrensText:
dc.b `Kefrens`,0

even
KilledText:
dc.b `Killed`,0

even
LADSText:
dc.b `LADS`,0

even
LAMEText:
dc.b `LAME`,0

even
LameBlameText:
dc.b `Lame Blame!`,0

even
LamerExterminatoroldText:
dc.b `old LAMER Exterminator`,0

even
LamerExterminatoroldIIIText:
dc.b `(old) LAMER Exterminator (III)`,0

even
LamerExterminatornewText:
dc.b `new Lamer Exterminator`,0

even
LamerExterminatorIText:
dc.b `LAMER Exterminator I`,0

even
LamerExterminatorIIText:
dc.b `LAMER Exterminator II`,0

LamerExterminatorIIIText:
dc.b `LAMER Exterminator III`,0

even
LamerExterminatorIVText:
dc.b `LAMER Exterminator IV`,0

even
LamerExterminatorIVVText:
dc.b `LAMER Exterminator IV or V`,0

even
LamerExterminatorVText:
dc.b `LAMER Exterminator V`,0

even
LamerExterminatorVIText:
dc.b `LAMER Exterminator VI`,0

even
LamerExterminatorVIItext:
dc.b `LAMER Exterminator VII`,0

even
LamerExterminatorVIIIText:
dc.b `LAMER Exterminator VIII`,0

even
LamerLoadWBText:
dc.b `LAMER LoadWB`,0

even
LamerVirusXText:
dc.b `LAMER VirusX`,0

even
Liberatorv121Text:
dc.b `Liberator v1.21`,0

even
Liberatorv30Text:
dc.b `Liberator v3.0`,0

even
Liberatorv501Text:
dc.b `Liberator v5.01`,0

even
LOOMText:
dc.b `LOOM`,0

even
LoverboySexmachineText:
dc.b `Loverboy & Sexmachine`,0

even
LSDText:
dc.b `LSD`,0

even
MADText:
dc.b `MAD`,0

even
MADIIText:
dc.b `MAD II`,0

even
MallanderText:
dc.b `MALLANDER V1.0`,0

even
MENEMSREVENGEText:
dc.b `MENEMs REVENGE`,0

even
MEXXText:
dc.b `MEXX`,0

even
MGM89Text:
dc.b `MGM 89`,0

even
MICROSYSTEMSText:
dc.b `MICROSYSTEMS`,0

even
ModemCheckerText:
dc.b `MODEMCHECKER`,0

even
ModemCheckerLoadWBText:
dc.b `MODEMCHECKER LoadWB`,0

even
MOSHText:
dc.b `MOSH`,0

even
MOSH2Text:
dc.b `MOSH 2`,0

even
MutilatorText:
dc.b `Mutilator`,0

even
NANOoldText:
dc.b `old NANO`,0

even
NanonewText:
dc.b `Nano (new)`,0

even
NaSTText:
dc.b `NaST`,0

even
NastyNastyText:
dc.b `Nasty-nasty`,0

even
NoGuruV20Text:
dc.b `No Guru V2.0`,0

even
NorthStarText:
dc.b `NORTH STAR`,0

even
NorthStarIIText:
dc.b `NORTH STAR II`,0

even
ObeliskText:
dc.b `OBELISK`,0

even
Obelisk2Text:
dc.b `OBELISK 2`,0

even
OPAPAText:
dc.b `OPAPA`,0

even
OverkillText:
dc.b `Overkill`,0

even
PARATAXIText:
dc.b `PARATAX I`,0

even
PARATAXIIText:
dc.b `PARATAX II`,0

even
PARATAXIIIText:
dc.b `PARATAX III`,0

even
PayDayText:
dc.b `PayDay`,0

even
PentagonSlayerText:
dc.b `Pentagon-Slayer`,0

even
PentagonSlayer2Text:
dc.b `Pentagon-Slayer 2`,0

even
PentagonSlayer3Text:
dc.b `Pentagon-Slayer 3`,0

even
PlastiqueText:
dc.b `Plastique`,0

even
PPBombText:
dc.b `PP-Bomb`,0

even
QRDLText:
dc.b `QRDL 1.1`,0

even
RedOctoberText:
dc.b `Red October 1.7`,0

even
REPText:
dc.b `REP!`,0

even
ReturnoftheLamerExterminatorText:
dc.b `Return of the Lamer Exterminator`,0

even
RevengeBootloaderText:
dc.b `Revenge Bootloader`,0

even
RevengeOfTheLamerExterminatorText:
dc.b `Revenge Of The LAMER Exterminator`,0

even
RevengeOfTheLamerExterminator2Text:
dc.b `Revenge Of The LAMER Exterminator 2`,0

even
REVENGEText:
dc.b `REVENGE V1.2`,0

even
RISCText:
dc.b `RISC`,0

even
SachsenText:
dc.b `SACHSEN No.1`,0

even
SADDAMText:
dc.b `SADDAM`,0

even
SADDAMHUSSEINText:
dc.b `SADDAM HUSSEIN`,0

even
SaoPauloText:
dc.b `Sao Paulo`,0

even
SATANText:
dc.b `SATAN`,0

even
SCAText:
dc.b `SCA`,0

even
SCARFACEText:
dc.b `SCARFACE`,0

even
SendarionText:
dc.b `Sendarion #1`,0

even
SEPULTURAText:
dc.b `SEPULTURA`,0

even
SherlockText:
dc.b `Sherlock2.0`,0

even
ShitText:
dc.b `Shit`,0

even
ShowSysopText:
dc.b `ShowSysop`,0

even
SmilyCancerText:
dc.b `Smily Cancer`,0

even
SmilyCancerLoadWBText:
dc.b `Smily Cancer LoadWB`,0

even
SnoopDosText:
dc.b `SnoopDos 1.6`,0

even
SonjaText:
dc.b `Sonja`,0

even
SSText:
dc.b `SS`,0

even
SSIIText:
dc.b `SS II`,0

even
SuicideMachineText:
dc.b `Suicide Machine`,0

even
SuperboyText:
dc.b `Superboy`,0

even
SupplyTeamText:
dc.b `Supply Team`,0

even
SystemZV30Text:
dc.b `System Z V3.0`,0

even
systemZV40Text:
dc.b `System Z V4.0`,0

even
SystemZV50Text:
dc.b `System Z V5.0`,0

even
SystemZV51Text:
dc.b `System Z V5.1`,0

even
SystemZV53Text:
dc.b `System Z V5.3`,0

even
SystemZV54Text:
dc.b `System Z V5.4`,0

even
SystemZV61Text:
dc.b `System Z V6.1`,0

even
SystemZV64Text:
dc.b `System Z V6.4`,0

even
SystemZV65Text:
dc.b `System Z V6.5`,0

even
TargetText:
dc.b `TARGET`,0

even
TelecomText:
dc.b `Telecom`,0

even
TelStarText:
dc.b `TelStar`,0

even
TermigatorText:
dc.b `Termigator`,0

even
TerroristsText:
dc.b `Terrorists`,0

even
TFCRevengeText:
dc.b `T.F.C. Revenge`,0

even
TFCRevengeLoadWBText:
dc.b `T.F.C. Revenge LoadWB`,0

even
TimeBombText:
dc.b `TIME BOMB 1.0`,0

even
TimeBombV09Text:
dc.b `TIME BOMB V0.9`,0

even
TNKText:
dc.b `TNK!`,0

even
TomatesGentechnic10Text:
dc.b `TOMATES GENTECHNIC 1.0`,0

even
TomatesGentechnic20Text:
dc.b `TOMATES GENTECHNIC 2.0`,0

even
TravelingJackText:
dc.b `Traveling Jack`,0

even
TravelingJack2Text:
dc.b `Traveling Jack 2`,0

even
TravelingJackTextText:
dc.b `Traveling Jack-Text`,0

even
TURKText:
dc.b `TURK V1.3`,0

even
UltrafoxText:
dc.b `Ultrafox`,0

even
UKLamerStyleText:
dc.b `UK Lamer Style`,0

USSR492Text:
dc.b `USSR 492`,0

even
VCCofTNTText:
dc.b `VCC of TNT`,0

even
VIPHSText:
dc.b `VIPHS`,0

even
VirusConstructionSetText:
dc.b `Virus Construction Set`,0

even
VirusConstructionSetBootblockText:
dc.b `Virus Construction Set-Bootblock`,0

even
VirusSlayerText:
dc.b `Virus Slayer`,0

even
VirusV1Text:
dc.b `Virus V1`,0

even
WAFTText:
dc.b `WAFT`,0

even
WahnfriedText:
dc.b `WAHNFRIED`,0

even
WARHAWKText:
dc.b `WARHAWK`,0

even
WarsawAvengerText:
dc.b `Warsaw Avenger`,0

even
XenoText:
dc.b `Xeno`,0

even
xprzspeedV32Text:
dc.b `xprzspeed V3.2`,0

even
ZaccessV10Text:
dc.b `ZACCESS V1.0`,0

even
ZaccessV20Text:
dc.b `ZACCESS V2.0`,0

even
ZaccessV30Text:
dc.b `ZACCESS V3.0`,0

even
ZenkerText:
dc.b `ZENKER`,0

even
ZESTText:
dc.b `Z.E.S.T`,0

even
ZLXText:
dc.b `ZLX!`,0

even
ZombiText:
dc.b `Zombi I`,0

even
BootBlock:
	start:	dc.b	'DOS',0
	dc.l	$DE486BA1
	dc.l	880
main:	lea	dosname2(PC),a1
	jsr	-96(a6)
	tst.l	d0
	beq.S	error
	move.l	d0,a0
	move.l	$16(a0),a0
	moveq	#0,d0
halt:	rts
error:	moveq	#-1,d0
	bra.S	halt
dosname2:	dc.b	'dos.library',0
	
dc.b `Disk installed by AntiCicloVir V2.2`,0
dc.b `-> Der Beste im Norden !!!`,0,0,0,0,0,0,0,0,0
dc.b `Send new viruses to Matthias Gutt * Kantstr. 16 `,0
dc.b `* 21335 Lueneburg * Germany`,0
blk.b 900,0

