// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:05
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0c07  (1031 bytes)
// Entry point:  $0c00 (via BASIC SYS 3072)
// IRQ handler:  $089a (irq_089a)
//
// Code: 515 bytes, Data: 516 bytes
// Labels: 43, Subroutines: 3
//
// Cross-references: all OK
// ============================================


// --- Region $0849-$0876 ---
.pc = $0849 "sub_0849"
// Referenced by: jsr from $08d8

sub_0849:
        lda #$c0

loc_084b:
        cmp $d012
        bne loc_084b
        ldx #$07

loc_0852:
        dex
        bne loc_0852
        bit $ea
        ldx #$00
        ldy #$00
        lda $0820,x
        nop

loc_085f:
        nop
        bit $ea
        sta $d021
        lda $0820,x
        sta $d021
        sta $d021
        inx
        lda $0820,x
        cpy #$02
        bne loc_0887

dat_0876:
        .byte $8d                                   // .

// --- Region $0887-$0a59 ---
.pc = $0887 "loc_0887"

loc_0887:
        nop
        pha
        lda $d012
        and #$07
        tay
        bit $ea
        nop
        nop
        nop
        pla
        cpx #$21
        bne loc_085f
        rts

irq_089a:
        lda #$4a

loc_089c:
        cmp $d012
        bne loc_089c
        ldx #$00

loc_08a3:
        lda $0841,x
        sta $d016
        ldy #$f6

loc_08ab:
        iny
        bne loc_08ab
        inx
        cpx #$08
        bne loc_08a3
        lda #$b8
        sta $d016
        lda #$12
        sta $d018
        lda #$09
        sta $d022
        lda #$07
        sta $d023
        lda #$ba

loc_08c9:
        cmp $d012
        bne loc_08c9
        lda $68
        sta $d016
        lda #$15
        sta $d018
        jsr sub_0849
        jsr sub_09b4
        lda $dc01
        and #$10
        bne loc_0910
        sei
        ldx #$00
        stx $d01a
        stx $d011
        stx $d020
        ldx #$ff
        txs
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        ldx #$00
        stx $d011

loc_0902:
        lda dat_0913,x
        sta $0340,x
        inx
        cpx #$38
        bne loc_0902
        jmp $0340

loc_0910:
        jmp $febc

dat_0913:
        .byte $78,$a2,$30,$86,$01                   // x.0..

loc_0918:
        ldx #$00

loc_091a:
        lda $0c08,x

loc_091d:
        sta dat_0801,x
        inx
        bne loc_091a
        inc $034c
        inc $0349
        bne loc_0918
        sei
        lda #$37
        sta $01
        lda #$00
        sta $c6
        sta $d020
        sta $d021
        lda #$1b
        sta $d011
        cli
        jmp $fce2

loc_0943:
        sei
        lda #$04
        sta $48
        sta $49
        sta $4b
        jsr sub_09ee
        ldx #$01
        stx $d01a
        dex
        stx $dc0e
        stx $0286
        stx $d021
        jsr $e544
        ldx #$00

loc_0963:
        lda #$09
        sta $d918,x
        sta $d930,x
        lda #$a0
        sta $06a8,x
        inx
        bne loc_0963

loc_0973:
        lda $0a8d,x
        sta $0518,x
        inx
        cpx #$78
        bne loc_0973
        ldx #$00

loc_0980:
        lda $0b05,x
        sta $0590,x
        sta $05b8,x
        sta $05e0,x
        sta $0608,x
        inx
        cpx #$28
        bne loc_0980
        ldx #$00

loc_0996:
        lda $0a7a,x
        sta $0482,x
        lda #$01
        sta $d882,x
        inx
        cpx #$13
        bne loc_0996
        lda #$9a
        sta $0314
        lda #$08
        sta $0315
        cli

loc_09b1:
        jmp loc_09b1
// Referenced by: jsr from $08db

sub_09b4:
        dec $68
        dec $68
        dec $68
        dec $68
        lda $68
        cmp #$00
        bmi loc_09c3
        rts

loc_09c3:
        lda #$07
        sta $68
        ldx #$00

loc_09c9:
        lda $06d1,x
        sta $06d0,x
        inx
        cpx #$9f
        bne loc_09c9
        dec $49
        bne loc_09e2
        lda #$04
        sta $49
        inc $45
        bne loc_09e2
        inc $46

