// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:06
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $13ff  (3072 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0ab0 (2736)
// IRQ handler:  $0a1c (irq_0a1c)
//
// Code: 802 bytes, Data: 2270 bytes
// Labels: 78, Subroutines: 5
//
// Cross-references: all OK
// ============================================


// --- Region $0a00-$0a70 ---
.pc = $0a00 "sub_0a00"
// Referenced by: jsr from $0ad0

sub_0a00:
        sei
        lda #$01
        sta $d01a
        lda #$1b
        sta $d011
        lda #$7f
        sta $dc0d
        lda #$0a
        sta $0315
        lda #$1c
        sta $0314
        cli
        rts

irq_0a1c:
        lda #$01
        sta $d019
        lda #$30
        sta $d012
        jsr sub_1003
        lda #$31
        sta $0314
        jmp $ea81

loc_0a31:
        inc $d019
        lda #$e0
        sta $d012
        lda #$00
        sta $d020
        ldy #$2d
        ldx txt_0c00,y

loc_0a43:
        lda $d012

loc_0a46:
        cmp $d012
        beq loc_0a46
        and #$07
        ora #$10
        sta $d011
        dex
        bpl loc_0a43
        lda $d012
        adc #$40

loc_0a5a:
        cmp $d012
        bne loc_0a5a
        lda #$12
        sta $d018
        lda #$17
        sta $d016
        lda #$71
        sta $0314
        jmp $ea81

// --- Region $0ab0-$0add ---
.pc = $0ab0 "main_0ab0"

main_0ab0:
        lda #$06
        sta $0286
        jsr $e544
        lda #$00
        sta $d020
        sta $d021
        sta $d015
        jsr sub_1000
        lda #$00
        ldy #$0b
        jsr $ab1e
        jsr sub_0cb5
        jsr sub_0a00

loc_0ad3:
        lda $dc01
        cmp #$ef
        bne loc_0ad3
        jmp loc_0bad

dat_0add:
        // === Fill data (1 bytes, $0add-$0add) ===
        .byte $00                                   // .

// --- Region $0bad-$0bcb ---
.pc = $0bad "loc_0bad"

loc_0bad:
        sei
        jsr $fd15
        jsr $fda3
        jsr $ffb5
        jsr $ff81
        ldx #$00
        ldy #$35

loc_0bbe:
        lda dat_0bcb,x
        sta $03cb,x
        inx
        dey
        bne loc_0bbe
        jmp $03cb

dat_0bcb:
        .byte $a9                                   // .

// --- Region $0c80-$0cc0 ---
.pc = $0c80 "loc_0c80"

loc_0c80:
        dec $0a65
        lda $0a65
        cmp #$0f
        beq loc_0c8b
        rts

loc_0c8b:
        lda #$17
        sta $0a65
        ldx #$00

loc_0c92:
        lda $0541,x
        sta $0540,x
        inx
        cpx #$27
        bne loc_0c92
        lda $0d20
        cmp #$00
        beq sub_0cb5
        sta $0567
        inc $0c9e
        lda $0c9e
        cmp #$00
        bne loc_0cb4
        inc $0c9f

loc_0cb4:
        rts
// Referenced by: jsr from $0acd; branch from $0ca2

sub_0cb5:
        lda #$00
        sta $0c9e
        lda #$0d
        sta $0c9f
        rts

dat_0cc0:
        // === Fill data (1 bytes, $0cc0-$0cc0) ===
        .byte $00                                   // .

// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $0ac3

sub_1000:
        jmp loc_1060
// Referenced by: jsr from $0a26

sub_1003:
        jmp loc_10fa

dat_1006:
        .byte $00                                   // .

// --- Region $1060-$1278 ---
.pc = $1060 "loc_1060"

loc_1060:
        asl
        asl
        asl
        tay
        ldx #$00

loc_1066:
        lda $1010,y
        sta $1338,x
        sta $133e,x
        lda $1011,y
        sta $133b,x
        sta $1341,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1066
        lda $1010,y
        sta $1353
        ldx #$00
        txa

loc_1088:
        sta $1364,x
        inx
        cpx #$0c
        bne loc_1088
        ldy #$00
        tya

loc_1093:
        sta $d400,y
        iny
        cpy #$19
        bne loc_1093
        lda #$88
        sta $d404
        sta $d40b
        sta $d412
        lda #$0a
        sta $d405
        sta $d40c
        lda #$00
        sta $d413
        lda #$09
        sta $d406
        sta $d40d
        lda #$a9
        sta $d414
        lda #$03
        sta $d403
        lda #$01
        sta $d40a
        sta $d411
        lda #$0f
        sta $d418
        lda #$01
        sta $1358
        lda #$00
        sta $1359
        lda #$ff
        sta $135a
        lda #$01
        sta $1370
        lda #$02
        sta $1371
        lda #$03
        sta $1372
        sta $1355
        sta $1356
        sta $1357
        rts

loc_10fa:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02

loc_1102:
        lda $1338,x
        sta $fb
        lda $133b,x
        sta $fc
        ldy $1350,x
        lda $1358,x
        bmi loc_1117
        jmp loc_1226

loc_1117:
        lda $1355,x
        sta $1358,x

loc_111d:
        lda $1367,x
        beq loc_1125
        jmp loc_11a4

loc_1125:
        ldy #$00
        lda ($fb),y
        cmp #$80
        bpl loc_1148
        tay
        lda $fb
        sta $1344,x
        lda $fc
        sta $1347,x
        lda $13a4,y
        sta $fb
        lda $13a9,y
        sta $fc
        inc $1367,x
        jmp loc_11a4

loc_1148:
        pha
        and #$f0
        cmp #$a0
        bne loc_1167
        pla
        and #$0f
        sta $1373,x
        lda $fb
        clc
        adc #$01
        sta $134a,x
        lda $fc
        adc #$00
        sta $134d,x
        jmp loc_1177

loc_1167:
        and #$e0
        cmp #$80
        bne loc_1180
        pla
        and #$1f
        sec
        sbc #$0c
        asl
        sta $1364,x

loc_1177:
        inc $fb
        bne loc_1125
        inc $fc
        jmp loc_1125

loc_1180:
        pla
        cmp #$fe
        bne loc_1197
        dec $1373,x
        bmi loc_1177
        lda $134a,x
        sta $fb
        lda $134d,x
        sta $fc
        jmp loc_1125

loc_1197:
        lda $133e,x
        sta $fb
        lda $1341,x
        sta $fc
        jmp loc_1117

loc_11a4:
        ldy #$00
        lda ($fb),y
        cmp #$80
        bpl loc_11e4
        cmp #$7f
        beq loc_11dc
        asl
        beq loc_11d4
        clc
        adc $100a,x
        clc
        adc $1364,x
        tay
        lda dat_1278,y
        clc
        adc $100d,x
        sta $135b,x
        lda $1279,y
        adc #$00
        sta $135e,x
        inc $136a,x
        jmp loc_11dc

loc_11d4:
        lda #$40
        sta $1361,x
        jmp loc_1215

loc_11dc:
        lda #$41
        sta $1361,x
        jmp loc_1215

loc_11e4:
        pha
        and #$f0
        cmp #$80
        bne loc_11fc
        pla
        and #$0f
        asl
        asl
        clc
        adc #$03
        sta $1358,x
        sta $1355,x
        jmp loc_120c

loc_11fc:
        pla
        lda #$00
        sta $1367,x
        lda $1344,x
        sta $fb
        lda $1347,x
        sta $fc

loc_120c:
        inc $fb
        bne loc_1212
        inc $fc

loc_1212:
        jmp loc_111d

loc_1215:
        inc $fb
        bne loc_121b
        inc $fc

loc_121b:
        lda $1370,x
        sta $136d,x
        beq loc_1245
        jmp loc_125e

loc_1226:
        lda $136d,x
        beq loc_1233
        dec $136d,x
        beq loc_1233
        jmp loc_125e

loc_1233:
        lda $136a,x
        beq loc_1245
        lda #$00
        sta $136a,x
        ldy $1350,x
        lda #$40
        sta $d404,y

loc_1245:
        nop
        ldy $1350,x
        lda $1361,x
        sta $d404,y
        ldy $1350,x
        lda $135b,x
        sta $d400,y
        lda $135e,x
        sta $d401,y

loc_125e:
        lda $fb
        sta $1338,x
        lda $fc
        sta $133b,x
        dec $1358,x
        dex
        bmi loc_1271
        jmp loc_1102

loc_1271:
        pla
        sta $fc
        pla
        sta $fb
        rts

dat_1278:
        .byte $16                                   // .

// --- Region $12a3-$12a5 ---
.pc = $12a3 "loc_12a3"

loc_12a3:
        .byte $03,$e0                               // slo ($e0,x) // ILLEGAL

dat_12a5:
        .byte $03                                   // .

// --- Region $131c-$1320 ---
.pc = $131c "loc_131c"

loc_131c:
        bpl loc_139a
        bvs loc_12a3
        rti

// --- Region $139a-$139a ---
.pc = $139a "loc_139a"

loc_139a:
        .byte $02                                   // jam // ILLEGAL

// ============================================
// Data blocks
// ============================================

// --- Region $0800-$091e ---
.pc = $0800 "dat_0800"

dat_0800:
        .byte $0a,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3f,$63,$63,$3b,$00,$00 // ..........?cc;..
        .byte $60,$60,$6e,$63,$63,$7e,$00,$00,$00,$00,$3f,$60,$60,$3f,$00,$00 // ``ncc~....?``?..
        .byte $03,$03,$3b,$63,$63,$3f,$00,$00,$00,$00,$3f,$66,$6c,$3f,$00,$00 // ..;cc?....?fl?..
        .byte $1e                                   // .

txt_0831:
        .text "00<00"
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$3f,$63,$63,$3b,$03,$7e,$60,$60,$7e,$63,$63,$63,$00 // ...?cc;.~``~ccc.
        .byte $00,$18,$00,$18,$18,$18,$18,$00,$00,$0c,$00,$0c,$0c,$0c,$0c,$0c // ................
        .byte $38,$60,$63,$63,$7e,$63,$63,$00,$00,$18,$18,$18,$18,$18,$18,$00 // 8`cc~cc.........
        .byte $00,$00,$00,$76,$6b,$6b,$6b,$00,$00,$00,$00,$7e,$63,$63,$63,$00 // ...vkkk....~ccc.
        .byte $00,$00,$00,$3e,$63,$63,$3e,$00,$00,$00,$00,$7e,$63,$63,$6e,$60 // ...>cc>....~ccn`
        .byte $60,$00,$00,$3f,$63,$63,$3b,$03,$03,$00,$00,$3e,$60,$60,$60,$00 // `..?cc;....>```.
        .byte $00,$00,$00,$18,$18,$0c,$06,$06,$7c,$60,$60,$7c,$60,$60,$3f,$00 // ........|``|``?.
        .byte $00,$00,$00,$63,$63,$63,$3f,$00,$00,$00,$00,$6f,$63,$36,$1c,$00 // ...ccc?....oc6..
        .byte $00,$00,$00,$36,$63,$6b,$3e,$00,$00,$00,$00,$63,$3e,$36,$63,$00 // ...6ck>....c>6c.
        .byte $00,$00,$00,$6f,$63,$36,$1e,$0c,$0c,$00,$00,$7e,$1c,$38,$7e,$00 // ...oc6.....~.8~.
        .byte $00,$00,$00,$3f,$60,$60,$60,$60,$3f,$00,$00,$3f,$66,$6c,$3f,$00 // ...?````?..?fl?.
        .byte $ff,$00,$00,$7c,$66,$66,$66,$00,$ff,$00,$00,$18,$18,$0c,$06,$06 // ...|fff.........
        .byte $fd,$00,$00,$3e,$63,$63,$3e,$00,$ff,$00,$00,$00,$00,$00,$00,$00 // ...>cc>.........
        .byte $00,$18,$18,$18,$18,$00,$18,$00,$00,$66,$66,$00,$00,$00,$00,$00 // .........ff.....
        .byte $00,$66,$66,$ff,$22,$ff,$66,$66       // .ff.".ff

// --- Region $093a-$09ff ---
.pc = $093a "dat_093a"

dat_093a:
        .byte $0c,$18,$00,$00,$00,$00,$1c           // .......

txt_0941:
        .text "000000"
        .byte $1c,$38,$0c,$0c,$0c,$0c,$0c,$0c,$18,$00,$00,$3e,$60,$60,$60,$00 // .8.........>```.
        .byte $fe,$00,$18,$18,$7e,$18,$18,$00,$00,$00,$00,$00,$00,$18,$18,$30 // ....~..........0
        .byte $00,$00,$00,$00,$7e,$00,$00,$00,$00,$00,$00,$00,$00,$18,$18,$00 // ....~...........
        .byte $00,$0c,$0c,$18,$18,$30,$30,$00,$00,$00,$00,$3e,$63,$63,$3e,$00 // .....00....>cc>.
        .byte $00,$00,$00,$3e,$06,$06,$06,$00,$00,$00,$00,$3c,$06,$06,$1c,$30 // ...>.......<...0
        .byte $3e,$06,$03,$1e,$03,$03,$7e,$00,$00,$00,$00,$18,$30,$60,$7f,$03 // >.....~.....0`..
        .byte $03,$60,$60,$7e,$03,$03,$7e,$00,$00,$18,$30,$7e,$63,$63,$3e,$00 // .``~..~...0~cc>.
        .byte $00,$00,$00,$7f,$06,$06,$0c,$0c,$18,$63,$63,$3e,$63,$63,$3e,$00 // .........cc>cc>.
        .byte $00,$3e,$63,$63,$3f,$06,$0c,$00,$00,$00,$00,$18,$00,$18,$00,$00 // .>cc?...........
        .byte $00,$00,$00,$18,$00,$18,$30,$00,$00,$00,$00,$33,$66,$66,$33,$00 // ......0....3ff3.
        .byte $00,$00,$00,$3c,$00,$3c,$00,$00,$00,$00,$00,$66,$33,$33,$66,$00 // ...<.<.....f33f.
        .byte $00,$7e,$03,$03,$1e,$00,$18,$00,$bd   // .~.......

// --- Region $0a71-$0aaf ---
.pc = $0a71 "dat_0a71"

dat_0a71:
        .byte $ee,$19,$d0,$a9,$f0,$8d,$12,$d0,$a9,$1b,$8d,$11,$d0,$ad,$3f,$0a // ..............?.
        .byte $18,$69,$01,$29,$7f,$8d,$3f,$0a,$a9,$1c,$8d,$14,$03,$a9,$08,$8d // .i.)..?.........
        .byte $16,$d0,$a9,$16,$8d,$18,$d0,$20,$80,$0c,$20,$80,$0c,$4c,$bc,$fe // ....... .. ..L..
        .fill 15, $00

// --- Region $0b00-$0bac ---
.pc = $0b00 "dat_0b00"

dat_0b00:
        .byte $93,$0d,$0d,$a0,$a0,$a0,$a0,$a0,$a0,$a0,$1c,$f0,$c0,$c0,$f2,$c0 // ................
        .byte $c0,$f2,$c0,$c0,$f2,$c0,$f2,$f2,$c0,$c0,$f2,$c0,$c0,$f2,$c0,$c0 // ................
        .byte $f2,$c0,$f2,$ee,$0d,$a0,$a0,$a0,$a0,$a0,$a0,$a0,$96,$eb,$c0,$fd // ................
        .byte $dd,$a0,$eb,$f3,$a0,$eb,$f3,$a0,$dd,$dd,$a0,$eb,$db,$c0,$fd,$dd // ................
        .byte $a0,$eb,$f3,$a0,$dd,$dd,$0d,$a0,$a0,$a0,$a0,$a0,$a0,$a0,$9b,$dd // ................
        .byte $a0,$dd,$dd,$a0,$eb,$f3,$a0,$eb,$f3,$a0,$dd,$dd,$a0,$dd,$dd,$a0 // ................
        .byte $dd,$dd,$a0,$eb,$f3,$a0,$dd,$dd,$0d,$a0,$a0,$a0,$a0,$a0,$a0,$a0 // ................
        .byte $96,$ed,$c0,$c0,$f1,$c0,$c0,$f1,$c0,$c0,$f1,$c0,$c0,$f1,$c0,$fd // ................
        .byte $ed,$c0,$c0,$f1,$c0,$c0,$db,$c0,$ee,$dd,$0d,$a0,$a0,$a0,$a0,$a0 // ................
        .byte $a0                                   // .

txt_0b91:
        .text "                     "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $1c,$ed,$c0,$c0,$fd,$00               // ......

// --- Region $0bcc-$0c7f ---
.pc = $0bcc "Program $0bcc"
        .byte $00,$8d,$18,$d4,$78,$a9,$34,$85,$01,$a2,$00,$bd,$00,$14,$9d,$01 // ....x.4.........
        .byte $08,$e8,$d0,$f7,$ee,$dc,$03,$ee,$d9,$03,$d0,$ef,$a9,$37,$85,$01 // .............7..
        .byte $58,$a9,$01,$85,$2b,$a9,$08,$85,$2c,$a9,$00,$8d,$00,$08,$20,$e2 // X...+...,..... .
        .byte $fc,$4c,$ae,$a7                       // .L..

txt_0c00:
        .byte $40                                   // @ character
        .text "><;9875310.-+*('&$#! "
        .byte $1f,$1d,$1c,$1b,$19,$18,$17,$16,$15,$13,$12,$11,$10,$0f,$0e,$0d // ................
        .byte $0c,$0b,$0a,$09,$09,$08,$07,$06,$06,$05,$04,$04,$03,$03,$02,$02 // ................
        .byte $01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$01,$01,$01,$02,$02,$03,$03,$04,$04,$05,$06,$06,$07,$08 // ................
        .byte $09,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10,$11,$12,$13,$15,$16,$17,$18 // ................
        .byte $19,$1b,$1c,$1d,$1f                   // .....

txt_0c6b:
        .text " !#$&'(*+-.0135689;<>"

// --- Region $0d00-$0de0 ---
.pc = $0d00 "txt_0d00"

txt_0d00:
        .encoding "screencode_mixed"
        .text "   the shit called cubulus from software"
        .encoding "petscii_upper"

txt_0d28:
        .text " 2000 "
        .byte $17,$01,$13,$20,$03,$12,$01,$03,$0b,$05,$04 // ... .......

txt_0d39:
        .text "(!) "

txt_0d3d:
        .encoding "screencode_mixed"
        .text "by falcon/accuracy.as you see i started to learn cracking.greetings to all contacts of accuracy and thanks to bomb/acrise for the original.time to wrap"
        .encoding "petscii_upper"

txt_0dd4:
        .text "....        "
        .byte $00                                   // string terminator

// --- Region $1007-$105f ---
.pc = $1007 "Segment $1007"
        .byte $00,$76,$13,$00,$00,$00,$00,$02,$04,$76,$13,$87,$13,$98,$13,$03 // .v.......v......
        .byte $00,$76,$13,$87,$13,$98,$13,$02,$00   // .v.......

txt_1020:
        .text "PROBLEMS... MADE BY JCH 23/07-88JCH NEWPLAYER 00.19 BY JCH/WIZAX"

// --- Region $1279-$12a2 ---
.pc = $1279 "Segment $1279"
        .byte $01,$27,$01,$38,$01,$4b,$01,$5f,$01,$73,$01,$8a,$01,$a1,$01,$ba // .'.8.K._.s......
        .byte $01,$d4,$01,$f0,$01,$0e,$02,$2d,$02,$4e,$02,$71,$02,$96,$02,$bd // .......-.N.q....
        .byte $02,$e7,$02,$13,$03,$42,$03,$74,$03,$a9 // .....B.t..

// --- Region $12a6-$131b ---
.pc = $12a6 "Segment $12a6"
        .byte $1b,$04,$5a,$04,$9b,$04,$e2,$04,$2c,$05,$7b,$05,$ce,$05,$27,$06 // ..Z.....,.{...'.
        .byte $85,$06,$e8,$06,$51,$07,$c1,$07,$37,$08,$b4,$08,$37,$09,$c4,$09 // ....Q...7...7...
        .byte $57,$0a,$f5,$0a,$9c,$0b,$4e,$0c,$09,$0d,$d0,$0d,$a3,$0e,$82,$0f // W.....N.........
        .byte $6e,$10,$68,$11,$6e,$12,$88,$13,$af,$14,$eb,$15,$39,$17,$9c,$18 // n.h.n.......9...
        .byte $13,$1a,$a1,$1b,$46,$1d,$04,$1f,$dc,$20,$d0,$22,$dc,$24,$10,$27 // ....F.... .".$.'
        .byte $5e,$29,$d6,$2b,$72                   // ^).+r

txt_12fb:
        .text ".81&4B7"
        .byte $8c,$3a,$08,$3e,$b8,$41,$a0,$45,$b8   // .:.>.A.E.

txt_130b:
        .text "I N"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $52,$ac,$57,$e4,$5c,$70,$62,$4c,$68,$84,$6e,$18,$75 // R.W.\pbLh.n.u

// --- Region $1321-$1399 ---
.pc = $1321 "dat_1321"

dat_1321:
        .byte $8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98,$d0,$08 // .p.@.x.X........
        .byte $dd,$30,$ea,$20,$f8,$2e,$fd,$b3,$b3,$ba,$13,$13,$13,$76,$87,$98 // .0. .........v..
        .byte $13,$13,$13,$80,$92,$9e,$13,$13,$13,$80,$91,$9e,$13,$13,$13,$00 // ................
        .byte $07,$0e,$03,$00,$0f,$0f,$03,$ff,$0e,$01,$74,$76,$e8,$03,$03,$5c // ..........tv...\
        .byte $41,$41,$41,$f8,$f8,$0a,$01,$01,$01,$00,$01,$01,$00,$02,$02,$01 // AAA.............
        .byte $02,$03,$01,$01,$07,$8c,$a1,$01,$01,$01,$03,$03,$fe,$88,$a1,$01 // ................
        .byte $01,$01,$03,$03,$fe,$ff,$8c,$a1,$01,$01,$01,$03,$03,$fe,$88,$a1 // ................
        .byte $01,$01,$01,$03,$03,$fe,$ff,$8c,$a7   // .........

// --- Region $139b-$13da ---
.pc = $139b "dat_139b"

dat_139b:
        .byte $fe,$91,$a7,$02,$fe,$8c,$04,$04,$ff,$ae,$b1,$b4,$be,$c5,$13,$13 // ................
        .byte $13,$13,$13,$8f,$00,$ff,$83,$18,$ff,$80 // ..........

txt_13b5:
        .text "CACFHFCA"
        .byte $ff,$81,$16,$18,$00,$18,$00,$ff,$83,$48,$46,$43,$81,$46,$8f,$48 // .........HFC.F.H
        .byte $81,$7f,$83,$43,$41,$43,$81,$46,$8f,$43,$81,$7f,$ff // ...CAC.F.C...

dat_13da:
        // === Fill data (1 bytes, $13da-$13da) ===
        .byte $00                                   // .
