  file$="fkey" : 'v2.07
  OPEN file$ FOR OUTPUT AS #1
  lin=0 : a$=""
Loop:
  lin=lin+1
  READ x$ : IF x$="**" THEN Endeth
  x$=UCASE$(x$)
  cs$=RIGHT$(x$,2) : x$=LEFT$(x$,LEN(x$)-2)
  sum=0
  FOR i=1 TO LEN(x$)
    sum=sum+(ASC(MID$(x$,i,1)) XOR i)
  NEXT i
  IF (sum AND 255)<>VAL("&H"+cs$) THEN
    PRINT "Checksum error in line";lin
    GOTO Endeth
  END IF
  x$=a$+x$ : a$=""
  FOR i=1 TO LEN(x$) STEP 2
    IF MID$(x$,i,1) = "G" THEN
      IF MID$(x$,i+2)="" THEN a$=MID$(x$,i) : GOTO Loop
      y$=STRING$(ASC(MID$(x$,i+1,1))-63,CHR$(VAL("&H"+MID$(x$,i+2,2))))
      i=i+2
    ELSE
      y$=CHR$(VAL("&H"+MID$(x$,i,2)))
    END IF
    PRINT #1,y$;
  NEXT i
  GOTO Loop

Endeth:
  CLOSE #1
  PRINT "Operation complete"
  END

1     DATA ga0003f3gf0002gf0001ga00010agb0011ga0003e9ga00010a4e54ffe870ff2c1
2     DATA 940fff82940fff442acfffc42acffe841f9gc002948fff041f9gb00202948fff7
3     DATA ec2c78000443fa03e970004eaefdd82940fffc6700018041fa03307000226cf63
4     DATA ff072002c7800044eaefe442940fff866000164246cffec157c00040008422aa9
5     DATA 000e42aa000a70ff2c7800044eaefeb62940fff46b0001401540000f93c94ea7f
6     DATA efeda2540001041ea00142088589042a8000421480008226cfff0234a000e411a
7     DATA fa030048e7f0c224082c6cfffc4eaeffc4220067ga000a2c6cfffc61ga000a47d
8     DATA cdf430f60ga001420424a1866fc5388260896824eaeffd04e7543fa029d2c78cc
9     DATA 00044eaefe7a2940ffe866ga00806100010465ga00c46100016a67ga00bc43e61
10    DATA a002641fa01bc303c00ab12d851c8fffc41ea00ea2548002241ea002643e80075
11    DATA 1621490012216cffe8000e226cfff0337c0009001c234800284eaefe384a8065f
12    DATA 6ga00786100015e41fa023a48e7f0c224082c6cfffc4eaeffc4220067ga000a9d
13    DATA 2c6cfffc6100ff644cdf430f604c226cfff0337c000a001c204041e80026234e0
14    DATA 800282c7800044eaefe384a80662c41fa020548e7f0c224082c6cfffc4eaeff59
15    DATA c4220067ga000a2c6cfffc6100ff1e4cdf430f61ga00d261ga0088202cfff8678
16    DATA 60c226cfff02c7800044eaefe3e202cfff46b082c7800044eaefeb0226cfffccd
17    DATA 200967ga000a2c7800044eaefe6242acfffc70004e5c4e75203cga000626223f0
18    DATA c000100012c7800044eaeff3a2940ffe8672a2440157cgb0009157c0004000826
19    DATA 43ea00da2549000a41fa015312d866fc224a4eaefe9e023c00fe4e75003c00083
20    DATA 14e7543fa01392c7800044eaefe7a2240240067104eaefe98203cga00062622e4
21    DATA 424eaeff2e4e75246cffe8203cga000580254000d6223c000100012c78000448d
22    DATA eaeff3a254000d24e75246cffe8202a00d267122240202a00d62c7800044eae24
23    DATA ff2e42aa00d24e7541fa0124226cffe843e900ea701345e9004012d86afc22451
24    DATA a51c8fff44e75gg00023cgk0048e77f7e2a480c28000100046618302800060403
25    DATA 400050650e0c40000962087203c268000861084cdf7efe20084e754a4167040d7
26    DATA 640000aed40207affbe226800d2284941e800ead0c04a106b46741f42a9ga000f
27    DATA 137c000100044229000570001018334000061028001f3340000842a9000a236be
28    DATA d000e000e236d001200124a106b0e53426b0a45e90016228a224a60c0204c4e6e
29    DATA 7591c84e75696e7075742e64657669636500464b6579506f727400464b6579748
30    DATA 320696e737461ga6c65640a00464b6579732072656d6f7665640a00464b4559fb
31    DATA 20312e302062792053757065727669736f7220536f66747761726520313938344
32    DATA 90a0036121133281744ff12362233281744ff22171344ff2817211444ff332250
33    DATA 40ff13163640ff1232123316141240ff1736231844ff203420172844ff3513105
34    DATA 2202740gjff646f732e6c696272617279ge0003ecgb0002gb0001gb0022gb00ea
35    DATA 18ge0003f2ga0003ebgb0011ga0003f286
      DATA **