loc_09e2:
        ldy #$00

loc_09e4:
        lda ($45),y
        bne loc_09f7
        jsr sub_09ee
        jmp loc_09e4
// Referenced by: jsr from $094c, $09e8

sub_09ee:
        lda #$2d
        sta $45
        lda #$0b
        sta $46
        rts

loc_09f7:
        ldx #$1a
        stx $4b
        ldx #$33
        stx $01
        ldx $48
        and #$3f
        asl
        rol $4b
        asl
        rol $4b
        asl
        rol $4b
        sta $4a
        ldy #$00

loc_0a10:
        ldx $49
        lda #$00
        pha
        lda ($4a),y
        and dat_0a5a,x
        beq loc_0a20
        pla
        ora #$08
        pha

loc_0a20:
        lda ($4a),y
        and $0a5e,x
        beq loc_0a2b
        pla
        ora #$04
        pha

loc_0a2b:
        iny
        lda ($4a),y
        and dat_0a5a,x
        beq loc_0a37
        pla
        ora #$02
        pha

loc_0a37:
        lda ($4a),y
        and $0a5e,x
        beq loc_0a42
        pla
        ora #$01
        pha

loc_0a42:
        pla
        tax
        lda $0a6a,x
        pha
        lda $0a62,y
        tax
        pla
        sta $06f7,x
        iny
        cpy #$08
        bne loc_0a10
        lda #$37
        sta $01
        rts

// --- Region $0c00-$0c07 ---
.pc = $0c00 "main_0c00"

main_0c00:
        lda #$00
        sta $d020
        jmp loc_0943

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

// --- Region $0801-$0848 ---
.pc = $0801 "dat_0801"

dat_0801:
        // === BASIC loader stub ===
        .byte $0b,$08                               // next line pointer ($080b)
        .byte $1f,$11                               // line number 4383
        .byte $9e                                   // SYS token
        .text "3072"                                // SYS 3072 → main_0c00
        .byte $00                                   // end of line
        .byte $00,$00                               // end of BASIC program
        .byte $00,$87,$86,$ff,$6b,$6b,$6b,$6b,$6b,$6b,$55,$00,$00,$00,$00,$00 // ....kkkkkkU.....
        .byte $00,$00,$00,$06,$04,$0e,$03,$0d,$01,$01,$01,$01,$01,$01,$01,$0d // ................
        .byte $03,$0e,$04,$06,$01,$01,$01,$01,$01,$0d,$03,$0e,$04,$06,$0d,$03 // ................
        .byte $0e,$04,$06,$40,$07,$06,$05,$04,$03,$02,$01,$00 // ...@........

// --- Region $0877-$0886 ---
.pc = $0877 "Program $0877"
        .byte $21,$d0,$bd,$20,$08,$8d,$21,$d0,$8d,$21,$d0,$e8,$bd,$20,$08,$ea // !.. ..!..!... ..

// --- Region $0a5a-$0bff ---
.pc = $0a5a "dat_0a5a"

dat_0a5a:
        .byte $20,$02,$08
        .byte $20,$80,$01,$04,$10
        .byte $40,$00,$00
        .text "((PP"
        .byte $78
        .byte $a0,$ec,$fb,$e2,$fc,$61,$7f,$7e,$fe,$ff,$e1,$7c,$62,$7b,$6c // .....a.~...|b{l

txt_0a79:
        .encoding "screencode_mixed"
        .text " quality you deservecbbbccbbccccccbbbbbbbcbbbbbbbbcbbbccbbcccbbbccbbccccccccccccbbccccccbbcbbbccbbccccbbbbbccbbbbbcbbbbbbccbbbbbbbcbbbbbbbcccbbbccbbcccccccbbbccbbcbbbccbbcccbbbcccc"
        .encoding "petscii_upper"

txt_0b2d:
        .text " DIPLOMACY FROM VIRGIN/MASTERTRONIC       WAS CRACKED BY THE     - C H R Y S A G O N -      ENJOY ALL THE OTHER WAREZ WE HAD CRACKED!!!     FOR A CONTACT DIAL 49+53516325            OUTTA SCHNAPZZZ!!!          "
        .byte $00                                   // string terminator
