" LISTFLAGLISTFLAGEI(2X;SAVE#D3:ARC:ARC.M65<X;ASM,,#D3:ARC:ARC.OBJFX;PX; ҠàZX; By: Robert Puff 01/24/89dX;n x:X;DLIST1 p=p=p=B DL1SC K =======================A DLIST17DLIST2 p=p=p=p=p=p=p=p=p=p=p=p=p=p=B LINE1 A DLIST25LINE1 A AX; ASMTEMP X; PRZPSBZLEN;;3 BYTESDBZLEN;;3 BYTES" CRC,SRCLEN;;3 BYTES6REPFLG;;PACKING VARS:@ LASTBYJ COUNTRT NOLAST^ SAVEBh SAVEB2rPAKLEN;;3 BYTES|X;X;CLEAR_FLG OFFSET CHAR BITSFREE_ENT CODEB_OUT;;3 BYTES DISP KLUDGE TIME DATEX;X; QUERY SBUFF& SBLEN0 DBUFF: DBLEND SCROFFNSWAPFLGXPRINTEMP;;WORDb PREBFRl TEMP2vX;ONEDRIVEɊBATCHFLGʔSRCFLEN˞DOSSTACK̨CRUNONLYͲPASSFLGμSPARTAFPASSLOCPASSLENONETIME MYDOSX; N_BITSFIRST_CMP MAXCODE B_REF  B_LAST*IN_COUNT4 IVAR> ENTHX;RX;\INITPT1Qf PRESTCLRpQzPRESTCLRQjR> ECLC1QR> S FCLC1QM> HCLC1QL HCLC1#QL>P$Q>.Pj8 CLOSE0B DOIOL =V EDEV== `CLC1 CLOSE1j CLOSE2t CLOSE3~ DOIO 0=;;OPEN K: KDEV==QX PDL1SCQY PDL1SCQ;S>ENDOFPRG.Q  PSBLENQS>ENDOFPRG.Q  PSBLEN X;Q;(S2R>t< EMEMOKF$>OUTMEMP%>OUTMEMZ PRINTd7n7x !DUMPOUT6OUTMEM =AError: Not enough free memory!A==MEMOKVSBLEN WSBLENQ>ENDOFPRG.Q  PSBUFF, OSBLEN PDBUFFQ>ENDOFPRG.Q  PSBUFF OSBLEN PDBUFF QSBLEN PDBLEN QSBLEN PDBLEN"Q>ENDOFPRG, PPREBFR6Q>ENDOFPRG@PPREBFRJQ>ENDOFPRG-N T PFNBUFF^Q>ENDOFPRG-N hPFNBUFFrQ>| PBATCHFLG PSCROFF PSCROFF PQUERY PSWAPFLG PCRUNONLY PPASSFLG PSPARTAF PMYDOS PADDFLAG #SCROFFQ>PQ>PQR> S& HNOPM0010 #SPARTAF1NOPM001%>2Q@ 73R>L;;CMD PROC DOS?4 HNOPM05%>6Q@ 77R>L8 HNOPM0:Q D,NO>XPCRNAMEbQ lO>vPCRNAME CRNAM2 FNOPARM%>!$> SP1Q@ 7 PSFNAME9R> FSP2A23HSP1 NOPARM:NOPM0!NOPARM0 SP2A!SP2 X;CRNAM2%> Q@ 7*54 CRNAME>7H%> RR@ 7\:fCRNAME!pX;z ASMTEMPX; SFNAMEX DFNAMEX HEADER DFPATH< DSTDNS  DNSTMP PASSWORD NOTLOC FTEMP(RESTCLR EOFFLG+ FNBUFF  FNLOC  MOREPASS == ADDFLAG $ X;. >D3:ARC:ARC2.M658 X;B ENTSRCQ>@L P;;FORCE UPPER CASEV DOIO` =j  SFNAME=P= t G?EC1~ QH9 R> ENINS2 ?EC17 7 !MAIN X; NINS2QSFNAME QSFNAME R> D HIN26 QSFNAME R> 1 DIN26 R>; DIN2L IN26%H( 12 IN2KQSFNAME8< PSFNAME8F 1P IIN2KZ Q> Dd PSFNAME;;add "D:"n Q> :x PSFNAME #H #H;;ADD 2 IN2L: X; SAVSCRQT PFREE_ENT QU PFREE_ENT Q> P EOUTCH SETVAR $> %> ' DIR1Q@CODE7" P@PRZP7, 36 HDIR1@ #CODEJ #PRZPT 0^ HDIR1h :r X;| RSTSCR SETVAR %> 'T 'U 3 ' Q> EOUTCH Q> EOUTCH " $> %> DIR9QQ@PRZP7 P@CODE7 3 HDIR9Q& #PRZP0 #CODE: 0D HDIR9QN QFREE_ENTX PTb QFREE_ENTl PUv Q> EOUTCH Q> EOUTCH Q> ? P@X7 : X; SETVAR$> SVR1QX9 PCODE9 QPREBFR9 PPRZP9 0 ISVR1 : X;* X;4 GETPASS$>GETPS1> %>GETPS1H PRINTR DOIO\ =f  PASSWORD== p IGPS1z GPS0Q> PPASSFLG %OFFTAB2 $> GPS2QNOTAB9 PTITLEM8 3 2 (> DGPS2 : GPS1%H 'PASSLEN;;(LEN+1) 1 FGPS01GPS3QPASSWORD8$M>.R>`8 DGPS4BS> ;;CONVERT TO UPPERLGPS4PPASSWORD8V1` IGPS3j:tX;~SCREENONQ>DLIST1$>DLIST1 HSCR1X;SCREENOFF%>Q>SCR2PLINE1 81 ISCR23SCR3QDFNAME8R>  FSCR4R>  FSCR4;S> (PLINE1 823<)>F DSCR3PSCR4Q>DLIST2Z$>DLIST2d SCR1P0n&1x:X;KILLF$>DELM%>DELM PRINT CLOSE1 ENTSRC$>REALM%>REALM PRINT GETYESNOR> FKIL1 !MAINKIL1 DOIO =!;;DELETE SFNAME==" IKIL2,'6Q>@PJ ERT11;;WILL NOT RETURNTKIL2$>OKMS1^%>OKMS1h PRINTrKIL3!ERT2|X;GETYESNO KGETCHR>HGY1Q> N GY1M>R>HGY2 ERETURNQ>;;NO, ESC;:GY2R>;;Y?HGY3Q> Y EOUTCH ERETURN&Q>0,::D GY3R>N HGETYESNOXQ> Nb EOUTCHl ERETURNvQ>,:X; DODN5&'Q> PPQ>P P P Q>@P Q> NP Q>1*P4 DDODN1>TH#R DODN1 Y\:fX;pCHKSDQSWAPFLGz FCHKS1QSFNAMER> : HCHKS2Q> 1CHKS2PPRINTEMPQDFNAMER> : HCHKS3Q> 1CHKS3RPRINTEMP HCHKS1Q> PSCROFF;: CHKS1,$:.X;8DOSOUR CHKSDB EDOSR1L:VDOSR1QONEDRIVE`R>j FCHKS1t QSPARTAF~ FDOSRX CLOSE2 ERRORTRAP DOSRXQ> PONEDRIVE SCREENON$>INSRC%>INSRC PRINT KGETCH:X;DODEST CHKSD EDOSR2 :DOSR2QONEDRIVER>( FCHKS12Q>< PONEDRIVEF SCREENONP$>INDESZ%>INDESd PRINTn KGETCHx:X;,WHDRV ==AWhich drive to format?A=7WHDNS ==A۱ Single or ۲ Double Density?A=(SUREM =AFormat, Are you sure?A=:FMTER =AError: Bad Format! Check Disk/DriveA==4FMOK =AFormat Completed. Press A==?DELM ADA===AEnter complete filename to delete:A==2REALM =ADelete this file, are you sure?A=)OKMS1 =AFile has been deleted!A=1GETPS1 =AEnter encryption password:A==X;FORMAT$>WHDRV%>WHDRV PRINTFM1 KGETCHM>"R>,HFM26:@ FM2R> 1JDFM1TR>:^EFM1hPDNSTMPrM>|PL>0 EOUTCHQ> D PDNSTMPQ> :PDNSTMPQ>PDNSTMP$>DSTDNS%>DSTDNS, DODN5)> EFM10$>WHDNS%>WHDNS& PRINT0FM4 KGETCH:M>DR>NHFM5X:b FM5R>1lFFM6vR>2HFM4FM65 EOUTCH ERETURN7M> HFM6APDSTDNS;;is 0Q>PDSTDNSQ>PDSTDNSHFM7 FM6AQ> PDSTDNST? PDSTDNS*PDSTDNS4FM7;>$>DSTDNSH%>DSTDNSR DODN5\ SETDOSfFM10$>SUREMp%>SUREMz PRINTQ>P GETYESNOR>FFM9 CLOSE2 DOIO  = DNSTMP== IFM12$>FMTER%>FMTER PRINT KGETCHFM9:X;$FM12$>FMOK.%>FMOK8 PRINTB KGETCHL:VX;`SETDOSQ>jPt!@ :~X; ENDOFPRGX; CALCMEM%> EMD7Q8R> E FEMD8333 HEMD7 EMD8Q8P Q8P%>(Q@72 PEMD4<3FQ@7P PEMD3Z%>dQ@7n PEMD2x3Q@7 PEMD1X; !INITPT1X;NOPARM0%> NP1$>NP5Q8;;MYDOS CHECK RCHECKT9FNP2 NP4(>FNP310!NP4NP33")>,DNP16 :;;NOPE!@NP23J2T(>;;ALL 7 BYTES?^DNP5h&MYDOS;;YUPr:|CHECKT AD1:AUTORUAX; NOPARM9:SP22 &SRCFLEN CRNAME!FNOPARM9;;CR AFTER 1ST ENTRY?%>! #BATCHFLGX; SP31$> SP3Q@ 7 PDFPATH9R>;;GET PATHNAME FSP4223&HSP30 FNOPARM9:X;DSP42%> ;;GET BUFOFFNQ@ 7X?bQ l,vO>? PPRZPQ O> PPRZP Q@PRZP7R>FNOPARM9;;NO PARMS3 Q@PRZP7R> / HNOPARM93SP6Q@PRZP7R> S FSP7R> Q FSP8*R> C4FSP9>R> PH FSP13RR> A\ FSP12fR> Xp FSP9AzR>  FSP20 SP19Q> PPASSFLG:X; SP7Q> PSCROFFX; SP103HSP6:X;SP8#QUERY HSP10X;SP9#CRUNONLY$ HSP10.X;8SP12#ADDFLAGB HSP10LX;VSP9A#SWAPFLG` HSP10jX;tSP13#PASSFLG~ HSP10X; SP203 QPASSFLG FSP19$>SP21Q@PRZP7M>R>` DSP23S> ;;CONVERT TO UPPERSP23PPASSWORD9R> FSP22 R>  FSP223(22(>< DSP21F ESP19P SP222Z &PASSLENd:nX;xEDEV AE:A=KDEV AK:A=X;I:WASTED ENDOFPRGLISTFLAGEI INIT