// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:43
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $ffff  (63487 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $080d (2061)
//
// Code: 327 bytes, Data: 63160 bytes
// Labels: 81, Subroutines: 1
//
// Cross-references: all OK
// ============================================


// --- Region $080d-$0864 ---
.pc = $080d "main_080d"

main_080d:
        jsr $ff81

loc_0810:
        ldx #$00

loc_0812:
        lda txt_0900,x
        sta $0400,x
        inx
        bne loc_0812
        inc $0814
        inc $0817
        lda $0817
        cmp #$08
        bne loc_0810
        lda #$37
        ldx #$17
        ldy #$00
        sty $d020
        nop
        nop
        nop
        sty $d021
        sta $dd00
        stx $d018
        cli
        lda #$1b
        sta $d011
        lda #$80
        sta $0291
        lda #$01

loc_084a:
        sta chr_d800,y
        sta $d900,y
        sta $da00,y
        sta $db00,y
        iny
        bne loc_084a

loc_0859:
        jsr $ffe4
        cmp #$20
        bne loc_0859
        jmp loc_fce2

dat_0863:
        .byte $d5,$c3                               // ..

// --- Region $533d-$533d ---
.pc = $533d "Segment $533d"
        brk

// --- Region $5528-$5528 ---
.pc = $5528 "sub_5528"
// Referenced by: jsr from $ff81

sub_5528:
        brk

// --- Region $ead0-$ead0 ---
.pc = $ead0 "Segment $ead0"
        brk

// --- Region $f9d0-$f9d0 ---
.pc = $f9d0 "Segment $f9d0"
        brk

// --- Region $fce2-$fce2 ---
.pc = $fce2 "loc_fce2"

loc_fce2:
        brk

// --- Region $fd01-$fd43 ---
.pc = $fd01 "loc_fd01"

loc_fd01:
        txs
        ldy #$00

loc_fd04:
        dec $32
        dec $082c

loc_fd09:
        lda ($31),y
        sta dat_fd00,y
        iny
        bne loc_fd09
        lda $32
        cmp #$08
        bne loc_fd04

loc_fd17:
        lda $0848,y
        sta $0100,y
        iny
        bne loc_fd17
        jmp $0100

dat_fd23:
        .byte $01,$08,$1a,$fe,$1f,$0b               // ......

loc_fd29:
        lda ($2f),y
        rol
        rol
        rol
        rol
        and #$07
        tax
        lda $011a,x
        sta $0118
        lda ($2f),y
        and #$1f
        tax
        jsr $0122
        jmp $01ff

dat_fd43:
        .byte $a4                                   // .

// --- Region $fd50-$fdbf ---
.pc = $fd50 "loc_fd50"

loc_fd50:
        bmi loc_fdb2
        lda ($2f),y
        jsr $0122

loc_fd57:
        sta ($2d),y
        inc $2d
        bne loc_fd5f
        inc $2e

loc_fd5f:
        dex
        bne loc_fd57
        beq loc_fd29
        lda #$00
        beq loc_fd57
        lda #$ff
        bne loc_fd57

loc_fd6c:
        lda ($2f),y
        sta ($2d),y
        inc $2f
        bne loc_fd76
        inc $30

loc_fd76:
        inc $2d
        bne loc_fd7c
        inc $2e

loc_fd7c:
        dex
        bne loc_fd6c
        beq loc_fd29
        jsr $0171
        lda ($2f),y
        jsr $0122

loc_fd89:
        sta ($2d),y
        inc $2d
        bne loc_fd91
        inc $2e

loc_fd91:
        dex
        bne loc_fd89
        dec $39
        bpl loc_fd89
        bmi loc_fd29
        stx $39
        lda ($2f),y
        tax
        jmp $0122

loc_fda2:
        jsr $0171

loc_fda5:
        lda ($2f),y
        sta ($2d),y
        inc $2f
        bne loc_fdaf
        inc $30

loc_fdaf:
        inc $2d
.label loc_fdb2 = * + 1
        bne loc_fdb5
        inc $2e

loc_fdb5:
        dex
        bne loc_fda5
        dec $39
        bpl loc_fda5
        jmp $0100

dat_fdbf:
        .byte $2c                                   // ,

// --- Region $fe45-$fe75 ---
.pc = $fe45 "loc_fe45"

loc_fe45:
        sty $d021
        sta $dd00
        stx $d018
        cli
        lda #$1b
        sta $d011
        lda #$80
        sta $0291
        lda #$01

loc_fe5b:
        sta chr_d800,y
        sta $d900,y
        sta $da00,y
        sta $db00,y
        iny
        bne loc_fe5b

loc_fe6a:
        jsr $ffe4
        cmp #$20
        bne loc_fe6a
        jmp loc_fce2

dat_fe74:
        .byte $d5,$c3                               // ..

// --- Region $ff81-$ff8f ---
.pc = $ff81 "Segment $ff81"
        jsr sub_5528
        .byte $43,$41                               // sre ($41,x) // ILLEGAL
        and #$80
        .byte $33,$20                               // rla ($20),y // ILLEGAL
        and $4153,x
        .byte $54,$55                               // nop $55,x // ILLEGAL
        .byte $52                                   // jam // ILLEGAL

// --- Region $ffe4-$ffe6 ---
.pc = $ffe4 "Segment $ffe4"
        .byte $43,$46                               // sre ($46,x) // ILLEGAL
        .byte $42                                   // jam // ILLEGAL

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

// --- Region $0865-$086e ---
.pc = $0865 "Program $0865"
        .byte $c1                                   // .

txt_0866:
        .text " FOR "
        .byte $d3                                   // 'S' | $80 (end-of-string marker)
        .byte $c3,$c1                               // ..

dat_086e:
        // === Fill data (1 bytes, $086e-$086e) ===
        .byte $00                                   // .

// --- Region $0900-$0ce8 ---
.pc = $0900 "txt_0900"

txt_0900:
        .text "            "
        .byte $70,$40,$40,$40,$72,$72,$40,$40,$40,$6e,$70,$40,$40,$40,$6e,$14 // p@@@rr@@@np@@@n.
        .byte $0d                                   // .

txt_091d:
        .text "                       "
        .byte $6d,$40,$40,$40,$6e,$5d               // m@@@n]

txt_093a:
        .text "    "
        .byte $6b,$40,$40,$40,$73                   // k@@@s

txt_0943:
        .text "                         "
        .byte $6d,$40,$40,$40,$7d,$6d,$40,$40,$40,$71,$7d,$20,$20,$20,$6d // m@@@}m@@@q}   m

txt_096b:
        .text "                    S"
        .byte $17,$09,$13,$13,$20,$43,$12,$01,$03,$0b,$09,$0e,$07,$20,$41,$13 // .... C....... A.
        .byte $13,$0f,$03,$09,$01,$14,$09,$0f,$0e   // .........

dat_0999:
        .text "                                                            "

txt_09d5:
        .encoding "screencode_mixed"
        .text "brings to you"
        .encoding "petscii_upper"

txt_09e2:
        .text ":"

dat_09e3:
        // === Fill data (66 bytes, $09e3-$0a24) ===
        .fill 66, $20
        .byte $70                                   // p

txt_0a26:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $6e                                   // n

txt_0a33:
        .text "                          "
        .byte $5d                                   // ]

txt_0a4e:
        .text " MIAMI VICE "
        .byte $5d                                   // ]

txt_0a5b:
        .text "                          "
        .byte $6d                                   // m

txt_0a76:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $7d                                   // }

dat_0a83:
        .text "                                                     "

txt_0ab8:
        .encoding "screencode_mixed"
        .text "imported, shattered, cracked & compacted"
        .encoding "petscii_upper"

dat_0ae0:
        .text "                                                       3.8.'86 "
        .byte $02,$19                               // ..

dat_0b21:
        .text "                                                                                                     SMITH THE SOFTWARE-POPE (STP)"

dat_0ba3:
        // === Fill data (51 bytes, $0ba3-$0bd5) ===
        .fill 51, $20
        .text "UNITED CRACKING "
        .text "ACADEMY (UCA)"

dat_0bf3:
        // === Fill data (51 bytes, $0bf3-$0c25) ===
        .fill 51, $20
        .text "SATURNUS THE INV"
        .text "INCIBLE (STI)"

dat_0c43:
        // === Fill data (47 bytes, $0c43-$0c71) ===
        .fill 47, $20
        .byte $06,$0f,$12                           // ...

txt_0c75:
        .text " SWISS CRACKING ASSOCIATION (SCA)"

dat_0c96:
        // === Fill data (43 bytes, $0c96-$0cc0) ===
        .fill 43, $20
        .byte $48,$09,$20,$42,$09,$07,$20,$41,$10,$10,$0c,$05 // H. B.. A....

txt_0ccd:
        .text ", CFB, B"
        .byte $09,$0d,$02,$0f                       // ....

txt_0cd9:
        .text ", TFS, M.A.S.H "
        .byte $00                                   // string terminator

// --- Region $1800-$1800 ---
.pc = $1800 "chr_1800"

chr_1800:
        .byte $00                                   // .

// --- Region $533e-$533e ---
.pc = $533e "dat_533e"

dat_533e:
        // === Fill data (1 bytes, $533e-$533e) ===
        .byte $00                                   // .

// --- Region $5529-$5529 ---
.pc = $5529 "dat_5529"

dat_5529:
        // === Fill data (1 bytes, $5529-$5529) ===
        .byte $00                                   // .

// --- Region $c000-$c000 ---
.pc = $c000 "chr_c000"

chr_c000:
        .byte $00                                   // .

// --- Region $c400-$c400 ---
.pc = $c400 "scr_c400"

scr_c400:
        .byte $00                                   // .

// --- Region $d800-$d800 ---
.pc = $d800 "chr_d800"

chr_d800:
        .byte $00                                   // .

// --- Region $ead1-$ead1 ---
.pc = $ead1 "dat_ead1"

dat_ead1:
        // === Fill data (1 bytes, $ead1-$ead1) ===
        .byte $00                                   // .

// --- Region $f9d1-$f9d1 ---
.pc = $f9d1 "dat_f9d1"

dat_f9d1:
        // === Fill data (1 bytes, $f9d1-$f9d1) ===
        .byte $00                                   // .

// --- Region $fd00-$fd00 ---
.pc = $fd00 "dat_fd00"

dat_fd00:
        .byte $f7                                   // .

// --- Region $fd44-$fd4f ---
.pc = $fd44 "Segment $fd44"
        .byte $43,$ab,$79
        .text "X;?)"
        .byte $e6
        .byte $2f,$d0,$02,$e6

// --- Region $fdc0-$fe44 ---
.pc = $fdc0 "Segment $fdc0"
        .byte $da,$01,$a9,$37,$85,$01,$58,$20,$0d,$08,$4c,$ae,$a7,$e0,$00,$f0 // ...7..X ..L.....
        .byte $ee,$a9,$04,$2c,$a9,$08,$85,$ff,$b1,$2f,$91,$2d,$c8,$c4,$ff,$d0 // ...,...../.-....
        .byte $f7,$18,$a5,$2d,$65,$ff,$85,$2d,$a5,$2e,$69,$00,$85,$2e,$a0,$00 // ...-e..-..i.....
        .byte $ca,$d0,$e5,$18,$a5,$2f,$65,$ff,$85,$2f,$a5,$30,$69,$00,$85,$30 // ...../e../.0i..0
        .byte $4c,$00,$01,$b9,$00,$ef,$99,$00,$ff,$c8,$d0,$f7,$ce,$dc,$01,$ce // L...............
        .byte $df,$01,$ad,$df,$01,$c9,$df,$d0,$ea,$60,$ac,$60,$24,$20,$81,$ff // .........`.`$ ..
        .byte $a2,$00,$bd,$00,$09,$9d,$00,$04,$e8,$d0,$f7,$ee,$14,$08,$ee,$17 // ................
        .byte $08,$ad,$17,$08,$c9,$08,$d0,$e8,$a9,$37,$a2,$17,$a0,$00,$8c,$20 // .........7..... 
        .byte $d0,$e3,$ea,$60,$3a                   // ...`:

// --- Region $fe76-$ff80 ---
.pc = $fe76 "Segment $fe76"
        .byte $c1                                   // .

txt_fe77:
        .text " FOR "
        .byte $d3                                   // 'S' | $80 (end-of-string marker)
        .byte $c3,$c1,$80,$92,$00,$ec,$20,$21,$70,$e3,$40,$22,$72,$72,$e3,$40 // ...... !p.@"rr.@
        .byte $22,$6e,$70,$e3,$40,$23,$6e,$14,$0d,$f7,$20,$21,$6d,$e3,$40,$22 // "np.@#n... !m.@"
        .byte $6e,$5d,$e4,$20,$21,$6b,$e3,$40,$21,$73,$f9,$20,$21,$6d,$e3,$40 // n]. !k.@!s. !m.@
        .byte $22,$7d,$6d,$e3,$40,$22,$71,$7d,$e3,$20,$21,$6d,$f4,$20,$3a,$53 // "}m.@"q}. !m. :S
        .byte $17,$09,$13,$13,$20,$43,$12,$01,$03,$0b,$09,$0e,$07,$20,$41,$13 // .... C....... A.
        .byte $13,$0f,$03,$09,$01,$14,$09,$0f,$0e,$80 // ..........

txt_fed7:
        .encoding "screencode_mixed"
        .text "< .brings to you:"
        .encoding "petscii_upper"
        .byte $80,$42,$20,$21,$70,$ec,$40,$21,$6e,$fa,$20,$2e,$5d // .B !p.@!n. .]

txt_fef5:
        .text " MIAMI VICE "
        .byte $5d,$fa,$20,$21,$6d,$ec,$40,$21,$7d,$80,$35,$20,$60 // ]. !m.@!}.5 `

txt_ff0e:
        .encoding "screencode_mixed"
        .text "(imported, shattered, cracked & compacted"
        .encoding "petscii_upper"
        .byte $80                                   // .

txt_ff38:
        .text "7 *3.8.'86 "
        .byte $02,$19,$80,$65                       // ...e

txt_ff47:
        .text " =SMITH THE SOFTWARE-POPE (STP)"
        .byte $80                                   // .

txt_ff67:
        .text "3 =UNITED CRACKING ACADEMY"

// --- Region $ff90-$ffe3 ---
.pc = $ff90 "txt_ff90"

txt_ff90:
        .text "NUS THE INVINCIBLE (STI)"
        .byte $80,$2f,$20,$60,$24,$06,$0f,$12       // ./ `$...

txt_ffb0:
        .text " SWISS CRACKING ASSOCIATION (SCA)"
        .byte $80,$2b,$20,$60,$27,$48,$09,$20,$42,$09,$07,$20,$41,$10,$10,$0c // .+ `'H. B.. A...
        .byte $05,$2c,$20                           // ., 

// --- Region $ffe7-$ffff ---
.pc = $ffe7 "dat_ffe7"

dat_ffe7:
        .byte $2c,$20,$42,$09,$0d,$02,$0f           // , B....

txt_ffee:
        .text ", TFS, M.A.S.H "
        .byte $b8                                   // '8' | $80 (end-of-string marker)
        .byte $00,$02                               // ..
