p                    p                                                                                                                                                                                                                                                                                                                                     ;           08                                                     @               @P               D       x\          D       ~\         \                ?            @   B   (          D$             pLL               x           < 0 1          @   @          @< A           @
            @ %            @8&@          @bB           @.            @                @               ?            @      ӟ         @   >         B     (pc),a2
	move.l	d0,(a2)
	beq	BadDir
	lea	LockSTxt(pc),a0
	bsr.L	WWriter
	lea	SourDir+2(pc),a0
	move.l	a0,d1
	bsr	Lockroutine
	lea	SourLock(pc),a2
	move.l	d0,(a2)
	beq	BadDir
	
	move.l	4.w,a6
	move.l	#$1000,d0
	move.l	#$10001,d1
	jsr	allocmem(a6)
	lea	Mem1(pc),a2
	move.l	d0,(a2)
	beq.L	Dealloc
	move.l	#MAXMEM,d0
	move.l	#$10001,d1
	jsr	allocmem(a6)
	lea	Mem2(pc),a2
	move.l	d0,(a2)
	beq.L	Dealloc
	move.l	#MAXMEM,d0
	move.l	#$10001,d1
	jsr	allocmem(a6)
	lea	Mem3(pc),a2
	move.l	d0,(a2)
	beq.L	Dealloc
	move.l	#$        C               @ 	           @   x             LPC``           @ vF  _            Pa(             a   h            `	@             D             @ ` 	          @              D	( \         DA   \         \   Q         Aa            F<c         ??          ?k           p      @          0     @             8                                               204,d0
	move.l	#$10001,d1
	jsr	allocmem(a6)
	lea	Mem4(pc),a2
	move.l	d0,(a2)
	beq.L	Dealloc

	lea	NF(pc),a0
	clr.w	(a0)
	lea	NS(pc),a0
	clr.w	(a0)

	lea	StText(pc),a0
	bsr.L	WWriter

	move.l	dosbase(pc),a6
	moveq	#0,d0
	move.l	SourLock(pc),d1
	move.l	Mem1(pc),d2
	jsr	examine(a6)	
	tst.l	d0
	beq.L	BadDir

NextFile:
	move.l	dosbase(pc),a6
	moveq	#0,d0
	move.l	SourLock(pc),d1
	move.l	Mem1(pc),d2
	jsr	exnext(a6)	
	tst.l	d0
	beq.L	Finished
	
	move.l	Mem1(pc),a1
	tst.l	4(a1)		;DIRECTORY ?
	bpl.s	NextFile

	lea	$8(a1),a0
	move.l	a0,d7
	lea	Sctext(pc),a0
	bsr	WWriter
	move.l	d7,a0
	move.l	mem2(pc),a1
	bsr	Load_A_File
	lea	Filelen1(pc),a2
	move.l	d0,(a2)
	move.l	a0,d7
	tst.l	d0
	bpl.s	WFile1
	lea	NotFoundtxt(pc),a0
Wfile1:	bsr	WWriter
	move.l	d7,a0

	move.w	DestDir(pc),d0
	subq.w	#1,d0
	lea	DestDir+2(pc),a0
	lea	Second(pc),a1
Sec2:	move.b	(a0)+,(a1)+
	dbf	d0,Sec2

	move.l	d7,a0
	move.l	a0,-(a7)
Sec3:	move.b	(a0)+,(a1)+
	bne.s	Sec3
	clr.b	(a1)

	lea	Detext(pc),a0
	bsr	WWriter

	lea	Second(pc),a0
	move.l	mem3(pc),a1
	bs            >9->n            >;>]            >;~           >?~            >? |a            ><m|b            >:-?            >7            >            >  ?            ~ ?            ?]l            ?Ŏ            >ێ           12~t           4޽_           Ͻ_ݗ           z            }w7            l=w            ~~l            :|xoӌl            ?8qO    r	Load_A_File
	lea	Filelen2(pc),a2
	move.l	d0,(a2)

	move.l	(a7)+,a0
	tst.l	d0
	bpl.s	WFile2
	lea	NF(pc),a0
	addq.w	#1,(a0)
	lea	NotFoundtxt(pc),a0
Wfile2:	bsr	WWriter


	move.l	Mem2(pc),a3
	move.l	Mem3(pc),a4
	move.l	Filelen1(pc),d3
	bmi.s	EndC
	move.l	Filelen2(pc),d4
	bmi.s	EndC
	cmp.l	d3,d4
	bne.s	Diffe

NextB:	move.b	(a4)+,d5
	cmp.b	(a3)+,d5
	
	bne.s	Diffe
	subq.l	#1,d3
	bne.s	NextB

EndC:	move.l	d7,a0
	btst	#6,$bfe001
	beq.s	Finished
	bra	NextFile

