// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:14
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $09e5  (485 bytes)
// Entry point:  $0811 (via BASIC SYS 2065)
//
// Code: 394 bytes, Data: 91 bytes
// Labels: 31, Subroutines: 3
//
// Cross-references: all OK
// ============================================


// --- Region $0811-$0942 ---
.pc = $0811 "main_0811"

main_0811:
        jsr sub_0820
        jmp $fce2

dat_0817:
        .fill 9, $00
// Referenced by: jsr from $0811

sub_0820:
        jmp loc_08e0
// Referenced by: jsr from $090a

sub_0823:
        lda #$d0
        sta $04
        lda $d018
        and #$02
        beq loc_0832
        lda #$d8
        sta $04

loc_0832:
        lda #$00
        ldx #$03

loc_0836:
        asl $fa
        rol
        dex
        bne loc_0836
        clc
        adc $04
        sta $04
        lda $fa
        sta $03
        lda $dc0e
        and #$fe
        sta $dc0e
        lda $01
        and #$fb
        sta $01
        lda #$00
        sta $fa
        lda #$05
        sta $02

loc_085b:
        ldy #$00
        lda ($03),y
        sta $05
        inc $03
        lda ($03),y
        sta $06
        inc $03
        dec $02
        beq $0889
        ldx #$04

loc_086f:
        lda #$00
        asl $06
        rol
        asl $06
        rol
        asl $05
        rol
        asl $05
        rol
        ldy $fa
        sta $0230,y
        inc $fa
        dex
        bne loc_086f
        beq loc_085b
        lda $01
        ora #$04
        sta $01
        lda $dc0e
        ora #$01
        sta $dc0e
        ldy #$00

loc_0899:
        ldx $f9
        beq loc_08a5
        lda #$1d

loc_089f:
        jsr $ffd2
        dex
        bne loc_089f

loc_08a5:
        lda #$04
        sta $06

loc_08a9:
        lda $0230,y
        tax
        lda dat_09d6,x
        sta $05
        and #$40
        beq loc_08bb
        lda #$12
        jsr $ffd2

loc_08bb:
        lda $05
        and #$bf
        jsr $ffd2
        lda #$92
        jsr $ffd2
        iny
        dec $06
        bne loc_08a9
        lda #$0d
        jsr $ffd2
        cpy #$10
        bne loc_0899
        ldx #$04

loc_08d7:
        lda #$91
        jsr $ffd2
        dex
        bne loc_08d7
        rts

loc_08e0:
        ldx #$00
        lda #$02
        sta $f9
        lda #$93
        jsr $ffd2
        ldy #$09

loc_08ed:
        lda $093d,x
        sta $fc
        clc
        asl
        asl
        bcc loc_0902
        lda $fc
        clc
        sbc #$3f
        sta $fc
        cmp #$00
        beq loc_091f

loc_0902:
        lda $fc
        sta $fa
        stx $fb
        sty $fd
        jsr sub_0823
        inc $f9
        inc $f9
        inc $f9
        inc $f9
        ldx $fb
        ldy $fd
        dey
        beq loc_0926
        inx
        bne loc_08ed

loc_091f:
        lda #$00
        sta $f9
        jmp loc_0974

loc_0926:
        lda #$0d
        jsr $ffd2
        jsr $ffd2
        jsr $ffd2
        jsr $ffd2
        lda #$02
        sta $f9
        ldy #$09
        inx
        bne loc_08ed
        rol
        jsr $2041
        .byte $42                                   // jam // ILLEGAL

txt_0942:
        .text " "

// --- Region $0974-$09d6 ---
.pc = $0974 "loc_0974"

loc_0974:
        lda #$00
        sta $d020
        ldx #$00
        lda #$f0

loc_097d:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_097d

loc_098c:
        sei
        lda $d012
        cmp #$33
        bne loc_098c
        lda $a2
        sta $d021
        sei

loc_099a:
        lda $d012

loc_099d:
        cmp $d012
        beq loc_099d
        inc $d021
        nop
        nop
        inc $d020
        nop
        nop
        inc $d021
        nop
        nop
        dec $d021
        nop
        nop
        dec $d020
        nop
        nop
        dec $d021
        lda $dc01
        cmp #$ff
        beq loc_09c7
        cli
        rts

loc_09c7:
        iny
        bne loc_099a
        inx
        bne loc_099a
        inc $d021
        inc $d020
        jmp loc_099a

dat_09d6:
        .byte $20                                   //  

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

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

dat_0801:
        // === BASIC loader stub ===
        .byte $0f,$08                               // next line pointer ($080f)
        .byte $cf,$07                               // line number 1999
        .byte $9e                                   // SYS token
        .text "2065 ABC"                            // SYS 2065 → main_0811
        .byte $00                                   // end of line
        .byte $00,$00                               // end of BASIC program

// --- Region $0943-$0973 ---
.pc = $0943 "Program $0943"
        .text "C *CRACKINGSPRES"
        .text "ENTS:--------- D"
        .text "ONALD    DUCK   "
        .byte $40                                   // @

// --- Region $09d7-$09e5 ---
.pc = $09d7 "Program $09d7"
        .byte $bc,$be,$e2,$ac,$e1,$bf,$fb,$bb,$ff,$a1,$ec,$a2,$fe,$fc,$60 // ..............`