Diffe:	lea	NS(pc),a0
	addq.w	#1,(a0)
	lea	Differenttxt  ?`|            Xyl           ?q                      ?_           >w            | @              '?           ?o            p     @            0    @            $                                                                                                                                                                                                                                                                                                `                    `                                                                                0                    `                                                                                                                                                                                                                                                                                            (9  H(pc),a0
	bsr	WWriter
	move.l	d7,a0
	bra	NextFile

Finished:
	move.w	NF(pc),d0
	lea	NFFil(pc),a1
	bsr	Convert
	move.w	NS(pc),d0
	lea	NSFil(pc),a1
	bsr	Convert
	move.w	NL(pc),d0
	lea	NLFil(pc),a1
	bsr	Convert

	lea	EndText(pc),a0
	bsr	WWriter

Dealloc:
	move.l	4.w,a6
	move.l	#$1000,d0
	lea	Mem1(pc),a1
	move.l	(a1),d1
	clr.l	(a1)
	move.l	d1,a1
	tst.l	d1
	beq.s	NODe
	jsr	Freemem(a6)

	move.l	#MAXMEM,d0
	lea	Mem2(pc),a1
	move.l	(a1),d1
	clr.l	(a1)
	move.l	d1,a1
	tst.l	d1
	beq.s	NODe
	jsr	Freemem(a6)
	move.l	#MAXMEM,d0
	lea	Mem3(pc),a1
	move.l	(a1),d1
	clr.l	(a1)
	move.l	d1,a1
	tst.l	d1
	beq.s	NODe
	jsr	Freemem(a6)
	move.l	#$204,d0
	lea	Mem4(pc),a1
	move.l	(a1),d1
	clr.l	(a1)
	move.l	d1,a1
	tst.l	d1
	beq.s	NODe
	jsr	Freemem(a6)
NoDe:	bra.s	CloseWin

BadDir:
	lea	baddirtxt(pc),a0
	bsr	WWriter
	bra.s	Closewin
BadEntry:
	lea	badtext(pc),a0
	bsr	WWriter
Closewin:
	btst	#6,$bfe001
	bne.s	Closewin
	lea	handle(pc),a1
	move.l	(a1),d1
	move.l	dosbase(pc),a6
	jsr	close(a6)
Closedos:
	move.l	$4.w,a6
	move.l	dosbase(pc),a1
	jsr	closelibrary(a6)
	moveq	#0,d0
EndOk:	movem.l	(a7)+,d1-d7/a0-a6
	rts
Ende:	moveq	#1,d0
	bra.s	EndOk

WWriter:movem.l	d0-d3/a0,-(a7)
	move.l	dosbase(pc),a6
	lea	handle(pc),a1
	move.l	(a1),d1
	move.l	a0,d2
	moveq	#-1,d3
NextCh:	addq.l	#1,d3
	tst.b	(a0)+
	bne.s	NextCh
	jsr	write(a6)
	movem.l	(a7)+,d0-d3/a0
	rts

LockRoutine:
	movem.l	d1-d7/a0-a3,-(a7)
	lea	Helplock(pc),a2
	clr.l	(a2)

	move.l	d1,a0
	move.l	d1,a1

	moveq	#":",d4
	moveq	#"/",d5
	
	move.b	(a0),d7
ChDP:	tst.b	(a1)
	beq.s	FinDP
	cmp.b	(a1)+,d4
	bn  P           0  		  @         t                                                                                                                                                                                                                                      `                    0                                                                                                    0                    `                 e.s	ChDP
	move.l	a0,d1
	move.l	a1,a0
	move.b	(a0),d7
	clr.b	(a0)

	move.l	a0,-(a7)
	move.l	d1,a0
	bsr	WWriter

	move.l	Dosbase(pc),a6
	move.l	#Mode_OldFile,d2
	jsr	lock(a6)
	move.l	(a7)+,a0
	move.l	d0,d1
	beq.s	BadLock
	move.l	a0,-(a7)
	move.l	d0,(a2)
	jsr	currentdir(a6)
	move.l	d0,d1
	beq.s	NoUl1
;	jsr	unlock(a6)
NoUl1:	move.l	(a7)+,a0


FinDP:	move.b	d7,(a0)
	move.l	a0,a1
NexSl:	tst.b	(a1)
	beq.s	BadLock
	cmp.b	(a1)+,d5
	bne.s	NexSl
	move.l	a0,d1
	move.l	a1,a0
	move.b	(a0),d7
	clr.b	(a0)

	move.l	a0,-(a7)
	move.l	d1,a0
	bsr	WWriter

	move.l	#Mode_OldFile,d2
	move.l	Dosbase(pc),a6
	clr.l	(a2)
	jsr	lock(a6)
	move.l	(a7)+,a0
	move.l	d0,d1
	beq.s	BadLock
	move.l	a0,-(a7)
	move.l	d0,(a2)
	move.l	(a2),d1
	jsr	currentdir(a6)
	move.l	d0,d1
	beq.s	NoUl2
;	jsr	unlock(a6)
NoUl2:	move.l	(a7)+,a0
	bra.s	FinDP

BadLock:move.l	(a2),d0
	movem.l	(a7)+,d1-d7/a0-a3
	rts

Load_A_File:
	move.l	a0,-(a7)
	move.l	a0,d1
	move.l	a1,d7

	move.l	#Mode_OldFile,d2
	move.l	Dosbase(pc),a6
	jsr	open(a6)
	lea	Filehdl,a2
	move.l	d0,(a2)
	beq      @              f  `             "  b               `   b               ` cB               !b          0     c          0      a                                      `                             0       a                  a                  A          0    @            `  @         08     >          0             0 0@F              @             #L              #                                  .s	LoadError

	move.l	Filehdl(pc),d1
	move.l	d7,d2
	move.l	#MAXMEM,d3
	move.l	Dosbase(pc),a6
	jsr	read(a6)
	move.l	d0,d6

	move.l	Filehdl(pc),d1
	move.l	Dosbase(pc),a6
	jsr	close(a6)

	move.l	d6,d0
	move.l	d7,a0
	move.l	Mem4(pc),a1
	move.l	d0,-(a7)
	move.l	d0,a6
	bsr.s	Decrunch
	move.l	a6,d0		;Crunched
	move.l	(a7)+,d1	;Decrunched
	cmp.l	d1,d0
	bge.s	NoShort
	lea	NL(pc),a0
	addq.w	#1,(a0)
	lea	Shortertxt(pc),a0
	bsr	WWriter
NoShort:
EnLoa:	move.l	(a7)+,a0
	rts

LoadError:
	moveq	#-1,d0
	bra.s	EnLoa

Convert                                                                                 `                    0                                                                                                                                                                                                                                                                                                                                                                                    :moveq	#0,d1
	moveq	#0,d4
	move.w	#100,d4
	moveq	#2,d5
Con2:	move.w	d0,d1
	divu	d4,d1
	move.b	d1,(a1)
	add.b	#"0",(a1)+
	mulu	d4,d1
	sub.w	d1,d0
	divu	#10,d4
	dbf	d5,Con2
	rts

** New Decrunch Version *
*********************************
*  POWERPACKER v4.0a Decruncher * Remove line 85! (Color Decrunch)
*********************************
* Decrunching to its OWN BUFFER *
*********************************

;	lea	$50000,A0	;Start Crunched DATA
;	lea	$70000,A1	;Buffer ($50 Bytes)
;	move.l	#$40,D0	;Lenght Crunche                                 w                                            |                                 |                                            ?           ?                                 ?                      7                                 d DATA


Decrunch:
	move.l	A0,A5
	cmp.l	#"PP20",(A5)+
	bne.s	Sentine

	movem.l	d0/a0,-(a7)
	lea	Crunch(pc),a0
	bsr	WWriter
	movem.l	(a7)+,d0/a0

	moveq	#0,d4
	moveq	#$7f,D5
	move.l	A5,A4
	move.l	A1,A5
CopyBUF:move.l	(A4)+,(A1)+
	addq.l	#4,d4
	dbf	d5,CopyBUF
	move.l	A0,A3
	
	cmp.l	d0,d4
	blo.s	NoShortFile
	lea	-4(a5),a0
NoShortFile:
	add.l	D0,A0

PowerDe:moveq	#3,D6		; A0 End of Crunched File
 	moveq	#1,D4		; A3 Destination
	moveq	#7,D7		; A5 Shiftbits
	moveq	#1,D5
	move.l	A3,A2
	move.l	-(A0),D1
	tst.b	D1
	beq.s	Decru01
	bsr.s	Decru05
	sub.l	D4,D1
	lsr.l	D1,D5
Decru01:lsr.l	#8,D1
	add.l	D1,A3
	move.l	d1,a6
Decru02:bsr.s	Decru05
	bcs.s	Decru12
	moveq	#0,D2
Decru03:moveq	#1,D0
	bsr.s	Decru08
	add.w	D1,D2
	cmp.w	D6,D1
	beq.s	Decru03
Decru04:moveq	#7,D0
	bsr.s	Decru08
	move.b	D1,-(A3)
	dbra	D2,Decru04
	cmp.l	A3,A2
	bcs.s	Decru12
Sentine:rts
Decru05:lsr.l	D4,D5
	beq.s	Decru06
	rts
Decru06:bsr.s	Decru18
	roxr.l	D4,D5
	rts
Decru07:subq.w	#1,D0
Decru08:moveq	#0,D1
Decru09:lsr.l	D4,D5
	beq.s	Decru11
Decru10:roxl.l	D4,DBUF
	move.l	A0,A3
	
	cmp.l