PretrackerRaspberryCasket/original/player.asm
2022-12-26 21:50:46 +01:00

5053 lines
182 KiB
NASM

lbL000000: dc.l songInit
dc.l playerInit
dc.l playerTick
dc.l lbC0038A2
dc.l lbC001DAE
dc.l lbC0001E0
dc.b '$VER: PreTracker 1.0 (c) 2019 Abyss!',0
dc.b $4E
dc.b $71,$4E
lbC000040: subq.l #8,sp
movem.l d2-d7/a2/a3/a5/a6,-(sp)
movea.l ($34,sp),a3
movea.l ($38,sp),a0
move.w ($3E,sp),d4
move.b (a3),d6
move.b (3,a3),d0
andi.b #7,d0
move.b (3,a3),d1
andi.b #$20,d1
move.b d1,($2D,sp)
clr.w d7
move.b d0,d7
move.w d7,($2E,sp)
tst.b d0
beq.w lbC00012C
lbC000076: lea (lbW003E8C,pc),a5
moveq #0,d7
andi.w #$FF,d6
clr.w d0
move.w d6,d1
muls.w d0,d1
move.l d1,d0
asr.l #8,d0
movea.l d0,a6
lbC00008C: move.w d7,d1
move.w (a5)+,d2
clr.w d0
move.b (1,a3),d0
mulu.w d2,d0
moveq #0,d2
lbC00009A: move.b (2,a3),d2
tst.b ($2D,sp)
bne.w lbC000142
lsr.l #2,d0
lsl.l #6,d2
movea.l d2,a1
adda.l d0,a1
lbC0000AE: tst.w d4
beq.b lbC000122
move.l d7,d5
addq.l #8,d5
btst #0,d1
bne.w lbC00014C
moveq #0,d2
moveq #0,d3
lea (lbW003E4C,pc),a2
move.l d7,($28,sp)
lbC0000CA: add.l d5,d3
move.b (a0,d2.l),d0
move.w d3,d1
moveq #11,d7
lsr.w d7,d1
andi.l #$FFFF,d1
add.l d1,d1
move.w (a2,d1.l),d1
andi.l #$FFFF,d1
lsl.l #5,d1
add.l a1,d1
lsr.l #6,d1
move.w d2,d7
sub.w d1,d7
bmi.b lbC000134
move.b (a0,d7.w),d1
ext.w d1
move.w d6,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
ext.w d0
add.w d1,d0
cmpi.w #$7F,d0
bgt.b lbC00013E
lbC00010C: cmpi.w #$FF80,d0
bge.b lbC000114
moveq #-$80,d0
lbC000114: move.b d0,(a0,d2.l)
addq.l #1,d2
cmp.w d4,d2
bcs.b lbC0000CA
lbC00011E: move.l ($28,sp),d7
lbC000122: addq.l #1,d7
cmp.w ($2E,sp),d7
bcs.w lbC00008C
lbC00012C: movem.l (sp)+,d2-d7/a2/a3/a5/a6
addq.l #8,sp
rts
lbC000134: ext.w d0
add.w a6,d0
cmpi.w #$7F,d0
ble.b lbC00010C
lbC00013E: moveq #$7F,d0
bra.b lbC00010C
lbC000142: lsl.l #8,d2
movea.l d2,a1
adda.l d0,a1
bra.w lbC0000AE
lbC00014C: moveq #0,d1
moveq #0,d3
lea (lbW003E4C,pc),a2
move.l d7,($28,sp)
add.l d5,d3
move.b (a0,d1.l),d0
move.w d3,d2
moveq #11,d7
lsr.w d7,d2
andi.l #$FFFF,d2
add.l d2,d2
move.w (a2,d2.l),d2
andi.l #$FFFF,d2
lsl.l #5,d2
add.l a1,d2
lsr.l #6,d2
move.w d1,d7
sub.w d2,d7
bmi.b lbC0001DC
lbC000182: move.b (a0,d7.w),d2
ext.w d2
lbC000188: neg.w d2
move.w d6,d7
muls.w d2,d7
move.l d7,d2
asr.l #8,d2
ext.w d0
add.w d2,d0
cmpi.w #$7F,d0
ble.b lbC00019E
moveq #$7F,d0
lbC00019E: cmpi.w #$FF80,d0
bge.b lbC0001A6
moveq #-$80,d0
lbC0001A6: move.b d0,(a0,d1.l)
addq.l #1,d1
cmp.w d4,d1
bcc.w lbC00011E
add.l d5,d3
move.b (a0,d1.l),d0
move.w d3,d2
moveq #11,d7
lsr.w d7,d2
andi.l #$FFFF,d2
add.l d2,d2
move.w (a2,d2.l),d2
andi.l #$FFFF,d2
lsl.l #5,d2
add.l a1,d2
lsr.l #6,d2
move.w d1,d7
sub.w d2,d7
bpl.b lbC000182
lbC0001DC: clr.w d2
bra.b lbC000188
lbC0001E0: lea (-$24,sp),sp
movem.l d2-d7/a2/a3/a5/a6,-(sp)
movea.l ($50,sp),a1
movea.l a1,a0
tst.b ($9FA,a1)
bne.w lbC00122E
lbC0001F6: clr.l ($28,sp)
lea (lbW004000,pc),a2
move.l a2,($34,sp)
clr.w d0
moveq #$2A,d1
mulu.w d1,d0
move.l d0,($40,sp)
lea (lbW004484,pc),a2
move.l a2,($38,sp)
lea (lbW000328,pc),a6
lea (lbB003D3C,pc),a3
move.l a3,($3C,sp)
lbC000220: movea.l ($38,a0),a2
move.w ($2A,a0),d0
move.w ($18,a0),d1
cmpa.w #0,a2
beq.w lbC000B6C
lbC000234: add.w ($30,a0),d0
add.w ($12,a0),d0
cmpi.w #$240,d0
bgt.w lbC000E2A
move.w d0,($2A,a0)
add.w ($28,a0),d1
bmi.w lbC000E38
lbC000250: cmpi.w #$40,d1
ble.w lbC001126
move.w #$40,($18,a0)
moveq #$40,d1
lbC000260: move.b ($6A,a0),d2
move.w ($1C,a0),($2C,sp)
tst.b d2
bne.w lbC00037A
clr.w ($30,a0)
clr.w ($28,a0)
move.w ($22,a0),d1
blt.w lbC000EC8
cmpi.w #$20,d1
ble.b lbC000288
moveq #$20,d1
lbC000288: move.b d1,d0
move.b d1,($68,a0)
move.w #$FFFF,($22,a0)
moveq #0,d5
move.b (7,a2),d5
clr.b d7
clr.b d3
moveq #-1,d4
movea.l ($38,sp),a5
lbC0002A4: move.b d0,d1
ext.w d1
movea.w d1,a3
cmp.l a3,d5
ble.w lbC00036C
lbC0002B0: movea.l ($9F6,a1),a2
move.b ($1B,a0),d1
subq.b #1,d1
andi.l #$FF,d1
addq.l #2,d1
add.l d1,d1
add.l d1,d1
moveq #0,d2
move.b d0,d2
add.l d2,d2
move.w (a5,d2.l),d2
andi.l #$FFFF,d2
movea.l (a2,d1.l),a2
adda.l d2,a2
move.b (a2),d1
move.b (1,a2),d6
andi.b #15,d6
tst.b d1
blt.w lbC000C88
clr.b d2
lbC0002EE: tst.b d3
bne.b lbC000314
andi.b #$3F,d1
beq.b lbC000314
andi.l #$FF,d1
lsl.w #4,d1
addi.w #$FFF0,d1
move.w d1,($2E,a0)
move.b (a2),d1
lsr.b #6,d1
andi.b #1,d1
move.b d1,($26,a0)
lbC000314: move.b (2,a2),d1
andi.l #$FF,d6
add.l d6,d6
move.w (a6,d6.l),d3
jmp (lbW000328,pc,d3.w)
lbW000328: dc.w lbC0009AC-lbW000328,lbC000A8A-lbW000328
dc.w lbC00088C-lbW000328,lbC00097E-lbW000328
dc.w lbC0008A8-lbW000328,lbC000898-lbW000328
dc.w lbC000898-lbW000328,lbC000898-lbW000328
dc.w lbC000898-lbW000328,lbC000898-lbW000328
dc.w lbC000A68-lbW000328,lbC00085C-lbW000328
dc.w lbC00083C-lbW000328,lbC000898-lbW000328
dc.w lbC000800-lbW000328,lbC000348-lbW000328
lbC000348: addq.b #1,d0
tst.b d1
beq.w lbC000F62
move.b d1,($69,a0)
lbC000354: move.b d0,($68,a0)
tst.b d2
beq.b lbC00036E
lbC00035C: moveq #1,d7
move.b d2,d3
lbC000360: move.b d0,d1
ext.w d1
movea.w d1,a3
cmp.l a3,d5
bgt.w lbC0002B0
lbC00036C: st d2
lbC00036E: add.b ($69,a0),d2
move.b d2,($6A,a0)
move.w ($18,a0),d1
lbC00037A: cmpi.w #$FF,($2C,sp)
beq.w lbC000EE0
movea.l ($3C,a0),a3
moveq #0,d3
move.b (4,a3),d3
lsl.l #8,d3
or.b (5,a3),d3
lbC000394: move.w ($2A,a0),d0
cmpi.b #$FF,d2
beq.b lbC0003A4
subq.b #1,d2
move.b d2,($6A,a0)
lbC0003A4: move.b (12,a0),d2
bne.w lbC000B84
lbC0003AC: move.l ($40,a0),d4
move.l ($5A,a0),d2
moveq #1,d7
cmp.l d4,d7
beq.w lbC000E80
tst.l d4
beq.w lbC001C8C
subq.l #3,d4
bne.w lbC000E42
move.w ($46,a0),d4
add.w ($48,a0),d4
move.w d4,($46,a0)
cmpi.w #15,d4
ble.w lbC000E42
move.b ($44,a0),d5
cmpi.b #$8E,d5
bhi.w lbC001142
move.b d5,d6
addq.b #1,d6
andi.l #$FF,d5
add.l d5,d5
lea (lbW003C1C,pc),a2
move.w (a2,d5.l),d5
andi.l #$FFFF,d5
move.b d6,($44,a0)
sub.l d5,d2
bmi.w lbC001150
lbC00040C: move.l d2,($5A,a0)
lsr.w #4,d2
addi.w #$FFF0,d4
move.w d4,($46,a0)
lbC00041A: move.b (14,a0),d4
beq.b lbC000432
subq.b #1,d4
move.b d4,(14,a0)
bne.b lbC000432
clr.l ($5A,a0)
moveq #3,d6
move.l d6,($40,a0)
lbC000432: mulu.w d2,d1
move.b (6,a0),d2
ext.w d2
lsr.l #6,d1
mulu.w d1,d2
move.l d2,d1
lsr.l #6,d1
move.b d1,($76,a0)
move.b (13,a0),d1
tst.w d3
beq.w lbC000D8E
tst.b d1
beq.w lbC000E48
tst.b (6,a3)
beq.w lbC000E48
andi.l #$FF,d1
lsl.l #7,d1
move.l d1,($34,a0)
clr.b (13,a0)
move.w ($24,a0),d4
moveq #0,d2
move.b (8,a3),d2
lsl.l #8,d2
or.b (9,a3),d2
tst.w d4
ble.w lbC001178
sub.l d2,d1
move.l d1,($34,a0)
lbC00048A: clr.w d5
move.b (7,a3),d5
move.w d5,($32,a0)
tst.w d4
ble.w lbC0010A0
add.l d2,d1
moveq #0,d4
move.w d3,d4
add.l d1,d4
moveq #0,d2
move.b (2,a3),d2
lsl.l #8,d2
or.b (3,a3),d2
cmp.l d1,d2
bge.b lbC0004BE
moveq #0,d2
move.b (10,a3),d2
lsl.l #8,d2
or.b (11,a3),d2
lbC0004BE: sub.l d4,d2
tst.l d2
ble.w lbC000C4C
lbC0004C6: move.l d1,($34,a0)
move.w d1,d4
lbC0004CC: move.w d3,($70,a0)
move.w d4,($72,a0)
moveq #0,d1
move.w ($1C,a0),d1
addi.l #$27F,d1
add.l d1,d1
add.l d1,d1
move.l (a1,d1.l),($6C,a0)
lbC0004EA: tst.b ($26,a0)
bne.w lbC000DF4
lbC0004F2: move.w ($20,a0),d1
lsl.w #4,d1
add.w ($2C,a0),d1
add.w d1,d0
move.w ($2E,a0),d1
addi.w #$FFE0,d1
add.w d1,d0
move.w ($66,a0),d1
bne.w lbC000E0A
lbC000510: move.w ($62,a0),d4
move.w ($64,a0),d2
lbC000518: move.w d2,d1
add.w ($60,a0),d1
move.w d1,($60,a0)
movea.w d1,a2
moveq #0,d3
move.w d4,d3
cmp.l a2,d3
bge.b lbC00053A
neg.w d2
move.w d2,($64,a0)
move.w d4,d1
move.w d4,($60,a0)
movea.w d4,a2
lbC00053A: neg.l d3
cmpa.l d3,a2
bge.b lbC00054E
neg.w d2
move.w d2,($64,a0)
move.w d4,d1
neg.w d1
move.w d1,($60,a0)
lbC00054E: asr.w #3,d1
add.w d1,d0
lbC000552: move.b ($77,a0),d6
move.w ($70,a0),d3
cmpi.w #$219,d0
ble.w lbC000D80
movea.w #$231,a2
btst #2,($14,a3)
beq.w lbC0005F2
moveq #0,d4
move.b (10,a3),d4
lsl.l #8,d4
or.b (11,a3),d4
move.w d4,d2
movea.w d0,a2
move.l a2,d5
addi.l #$FFFFFDE7,d5
asr.l #4,d5
moveq #0,d7
not.b d7
and.l d7,d5
lea (lbB003DD8,pc),a2
move.b (a2,d5.l),d1
move.w ($72,a0),d7
cmpi.w #$FFFF,d7
beq.w lbC001052
moveq #0,d4
move.b d1,d4
andi.l #$FFFF,d7
asr.l d4,d7
move.w d7,($72,a0)
andi.l #$FFFF,d3
asr.l d4,d3
move.w d3,($70,a0)
lbC0005C0: tst.b d1
beq.b lbC0005D8
move.l ($6C,a0),d4
lbC0005C8: moveq #0,d7
move.w d2,d7
add.l d7,d4
lsr.w #1,d2
subq.b #1,d1
bne.b lbC0005C8
move.l d4,($6C,a0)
lbC0005D8: lea (lbB003D6C,pc),a2
clr.w d1
move.b (a2,d5.l),d1
lsl.w #4,d1
sub.w d1,d0
cmpi.w #$231,d0
ble.b lbC0005F0
move.w #$231,d0
lbC0005F0: movea.w d0,a2
lbC0005F2: tst.b d6
beq.b lbC00060E
move.w ($72,a0),d0
cmpi.w #$FFFF,d0
beq.b lbC00060E
andi.l #$FFFF,d0
add.l d0,($6C,a0)
clr.w ($72,a0)
lbC00060E: cmp.w (4,a0),d3
beq.b lbC00061E
move.b #1,($77,a0)
move.w d3,(4,a0)
lbC00061E: move.l a2,d0
add.l a2,d0
movea.l ($34,sp),a2
move.w (a2,d0.l),($74,a0)
move.b ($14,a0),d0
beq.w lbC000C96
moveq #3,d1
cmp.l ($28,sp),d1
bne.w lbC000AA2
lbC00063E: tst.b ($77,a1)
bne.w lbC000CB0
lbC000646: clr.w d0
move.b ($76,a1),d0
move.w d0,($DFF0A8)
move.w ($74,a1),($DFF0A6)
tst.b ($2F3,a1)
bne.w lbC000CE8
lbC000662: clr.w d0
move.b ($2F2,a1),d0
move.w d0,($DFF0B8)
move.w ($2F0,a1),($DFF0B6)
tst.b ($56F,a1)
bne.w lbC000D20
lbC00067E: clr.w d0
move.b ($56E,a1),d0
move.w d0,($DFF0C8)
move.w ($56C,a1),($DFF0C6)
tst.b ($7EB,a1)
beq.w lbC000D58
lbC00069A: move.w #8,($DFF096)
move.l ($7E0,a1),($DFF0D0)
move.w ($7E4,a1),d0
lsr.w #1,d0
move.w d0,($DFF0D4)
move.w #0,($DFF0D8)
clr.b ($7EB,a1)
move.w ($7E8,a1),($DFF0D6)
moveq #4,d2
move.l #$FFFFFF,d1
lbC0006D2: move.l ($DFF004),d0
move.l d0,($44,sp)
move.l ($44,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($44,sp)
move.l ($44,sp),d0
cmp.l d0,d1
beq.b lbC0006D2
move.l ($44,sp),d1
subq.b #1,d2
bne.b lbC0006D2
move.w #$800F,($DFF096)
moveq #4,d2
move.l #$FFFFFF,d1
lbC00070C: move.l ($DFF004),d0
move.l d0,($48,sp)
move.l ($48,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($48,sp)
move.l ($48,sp),d0
cmp.l d0,d1
beq.b lbC00070C
move.l ($48,sp),d1
subq.b #1,d2
bne.b lbC00070C
move.w #$8001,($DFF096)
move.w ($72,a1),d0
cmpi.w #$FFFF,d0
beq.w lbC001756
andi.l #$FFFF,d0
add.l ($6C,a1),d0
move.l d0,($DFF0A0)
lbC00075A: clr.w d0
move.b ($76,a1),d0
move.w d0,($DFF0A8)
move.w #$8002,($DFF096)
move.w ($2EE,a1),d0
cmpi.w #$FFFF,d0
beq.w lbC001742
andi.l #$FFFF,d0
add.l ($2E8,a1),d0
move.l d0,($DFF0B0)
lbC00078A: clr.w d0
move.b ($2F2,a1),d0
move.w d0,($DFF0B8)
move.w #$8004,($DFF096)
move.w ($56A,a1),d0
cmpi.w #$FFFF,d0
beq.w lbC00172E
andi.l #$FFFF,d0
add.l ($564,a1),d0
move.l d0,($DFF0C0)
lbC0007BA: clr.w d0
move.b ($56E,a1),d0
move.w d0,($DFF0C8)
move.w #$8008,($DFF096)
move.w ($7E6,a1),d0
cmpi.w #$FFFF,d0
beq.w lbC001708
andi.l #$FFFF,d0
add.l ($7E0,a1),d0
move.l d0,($DFF0D0)
clr.w d0
move.b ($7EA,a1),d0
move.w d0,($DFF0D8)
movem.l (sp)+,d2-d7/a2/a3/a5/a6
lea ($24,sp),sp
rts
lbC000800: move.b d1,d3
lsr.b #4,d3
addq.b #1,d0
tst.b d3
beq.w lbC001032
cmpi.b #1,d3
bne.w lbC000354
andi.b #3,d1
beq.w lbC001020
andi.l #$FF,d1
move.b (-1,a0,d1.l),d1
lbC000826: andi.w #$FF,d1
move.w d1,($20,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC00083C: andi.w #$FF,d1
addq.b #1,d0
cmpi.w #$40,d1
bgt.w lbC000F74
move.w d1,($18,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC00085C: moveq #0,d3
move.b d1,d3
cmp.l a3,d3
bge.b lbC000898
moveq #-1,d6
cmp.l d4,d6
beq.b lbC00086E
cmp.l d3,d4
ble.b lbC000898
lbC00086E: move.b d1,d0
subq.b #1,d0
move.b d0,($68,a0)
move.b d1,d0
tst.b d7
bne.w lbC00119E
move.b d1,($68,a0)
moveq #-1,d4
moveq #1,d7
move.b d2,d3
bra.w lbC000360
lbC00088C: andi.l #$FF,d1
neg.w d1
move.w d1,($30,a0)
lbC000898: addq.b #1,d0
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC0008A8: move.b d1,d3
subq.b #1,d3
clr.w d1
move.b d3,d1
addq.b #1,d0
cmp.w ($2C,sp),d1
beq.w lbC000354
cmpi.b #$17,d3
bhi.w lbC000354
move.w d1,($1C,a0)
movea.l ($9F6,a1),a2
move.w d1,d6
moveq #$2A,d7
mulu.w d7,d6
movea.l ($9C,a2),a2
adda.l d6,a2
move.l a2,($3C,a0)
moveq #0,d6
move.b (4,a2),d6
lsl.l #8,d6
or.b (5,a2),d6
tst.l d6
bne.w lbC0011B4
moveq #0,d7
move.b (12,a2),d7
lsl.l #8,d7
or.b (13,a2),d7
move.l d7,($30,sp)
move.b #1,($77,a0)
andi.l #$FF,d3
addi.l #$27F,d3
add.l d3,d3
add.l d3,d3
moveq #0,d6
move.w d7,d6
movea.l d6,a3
move.l (a1,d3.l),d3
add.l a3,d3
move.l d3,($6C,a0)
moveq #0,d6
move.b (10,a2),d6
lsl.l #8,d6
or.b (11,a2),d6
moveq #0,d3
move.w d6,d3
move.l d3,d7
subq.l #1,d7
cmp.l a3,d7
bgt.w lbC001666
moveq #2,d6
move.w d6,($70,a0)
move.w #$FFFF,($72,a0)
lbC000948: move.l ($34,a0),d6
cmp.l d6,d3
bge.b lbC000956
move.w #1,($24,a0)
lbC000956: clr.w ($32,a0)
moveq #0,d3
move.b (8,a2),d3
lsl.l #8,d3
or.b (9,a2),d3
sub.l d3,d6
move.l d6,($34,a0)
move.w d1,($2C,sp)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC00097E: addq.b #1,d0
cmpi.b #1,d1
beq.w lbC000FDA
cmpi.b #2,d1
bne.w lbC000354
clr.l ($40,a0)
clr.l ($5A,a0)
move.b #1,($5E,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC0009AC: subq.b #1,d1
clr.w d3
move.b d1,d3
addq.b #1,d0
cmp.w ($2C,sp),d3
beq.w lbC000354
cmpi.b #$17,d1
bhi.w lbC000354
move.w d3,($1C,a0)
movea.l ($9F6,a1),a2
move.w d3,d6
moveq #$2A,d7
mulu.w d7,d6
movea.l ($9C,a2),a2
adda.l d6,a2
move.l a2,($3C,a0)
moveq #0,d6
move.b (4,a2),d6
lsl.l #8,d6
or.b (5,a2),d6
tst.l d6
bne.w lbC0011E4
moveq #0,d7
move.b (12,a2),d7
lsl.l #8,d7
or.b (13,a2),d7
moveq #0,d6
move.w d7,d6
move.b #1,($77,a0)
andi.l #$FF,d1
addi.l #$27F,d1
add.l d1,d1
add.l d1,d1
move.l (a1,d1.l),d1
add.l d6,d1
move.l d1,($6C,a0)
moveq #0,d1
move.b (10,a2),d1
lsl.l #8,d1
or.b (11,a2),d1
movea.l d1,a3
subq.l #1,a3
cmpa.l d6,a3
bgt.w lbC001656
moveq #2,d1
move.w d1,($70,a0)
move.w #$FFFF,($72,a0)
lbC000A40: clr.w d1
move.b (7,a2),d1
addq.w #1,d1
move.w d1,($32,a0)
move.l d6,($34,a0)
move.w #1,($24,a0)
move.w d3,($2C,sp)
lbC000A5A: move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC000A68: move.b d1,d3
andi.b #15,d3
beq.w lbC000F88
neg.b d1
ext.w d1
move.w d1,($28,a0)
addq.b #1,d0
lbC000A7C: move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC000A8A: andi.w #$FF,d1
move.w d1,($30,a0)
addq.b #1,d0
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC000AA2: cmpi.b #$FF,d0
beq.w lbC001162
move.b ($290,a0),d3
move.b d0,($290,a0)
move.b ($291,a0),d1
addq.b #1,d1
andi.b #$1F,d1
move.b d1,($291,a0)
move.b d1,d2
ext.w d2
movea.w d2,a2
move.l a2,d2
lsl.l #4,d2
lea (a0,d2.l),a2
lea ($2F8,a2),a3
move.l ($6C,a0),(a3)+
move.l ($70,a0),(a3)+
move.l ($74,a0),(a3)+
move.l ($78,a0),(a3)
move.b ($16,a0),d2
ext.w d2
lea ($302,a2),a3
clr.w d4
move.b (a3),d4
mulu.w d4,d2
lsr.l #4,d2
move.b d2,(a3)
tst.b d3
bne.b lbC000B00
move.b #1,($303,a2)
lbC000B00: sub.b d0,d1
bmi.w lbC0018A4
move.b d1,d0
ext.w d0
ext.l d0
moveq #7,d4
and.l d4,d1
lea (lbB003E44,pc),a2
move.b (a2,d1.l),d1
ext.w d1
lbC000B1A: lsl.l #4,d0
lea (a0,d0.l),a2
lea ($2E8,a0),a3
lea ($2F8,a2),a5
move.l (a5)+,(a3)+
move.l (a5)+,(a3)+
move.l (a5)+,(a3)+
move.l (a5),(a3)
clr.b ($302,a2)
move.w ($2F0,a0),d2
move.w d1,d0
muls.w d2,d0
moveq #12,d6
asr.l d6,d0
add.w d0,d2
move.w d2,($2F0,a0)
moveq #2,d7
cmp.l ($28,sp),d7
beq.w lbC00063E
lea ($4F8,a0),a0
addq.l #2,($28,sp)
movea.l ($38,a0),a2
move.w ($2A,a0),d0
move.w ($18,a0),d1
cmpa.w #0,a2
bne.w lbC000234
lbC000B6C: movea.l ($3C,a0),a3
moveq #0,d3
move.b (4,a3),d3
lsl.l #8,d3
or.b (5,a3),d3
move.b (12,a0),d2
beq.w lbC0003AC
lbC000B84: movea.l ($9F6,a1),a2
moveq #0,d4
move.b d2,d4
addi.l #$1FFFFFFF,d4
lsl.l #3,d4
movea.l ($98,a2),a2
adda.l d4,a2
move.w d1,($1E,a0)
move.l a2,($38,a0)
andi.w #$FF,d2
move.w d2,($1A,a0)
clr.l ($40,a0)
clr.l ($5A,a0)
move.b #1,($5E,a0)
moveq #0,d4
move.b (3,a2),d4
move.l d4,($4A,a0)
moveq #0,d2
move.b (4,a2),d2
move.l d2,($4E,a0)
move.b (5,a2),d2
move.l d2,($52,a0)
move.b (6,a2),d2
move.l d2,($56,a0)
clr.w ($60,a0)
move.b (a2),d2
lea (lbB003C0C,pc),a5
move.b (a5,d2.l),d2
andi.w #$FF,d2
addq.w #1,d2
move.w d2,($66,a0)
moveq #0,d2
move.b (1,a2),d2
lea (lbB003BFC,pc),a5
move.b (a5,d2.l),d2
andi.w #$FF,d2
move.w d2,($62,a0)
moveq #0,d2
move.b (2,a2),d2
lea (lbB003BEC,pc),a2
move.b (a2,d2.l),d2
andi.w #$FF,d2
move.w d2,($64,a0)
clr.b (12,a0)
moveq #0,d2
lbC000C26: add.l d4,d4
lea (lbW003D4C,pc),a2
move.w (a2,d4.l),d4
andi.l #$FFFF,d4
add.l d4,d2
cmpi.l #$3FF,d2
bgt.w lbC000FAE
move.l d2,($5A,a0)
lsr.w #4,d2
bra.w lbC00041A
lbC000C4C: add.l d2,d1
move.l d1,($34,a0)
move.w #$FFFF,($24,a0)
move.w d1,d4
tst.l d2
bne.w lbC0004CC
subq.w #1,d5
move.w d5,($32,a0)
lbC000C66: move.w d3,($70,a0)
move.w d4,($72,a0)
moveq #0,d1
move.w ($1C,a0),d1
addi.l #$27F,d1
add.l d1,d1
add.l d1,d1
move.l (a1,d1.l),($6C,a0)
bra.w lbC0004EA
lbC000C88: moveq #-1,d2
cmp.l d4,d2
beq.w lbC000D78
moveq #1,d2
bra.w lbC0002EE
lbC000C96: lea ($27C,a0),a0
addq.l #1,($28,sp)
moveq #4,d0
cmp.l ($28,sp),d0
bne.w lbC000220
tst.b ($77,a1)
beq.w lbC000646
lbC000CB0: move.w #1,($DFF096)
move.l ($6C,a1),($DFF0A0)
move.w ($70,a1),d0
lsr.w #1,d0
move.w d0,($DFF0A4)
move.w #0,($DFF0A8)
clr.b ($77,a1)
move.w ($74,a1),($DFF0A6)
tst.b ($2F3,a1)
beq.w lbC000662
lbC000CE8: move.w #2,($DFF096)
move.l ($2E8,a1),($DFF0B0)
move.w ($2EC,a1),d0
lsr.w #1,d0
move.w d0,($DFF0B4)
move.w #0,($DFF0B8)
clr.b ($2F3,a1)
move.w ($2F0,a1),($DFF0B6)
tst.b ($56F,a1)
beq.w lbC00067E
lbC000D20: move.w #4,($DFF096)
move.l ($564,a1),($DFF0C0)
move.w ($568,a1),d0
lsr.w #1,d0
move.w d0,($DFF0C4)
move.w #0,($DFF0C8)
clr.b ($56F,a1)
move.w ($56C,a1),($DFF0C6)
tst.b ($7EB,a1)
bne.w lbC00069A
lbC000D58: clr.w d0
move.b ($7EA,a1),d0
move.w d0,($DFF0D8)
move.w ($7E8,a1),($DFF0D6)
moveq #4,d2
move.l #$FFFFFF,d1
bra.w lbC0006D2
lbC000D78: move.l a3,d4
moveq #1,d2
bra.w lbC0002EE
lbC000D80: tst.w d0
bge.w lbC0005F0
clr.w d0
movea.w d0,a2
bra.w lbC0005F2
lbC000D8E: tst.b d1
beq.w lbC0004EA
tst.b (6,a3)
beq.w lbC0004EA
moveq #0,d2
move.w ($1C,a0),d2
andi.w #$FF,d1
lsl.w #7,d1
move.b #1,($77,a0)
addi.l #$27F,d2
add.l d2,d2
add.l d2,d2
moveq #0,d3
move.w d1,d3
move.l (a1,d2.l),d2
add.l d3,d2
move.l d2,($6C,a0)
moveq #0,d2
move.b (10,a3),d2
lsl.l #8,d2
or.b (11,a3),d2
move.l d2,d4
subq.l #1,d4
cmp.l d3,d4
ble.w lbC00112E
sub.w d1,d2
move.w d2,($70,a0)
move.w #$FFFF,($72,a0)
clr.b (13,a0)
lbC000DEC: tst.b ($26,a0)
beq.w lbC0004F2
lbC000DF4: addi.w #$10,d0
move.w ($2E,a0),d1
addi.w #$FFE0,d1
add.w d1,d0
move.w ($66,a0),d1
beq.w lbC000510
lbC000E0A: subq.w #1,d1
move.w d1,($66,a0)
bne.w lbC000552
move.w ($62,a0),d4
move.w ($64,a0),d1
move.w d4,d2
muls.w d1,d2
asr.w #4,d2
move.w d2,($64,a0)
bra.w lbC000518
lbC000E2A: move.w #$240,($2A,a0)
add.w ($28,a0),d1
bpl.w lbC000250
lbC000E38: clr.w ($18,a0)
clr.w d1
bra.w lbC000260
lbC000E42: lsr.w #4,d2
bra.w lbC00041A
lbC000E48: move.w ($32,a0),d1
cmpi.w #1,d1
bls.w lbC00110C
subq.w #1,d1
move.w d1,($32,a0)
move.w ($36,a0),d4
move.w d3,($70,a0)
move.w d4,($72,a0)
moveq #0,d1
move.w ($1C,a0),d1
addi.l #$27F,d1
add.l d1,d1
add.l d1,d1
move.l (a1,d1.l),($6C,a0)
bra.w lbC0004EA
lbC000E80: move.b ($44,a0),d4
cmpi.b #$8E,d4
bhi.w lbC000FA6
move.b d4,d5
addq.b #1,d5
andi.l #$FF,d4
add.l d4,d4
lea (lbW003C1C,pc),a2
move.w (a2,d4.l),d4
andi.l #$FFFF,d4
lbC000EA6: move.b d5,($44,a0)
sub.l d4,d2
move.l d2,d4
move.l d2,($5A,a0)
move.l ($52,a0),d2
lsl.l #6,d2
movea.w d2,a2
cmpa.l d4,a2
bge.w lbC000F96
move.w d4,d2
lsr.w #4,d2
bra.w lbC00041A
lbC000EC8: move.b ($68,a0),d0
moveq #0,d5
move.b (7,a2),d5
clr.b d7
clr.b d3
moveq #-1,d4
movea.l ($38,sp),a5
bra.w lbC0002A4
lbC000EE0: clr.w ($1C,a0)
movea.l ($9F6,a1),a2
movea.l ($9C,a2),a3
adda.l ($40,sp),a3
move.l a3,($3C,a0)
moveq #0,d3
move.b (4,a3),d3
lsl.l #8,d3
or.b (5,a3),d3
tst.w d3
bne.w lbC0010D6
moveq #0,d5
move.b (12,a3),d5
lsl.l #8,d5
or.b (13,a3),d5
moveq #0,d4
move.w d5,d4
move.b #1,($77,a0)
move.l ($9FC,a1),d6
add.l d4,d6
move.l d6,($6C,a0)
moveq #0,d0
move.b (10,a3),d0
lsl.l #8,d0
or.b (11,a3),d0
move.l d0,d6
subq.l #1,d6
cmp.l d4,d6
ble.w lbC00118E
sub.w d5,d0
move.w d0,($70,a0)
move.w #$FFFF,($72,a0)
lbC000F48: clr.w d0
move.b (7,a3),d0
addq.w #1,d0
move.w d0,($32,a0)
move.l d4,($34,a0)
move.w #1,($24,a0)
bra.w lbC000394
lbC000F62: st ($69,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC000F74: move.w #$40,($18,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC000F88: lsr.b #4,d1
ext.w d1
move.w d1,($28,a0)
addq.b #1,d0
bra.w lbC000A7C
lbC000F96: move.l d2,($5A,a0)
moveq #2,d5
move.l d5,($40,a0)
lsr.w #4,d2
bra.w lbC00041A
lbC000FA6: moveq #2,d4
moveq #-$71,d5
bra.w lbC000EA6
lbC000FAE: move.l #$400,($5A,a0)
moveq #1,d6
move.l d6,($40,a0)
move.l ($4E,a0),d2
movea.l ($3C,sp),a2
move.b (a2,d2.l),($44,a0)
moveq #15,d2
cmp.l ($52,a0),d2
beq.w lbC001182
moveq #$40,d2
bra.w lbC00041A
lbC000FDA: move.l ($5A,a0),d1
asr.l #6,d1
move.l d1,d3
andi.l #$FFFF,d3
moveq #$10,d6
sub.l d3,d6
move.l d6,d3
asr.l #1,d3
move.l ($56,a0),d6
movea.l ($3C,sp),a2
move.b (a2,d6.l),d6
add.b d3,d6
move.b d6,($44,a0)
move.w d1,($48,a0)
move.w #$10,($46,a0)
moveq #3,d1
move.l d1,($40,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC001020: clr.w ($20,a0)
move.b d0,($68,a0)
tst.b d2
bne.w lbC00035C
bra.w lbC00036E
lbC001032: andi.b #3,d1
beq.b lbC001020
andi.l #$FF,d1
move.b (-1,a0,d1.l),d1
bne.w lbC000826
move.b d0,($68,a0)
moveq #1,d7
move.b d2,d3
bra.w lbC000360
lbC001052: tst.b d6
beq.w lbC0005D8
moveq #0,d7
move.w ($1C,a0),d7
addi.l #$27F,d7
add.l d7,d7
add.l d7,d7
movea.l (a1,d7.l),a3
move.l ($6C,a0),d7
sub.l a3,d7
move.l d7,($2C,sp)
movea.w d3,a2
adda.w d7,a2
moveq #0,d7
move.b d1,d7
movea.w d4,a5
suba.w a2,a5
cmp.w a5,d3
bcc.w lbC001636
move.w #2,($70,a0)
moveq #2,d3
move.l ($2C,sp),d4
lsr.l d7,d4
add.l a3,d4
move.l d4,($6C,a0)
bra.w lbC0005C0
lbC0010A0: sub.l d2,d1
moveq #0,d2
move.b (a3),d2
lsl.l #8,d2
or.b (1,a3),d2
move.w d2,d4
andi.l #$FFFF,d2
move.l d2,d6
sub.l d1,d6
bmi.w lbC0004C6
move.l d2,($34,a0)
move.w #1,($24,a0)
tst.l d6
bne.w lbC0004CC
subq.w #1,d5
move.w d5,($32,a0)
bra.w lbC000C66
lbC0010D6: clr.w ($72,a0)
move.b #1,($77,a0)
move.l ($9FC,a1),($6C,a0)
moveq #0,d4
move.b (12,a3),d4
lsl.l #8,d4
or.b (13,a3),d4
clr.w d0
move.b (7,a3),d0
addq.w #1,d0
move.w d0,($32,a0)
move.l d4,($34,a0)
move.w #1,($24,a0)
bra.w lbC000394
lbC00110C: move.w ($24,a0),d4
moveq #0,d1
move.b (8,a3),d1
lsl.l #8,d1
move.l d1,d2
or.b (9,a3),d2
move.l ($34,a0),d1
bra.w lbC00048A
lbC001126: move.w d1,($18,a0)
bra.w lbC000260
lbC00112E: moveq #2,d2
move.w d2,($70,a0)
move.w #$FFFF,($72,a0)
clr.b (13,a0)
bra.w lbC000DEC
lbC001142: moveq #2,d5
moveq #-$71,d6
move.b d6,($44,a0)
sub.l d5,d2
bpl.w lbC00040C
lbC001150: clr.l ($5A,a0)
clr.w d2
addi.w #$FFF0,d4
move.w d4,($46,a0)
bra.w lbC00041A
lbC001162: clr.b ($14,a0)
clr.b ($282,a0)
move.w #$FF,($290,a0)
clr.w d1
moveq #$1F,d0
bra.w lbC000B1A
lbC001178: add.l d2,d1
move.l d1,($34,a0)
bra.w lbC00048A
lbC001182: moveq #$10,d4
move.l d4,($52,a0)
moveq #$40,d2
bra.w lbC00041A
lbC00118E: moveq #2,d0
move.w d0,($70,a0)
move.w #$FFFF,($72,a0)
bra.w lbC000F48
lbC00119E: move.b d1,($68,a0)
clr.b d2
add.b ($69,a0),d2
move.b d2,($6A,a0)
move.w ($18,a0),d1
bra.w lbC00037A
lbC0011B4: clr.w ($72,a0)
move.b #1,($77,a0)
andi.l #$FF,d3
addi.l #$27F,d3
add.l d3,d3
add.l d3,d3
move.l (a1,d3.l),($6C,a0)
moveq #0,d3
move.b (10,a2),d3
lsl.l #8,d3
or.b (11,a2),d3
bra.w lbC000948
lbC0011E4: clr.w ($72,a0)
move.b #1,($77,a0)
andi.l #$FF,d1
addi.l #$27F,d1
add.l d1,d1
add.l d1,d1
move.l (a1,d1.l),($6C,a0)
moveq #0,d6
move.b (12,a2),d6
lsl.l #8,d6
or.b (13,a2),d6
clr.w d1
move.b (7,a2),d1
addq.w #1,d1
move.w d1,($32,a0)
move.l d6,($34,a0)
move.w #1,($24,a0)
move.w d3,($2C,sp)
bra.w lbC000A5A
lbC00122E: movea.l ($9F6,a1),a6
movea.l a1,a2
moveq #0,d0
lea (lbB003D3C,pc),a3
move.l a3,d7
lea (lbW004484,pc),a3
move.l a3,($28,sp)
lea (lbW00147C,pc),a3
move.l a3,($2C,sp)
lea (lbB003BFC,pc),a3
move.l a3,($30,sp)
lea (lbB003BEC,pc),a3
move.l a3,($34,sp)
lea ($774,a1),a3
move.l a3,($38,sp)
move.l a1,($40,sp)
movea.l d7,a5
lbC00126A: move.l a2,d1
addi.l #$27C,d1
move.b (8,a2),d2
ble.b lbC001282
subq.b #1,d2
move.b d2,(8,a2)
beq.w lbC00149C
lbC001282: move.b (9,a2),d2
beq.w lbC0014D8
lbC00128A: move.b (10,a2),d3
bne.w lbC0016E2
clr.w ($12,a2)
move.b #$40,(6,a2)
clr.w ($10,a2)
st ($15,a2)
clr.b (9,a2)
clr.w (10,a2)
clr.w (12,a2)
move.w #$40,($1E,a2)
move.w #$40,($18,a2)
move.w #$FF,($1C,a2)
clr.w ($20,a2)
move.w #$FFFF,($22,a2)
clr.b ($26,a2)
clr.w ($28,a2)
clr.w ($2E,a2)
clr.w ($30,a2)
move.w #$10,($2A,a2)
clr.b ($68,a2)
clr.b ($6A,a2)
move.b #1,($69,a2)
movea.l ($9F6,a1),a3
moveq #0,d3
move.b d2,d3
addi.l #$1FFFFFFF,d3
lsl.l #3,d3
add.l ($98,a3),d3
move.l d3,($38,a2)
clr.w d3
move.b d2,d3
move.w d3,($1A,a2)
move.b d2,(12,a2)
lbC001314: move.b (15,a2),d4
blt.w lbC00152C
lbC00131C: tst.b d4
beq.b lbC00132C
subq.b #1,d4
bne.w lbC0016F4
st (15,a2)
st d4
lbC00132C: moveq #0,d2
not.b d2
and.l ($88,a6),d2
add.l d2,d2
add.l d2,d2
add.l d0,d2
add.l d2,d2
movea.l ($94,a6),a3
adda.l d2,a3
cmpa.w #0,a3
beq.w lbC00152C
move.b ($9F0,a1),d2
cmp.b (1,a6),d2
bcc.w lbC00152C
move.b (a3),d5
moveq #0,d3
move.b d5,d3
beq.w lbC00152C
moveq #$27,d6
add.l d6,d3
add.l d3,d3
add.l d3,d3
andi.l #$FF,d2
add.l d2,d2
movea.l ($28,sp),a0
moveq #0,d5
move.w (a0,d2.l),d5
add.l (a6,d3.l),d5
beq.w lbC00152C
movea.l d5,a0
move.b (1,a0),d2
andi.b #15,d2
cmpi.b #14,d2
bne.b lbC0013B4
tst.b d4
bne.b lbC0013B4
move.b (2,a0),d3
lsr.b #4,d3
move.b (2,a0),d2
andi.b #15,d2
cmpi.b #13,d3
beq.w lbC001B6C
cmpi.b #10,d3
beq.w lbC001A26
lbC0013B4: st (15,a2)
move.b (1,a3),d2
ext.w d2
movea.w d2,a3
movea.l d5,a0
move.b (a0),d3
move.b (1,a0),d2
move.b d3,d4
lsr.b #7,d4
lsl.b #4,d4
move.b d2,d6
lsr.b #4,d6
add.b d6,d4
move.b d3,d7
andi.b #$3F,d7
tst.b d4
beq.b lbC00140C
lbC0013DE: tst.b d7
bne.b lbC00140C
moveq #0,d2
move.b d4,d2
addi.l #$1FFFFFFF,d2
lsl.l #3,d2
movea.l ($9F6,a1),a0
add.l ($98,a0),d2
move.b ($1F,a2),(6,a2)
cmp.l ($38,a2),d2
beq.w lbC001A5A
movea.l d5,a0
move.b (a0),d3
move.b (1,a0),d2
lbC00140C: andi.b #$40,d3
andi.b #15,d2
movea.l d5,a0
move.b (2,a0),d5
tst.b d3
beq.w lbC00176A
move.b d2,d3
or.b d5,d3
bne.w lbC0018C0
clr.b d5
moveq #1,d6
st d2
lbC00142E: cmpi.b #$3D,d7
beq.w lbC0018E2
lbC001436: tst.b d4
beq.w lbC00191A
tst.b d7
bne.w lbC0017AE
lbC001442: tst.b d3
beq.b lbC001452
move.b d3,(9,a2)
move.b d5,d3
lsr.b #4,d3
move.b d3,(10,a2)
lbC001452: clr.b (11,a2)
clr.w ($12,a2)
tst.b d6
bne.w lbC00152C
cmpi.b #15,d2
bhi.w lbC00152C
andi.l #$FF,d2
add.l d2,d2
movea.l ($2C,sp),a0
move.w (a0,d2.l),d2
jmp (lbW00147C,pc,d2.w)
lbW00147C: dc.w lbC00152C-lbW00147C,lbC001A74-lbW00147C
dc.w lbC001B56-lbW00147C,lbC00152C-lbW00147C
dc.w lbC001B16-lbW00147C,lbC001678-lbW00147C
dc.w lbC00152C-lbW00147C,lbC00152C-lbW00147C
dc.w lbC00152C-lbW00147C,lbC001B06-lbW00147C
dc.w lbC001ABC-lbW00147C,lbC001AAC-lbW00147C
dc.w lbC001A98-lbW00147C,lbC001A88-lbW00147C
dc.w lbC00152C-lbW00147C,lbC001AE0-lbW00147C
lbC00149C: move.l ($5A,a2),d3
asr.l #6,d3
move.l d3,d2
andi.l #$FFFF,d2
moveq #$10,d4
sub.l d2,d4
move.l d4,d2
asr.l #1,d2
move.l ($56,a2),d4
move.b (a5,d4.l),d4
add.b d2,d4
move.b d4,($44,a2)
move.w d3,($48,a2)
move.w #$10,($46,a2)
moveq #3,d5
move.l d5,($40,a2)
move.b (9,a2),d2
bne.w lbC00128A
lbC0014D8: move.w ($10,a2),d3
beq.w lbC0016DA
move.w ($2C,a2),d2
moveq #0,d4
move.w d3,d4
clr.w d5
move.b (7,a2),d5
movea.w d2,a3
cmp.l a3,d4
ble.w lbC0016BC
add.w d5,d2
move.w d2,($2C,a2)
move.b (11,a2),d5
movea.w d2,a3
cmpa.l d4,a3
bgt.w lbC0016CE
lbC001508: tst.b d5
beq.w lbC001314
add.b (6,a2),d5
bmi.w lbC0016EC
cmpi.b #$40,d5
ble.w lbC001956
move.b #$40,(6,a2)
move.b (15,a2),d4
bge.w lbC00131C
lbC00152C: move.b ($14,a2),d2
lbC001530: tst.b d2
bne.w lbC0016A8
lbC001536: movea.l d1,a2
addq.l #1,d0
moveq #3,d1
cmp.l d0,d1
bge.w lbC00126A
lbC001542: movea.l ($40,sp),a0
move.b ($9F4,a1),d0
subq.b #1,d0
move.b d0,($9F4,a1)
bne.w lbC0001F6
clr.b (15,a1)
clr.b ($28B,a1)
clr.b ($507,a1)
clr.b ($783,a1)
move.b ($9F1,a1),d0
move.b (1,a6),d2
moveq #0,d1
move.b d2,d1
subq.l #1,d1
tst.b d0
blt.w lbC00195E
move.b d0,d3
ext.w d3
movea.w d3,a2
cmp.l a2,d1
ble.w lbC0019D4
move.b d0,($9F0,a1)
moveq #0,d3
not.b d3
and.l ($88,a6),d3
addq.l #1,d3
move.l d3,($88,a6)
cmp.l ($8C,a6),d3
blt.b lbC0015A2
lbC00159C: move.l ($90,a6),($88,a6)
lbC0015A2: st ($9F1,a1)
move.b ($9F2,a1),d3
blt.w lbC001A0A
lbC0015AE: clr.b ($9F0,a1)
move.b ($1C6C,a1),d0
bne.w lbC00187E
ext.w d3
movea.w d3,a2
move.l a2,($88,a6)
cmpa.l ($8C,a6),a2
blt.w lbC00187E
move.l ($90,a6),($88,a6)
st ($9F2,a1)
cmpi.b #1,d2
bhi.b lbC0015F8
clr.b ($9F0,a1)
lbC0015DE: moveq #0,d0
not.b d0
and.l ($88,a6),d0
addq.l #1,d0
move.l d0,($88,a6)
cmp.l ($8C,a6),d0
blt.b lbC0015F8
move.l ($90,a6),($88,a6)
lbC0015F8: move.b ($9F3,a1),d1
cmpi.b #$2F,d1
bhi.w lbC001A00
lbC001604: move.b d1,($9F4,a1)
lbC001608: clr.l ($28,sp)
lea (lbW004000,pc),a2
move.l a2,($34,sp)
clr.w d0
moveq #$2A,d1
mulu.w d1,d0
move.l d0,($40,sp)
lea (lbW004484,pc),a2
move.l a2,($38,sp)
lea (lbW000328,pc),a6
lea (lbB003D3C,pc),a3
move.l a3,($3C,sp)
bra.w lbC000220
lbC001636: add.w a2,d3
sub.w d4,d3
moveq #0,d4
move.w d3,d4
asr.l d7,d4
move.w d4,d3
move.w d4,($70,a0)
move.l ($2C,sp),d4
lsr.l d7,d4
add.l a3,d4
move.l d4,($6C,a0)
bra.w lbC0005C0
lbC001656: sub.w d7,d1
move.w d1,($70,a0)
move.w #$FFFF,($72,a0)
bra.w lbC000A40
lbC001666: sub.w ($32,sp),d6
move.w d6,($70,a0)
move.w #$FFFF,($72,a0)
bra.w lbC000948
lbC001678: cmpa.l ($38,sp),a2
beq.w lbC00152C
lea ($302,a2),a3
move.l a2,d2
addi.l #$502,d2
movea.l ($40,sp),a0
lbC001690: clr.b (a3)
lea ($10,a3),a3
cmp.l a3,d2
bne.b lbC001690
move.l a0,($40,sp)
tst.b d5
bne.w lbC001C4E
st ($14,a2)
lbC0016A8: lea ($4F8,a2),a2
addq.l #1,d0
addq.l #1,d0
moveq #3,d1
cmp.l d0,d1
bge.w lbC00126A
bra.w lbC001542
lbC0016BC: sub.w d5,d2
move.w d2,($2C,a2)
move.b (11,a2),d5
movea.w d2,a3
cmpa.l d4,a3
bge.w lbC001508
lbC0016CE: move.w d3,($2C,a2)
clr.w ($10,a2)
bra.w lbC001508
lbC0016DA: move.b (11,a2),d5
bra.w lbC001508
lbC0016E2: subq.b #1,d3
move.b d3,(10,a2)
bra.w lbC0014D8
lbC0016EC: clr.b (6,a2)
bra.w lbC001314
lbC0016F4: move.b d4,(15,a2)
movea.l d1,a2
addq.l #1,d0
moveq #3,d1
cmp.l d0,d1
bge.w lbC00126A
bra.w lbC001542
lbC001708: move.l ($A5C,a1),($DFF0D0)
move.w #1,($DFF0D4)
clr.w d0
move.b ($7EA,a1),d0
move.w d0,($DFF0D8)
movem.l (sp)+,d2-d7/a2/a3/a5/a6
lea ($24,sp),sp
rts
lbC00172E: move.l ($A5C,a1),($DFF0C0)
move.w #1,($DFF0C4)
bra.w lbC0007BA
lbC001742: move.l ($A5C,a1),($DFF0B0)
move.w #1,($DFF0B4)
bra.w lbC00078A
lbC001756: move.l ($A5C,a1),($DFF0A0)
move.w #1,($DFF0A4)
bra.w lbC00075A
lbC00176A: tst.b d2
bne.w lbC001950
tst.b d5
beq.w lbC0019F6
move.b d5,d6
andi.b #15,d6
tst.b d7
bne.w lbC00194C
move.l a3,d2
addq.l #1,d2
lsl.l #4,d2
movea.l d2,a3
move.w d2,($3C,sp)
tst.b d6
bne.w lbC001B98
clr.l (a2)
move.b d7,d2
move.b d4,d3
lbC00179A: move.w #$10,($2A,a2)
move.w ($3C,sp),($2C,a2)
clr.w ($10,a2)
bra.w lbC001442
lbC0017AE: andi.l #$FF,d7
add.l a3,d7
lsl.l #4,d7
movea.l d7,a3
move.w d7,($3C,sp)
cmpi.b #3,d2
beq.w lbC001936
clr.w ($12,a2)
move.b #$40,(6,a2)
clr.w ($10,a2)
st ($15,a2)
clr.b (9,a2)
clr.w (10,a2)
clr.w (12,a2)
move.w #$40,($1E,a2)
move.w #$40,($18,a2)
move.w #$FF,($1C,a2)
clr.w ($20,a2)
move.w #$FFFF,($22,a2)
clr.b ($26,a2)
clr.w ($28,a2)
clr.w ($2C,a2)
clr.w ($2E,a2)
clr.w ($30,a2)
move.w #$10,($2A,a2)
clr.b ($68,a2)
clr.b ($6A,a2)
move.b #1,($69,a2)
moveq #0,d7
move.b d4,d7
addi.l #$1FFFFFFF,d7
lsl.l #3,d7
movea.l ($9F6,a1),a0
add.l ($98,a0),d7
move.l d7,($38,a2)
clr.w d7
move.b d4,d7
move.w d7,($1A,a2)
move.b d4,(12,a2)
lbC00184C: tst.b d6
beq.w lbC00193C
lbC001852: cmpi.b #3,d2
bne.w lbC00179A
lbC00185A: lea ($10,a3),a3
move.w a3,($10,a2)
move.w ($2A,a2),d2
add.w d2,($2C,a2)
clr.w ($2A,a2)
tst.b d5
beq.w lbC001B92
move.b d5,(7,a2)
moveq #3,d2
bra.w lbC001442
lbC00187E: st ($9F2,a1)
cmpi.b #1,d2
bhi.w lbC0015F8
clr.b ($9F0,a1)
tst.b d0
beq.w lbC0015DE
lbC001894: move.b ($9F3,a1),d1
cmpi.b #$2F,d1
bls.w lbC001604
bra.w lbC001A00
lbC0018A4: addi.b #$20,d1
move.b d1,d0
ext.w d0
ext.l d0
moveq #7,d5
and.l d5,d1
lea (lbB003E44,pc),a2
move.b (a2,d1.l),d1
ext.w d1
bra.w lbC000B1A
lbC0018C0: move.b d2,(a2)
move.b d5,d2
lsr.b #4,d2
move.b d2,(1,a2)
move.b d5,d2
andi.b #15,d2
move.b d2,(2,a2)
moveq #1,d6
st d2
clr.b d3
cmpi.b #$3D,d7
bne.w lbC001436
lbC0018E2: move.l ($5A,a2),d4
asr.l #6,d4
move.l d4,d7
andi.l #$FFFF,d7
movea.w #$10,a3
suba.l d7,a3
move.l a3,d7
asr.l #1,d7
movea.l ($56,a2),a3
add.b (a5,a3.l),d7
move.b d7,($44,a2)
move.w d4,($48,a2)
move.w #$10,($46,a2)
moveq #3,d4
move.l d4,($40,a2)
bra.w lbC001442
lbC00191A: tst.b d7
beq.w lbC001442
moveq #0,d4
move.b d7,d4
add.l a3,d4
lsl.l #4,d4
movea.l d4,a3
move.w d4,($3C,sp)
tst.b d6
bne.w lbC001852
bra.b lbC00193C
lbC001936: tst.b d6
bne.w lbC00185A
lbC00193C: clr.l (a2)
clr.b d6
cmpi.b #3,d2
bne.w lbC00179A
bra.w lbC00185A
lbC00194C: move.b d4,d3
move.b d6,d4
lbC001950: clr.b d6
bra.w lbC00142E
lbC001956: move.b d5,(6,a2)
bra.w lbC001314
lbC00195E: move.b ($9F2,a1),d3
bge.w lbC0015AE
move.b ($9F0,a1),d0
moveq #0,d2
move.b d0,d2
cmp.l d1,d2
bge.w lbC001A14
addq.l #1,d2
movea.l ($9F6,a1),a2
moveq #0,d1
move.b (1,a2),d1
cmp.l d2,d1
ble.w lbC001B88
addq.b #1,d0
move.b d0,($9F0,a1)
lbC00198C: move.b ($9F3,a1),d1
cmpi.b #$2F,d1
bls.w lbC001604
btst #0,d0
beq.b lbC001A00
andi.b #15,d1
move.b d1,($9F4,a1)
clr.l ($28,sp)
lea (lbW004000,pc),a2
move.l a2,($34,sp)
clr.w d0
moveq #$2A,d1
mulu.w d1,d0
move.l d0,($40,sp)
lea (lbW004484,pc),a2
move.l a2,($38,sp)
lea (lbW000328,pc),a6
lea (lbB003D3C,pc),a3
move.l a3,($3C,sp)
bra.w lbC000220
lbC0019D4: move.b d2,d0
subq.b #1,d0
move.b d0,($9F0,a1)
moveq #0,d3
not.b d3
and.l ($88,a6),d3
addq.l #1,d3
move.l d3,($88,a6)
cmp.l ($8C,a6),d3
blt.w lbC0015A2
bra.w lbC00159C
lbC0019F6: clr.b d6
move.b d5,d2
move.b d5,d3
bra.w lbC00142E
lbC001A00: lsr.b #4,d1
move.b d1,($9F4,a1)
bra.w lbC001608
lbC001A0A: moveq #0,d2
move.b d0,d2
cmp.l d2,d1
bgt.w lbC00198C
lbC001A14: move.b ($1C6C,a1),d0
clr.b ($9F0,a1)
tst.b d0
bne.w lbC001894
bra.w lbC0015DE
lbC001A26: move.b d2,(14,a2)
st (15,a2)
move.b (1,a3),d2
ext.w d2
movea.w d2,a3
movea.l d5,a0
move.b (a0),d3
move.b (1,a0),d2
move.b d3,d4
lsr.b #7,d4
lsl.b #4,d4
move.b d2,d6
lsr.b #4,d6
add.b d6,d4
move.b d3,d7
andi.b #$3F,d7
tst.b d4
beq.w lbC00140C
bra.w lbC0013DE
lbC001A5A: clr.l ($40,a2)
clr.l ($5A,a2)
move.b #1,($5E,a2)
movea.l d5,a0
move.b (a0),d3
move.b (1,a0),d2
bra.w lbC00140C
lbC001A74: andi.w #$FF,d5
move.w d5,($12,a2)
move.b ($14,a2),d2
beq.w lbC001536
bra.w lbC0016A8
lbC001A88: move.b d5,($9F1,a1)
move.b ($14,a2),d2
beq.w lbC001536
bra.w lbC0016A8
lbC001A98: cmpi.b #$40,d5
bls.b lbC001AA0
moveq #$40,d5
lbC001AA0: move.b d5,(6,a2)
move.b ($14,a2),d2
bra.w lbC001530
lbC001AAC: move.b d5,($9F2,a1)
move.b ($14,a2),d2
beq.w lbC001536
bra.w lbC0016A8
lbC001ABC: move.b ($14,a2),d2
tst.b d5
beq.w lbC001530
move.b d5,d3
andi.b #15,d3
beq.w lbC001C82
neg.b d5
move.b d5,(11,a2)
lbC001AD6: tst.b d2
beq.w lbC001536
bra.w lbC0016A8
lbC001AE0: move.b d5,($9F3,a1)
cmpi.b #$2F,d5
bhi.w lbC001C2A
move.b d5,($9F4,a1)
sne d2
neg.b d2
move.b d2,($9FA,a1)
move.b ($14,a2),d2
lbC001AFC: tst.b d2
beq.w lbC001536
bra.w lbC0016A8
lbC001B06: move.b d5,(13,a2)
move.b ($14,a2),d2
beq.w lbC001536
bra.w lbC0016A8
lbC001B16: clr.w ($60,a2)
move.w #1,($66,a2)
moveq #15,d2
and.l d5,d2
movea.l ($30,sp),a0
move.b (a0,d2.l),d2
andi.w #$FF,d2
move.w d2,($62,a2)
move.b d5,d2
lsr.b #4,d2
andi.l #$FF,d2
movea.l ($34,sp),a3
move.b (a3,d2.l),d2
andi.w #$FF,d2
move.w d2,($64,a2)
move.b ($14,a2),d2
bra.w lbC001530
lbC001B56: andi.w #$FF,d5
neg.w d5
move.w d5,($12,a2)
move.b ($14,a2),d2
beq.w lbC001536
bra.w lbC0016A8
lbC001B6C: tst.b ($9F3,a1)
beq.w lbC0013B4
move.b d2,(15,a2)
movea.l d1,a2
addq.l #1,d0
moveq #3,d1
cmp.l d0,d1
bge.w lbC00126A
bra.w lbC001542
lbC001B88: clr.b d0
move.b d0,($9F0,a1)
bra.w lbC00198C
lbC001B92: moveq #3,d2
bra.w lbC001442
lbC001B98: move.b d4,d3
move.b d7,d2
move.b d6,d4
clr.b d6
clr.w ($12,a2)
move.b #$40,(6,a2)
clr.w ($10,a2)
st ($15,a2)
clr.b (9,a2)
clr.w (10,a2)
clr.w (12,a2)
move.w #$40,($1E,a2)
move.w #$40,($18,a2)
move.w #$FF,($1C,a2)
clr.w ($20,a2)
move.w #$FFFF,($22,a2)
clr.b ($26,a2)
clr.w ($28,a2)
clr.w ($2C,a2)
clr.w ($2E,a2)
clr.w ($30,a2)
move.w #$10,($2A,a2)
clr.b ($68,a2)
clr.b ($6A,a2)
move.b #1,($69,a2)
moveq #0,d7
move.b d4,d7
addi.l #$1FFFFFFF,d7
lsl.l #3,d7
movea.l ($9F6,a1),a0
add.l ($98,a0),d7
move.l d7,($38,a2)
clr.w d7
move.b d4,d7
move.w d7,($1A,a2)
move.b d4,(12,a2)
bra.w lbC00184C
lbC001C2A: move.b d5,d2
btst #0,($9F0,a1)
beq.b lbC001C6A
andi.b #15,d2
move.b d2,($9F4,a1)
tst.b d5
sne d2
neg.b d2
move.b d2,($9FA,a1)
move.b ($14,a2),d2
bra.w lbC001AFC
lbC001C4E: move.b d5,d2
andi.b #15,d2
add.b d2,d2
move.b d2,($14,a2)
lsr.b #4,d5
move.b d5,($16,a2)
tst.b d2
beq.w lbC001536
bra.w lbC0016A8
lbC001C6A: lsr.b #4,d2
move.b d2,($9F4,a1)
tst.b d5
sne d2
neg.b d2
move.b d2,($9FA,a1)
move.b ($14,a2),d2
bra.w lbC001AFC
lbC001C82: lsr.b #4,d5
move.b d5,(11,a2)
bra.w lbC001AD6
lbC001C8C: move.l ($4A,a0),d4
bra.w lbC000C26
playerTick: lea (lbL000000,pc),a1
adda.l (20,a1),a1
move.l a0,-(sp)
jsr (a1)
addq.l #4,sp
rts
playerInit: move.l a3,-(sp)
move.l a2,-(sp)
lea (lbL000000,pc),a3
adda.l (16,a3),a3
move.l a2,-(sp)
move.l a1,-(sp)
move.l a0,-(sp)
jsr (a3)
lea (12,sp),sp
movea.l (sp)+,a2
movea.l (sp)+,a3
rts
songInit: move.l a3,-(sp)
move.l a2,-(sp)
lea (lbL000000,pc),a3
adda.l (12,a3),a3
move.l a2,-(sp)
move.l a1,-(sp)
move.l a0,-(sp)
jsr (a3)
lea (12,sp),sp
movea.l (sp)+,a2
movea.l (sp)+,a3
rts
lbC001CE0: movem.l d2-d7/a2/a3,-(sp)
move.l ($24,sp),d0
move.l ($28,sp),d5
movea.l ($2C,sp),a1
move.l a1,d4
subq.l #1,d4
cmpa.w #0,a1
beq.w lbC001DA8
move.b d5,d7
move.l d0,d1
neg.l d1
moveq #3,d2
and.l d2,d1
moveq #5,d6
movea.l d0,a2
cmp.l d4,d6
bcc.b lbC001D78
tst.l d1
beq.b lbC001D36
move.b d5,(a2)+
subq.l #1,d4
moveq #1,d2
cmp.l d1,d2
beq.b lbC001D36
movea.l d0,a2
addq.l #2,a2
movea.l d0,a0
move.b d5,(1,a0)
subq.l #1,d4
moveq #3,d2
cmp.l d1,d2
bne.b lbC001D36
addq.l #1,a2
move.b d5,(2,a0)
subq.l #1,d4
lbC001D36: move.l a1,d3
sub.l d1,d3
moveq #0,d6
move.b d5,d6
move.l d6,d2
swap d2
clr.w d2
movea.l d2,a0
move.l d6,d2
lsl.w #8,d2
swap d2
clr.w d2
lsl.l #8,d6
movea.l d6,a3
move.l a0,d6
or.l d6,d2
move.l a3,d6
or.l d6,d2
move.b d7,d2
movea.l d0,a0
adda.l d1,a0
moveq #-4,d1
and.l d3,d1
add.l a0,d1
lbC001D66: move.l d2,(a0)+
cmpa.l d1,a0
bne.b lbC001D66
moveq #-4,d1
and.l d3,d1
adda.l d1,a2
sub.l d1,d4
cmp.l d3,d1
beq.b lbC001DA8
lbC001D78: move.b d5,(a2)
tst.l d4
beq.b lbC001DA8
move.b d5,(1,a2)
moveq #1,d1
cmp.l d4,d1
beq.b lbC001DA8
move.b d5,(2,a2)
moveq #2,d2
cmp.l d4,d2
beq.b lbC001DA8
move.b d5,(3,a2)
moveq #3,d6
cmp.l d4,d6
beq.b lbC001DA8
move.b d5,(4,a2)
subq.l #4,d4
beq.b lbC001DA8
move.b d5,(5,a2)
lbC001DA8: movem.l (sp)+,d2-d7/a2/a3
rts
lbC001DAE: lea (-$78,sp),sp
movem.l d2-d7/a2/a3/a5/a6,-(sp)
movea.l ($A4,sp),a5
pea ($1C6E).w
clr.l -(sp)
move.l a5,-(sp)
lea (lbC001CE0,pc),a0
move.l a0,($78,sp)
jsr (a0)
move.w (lbW004002,pc),d2
lea (12,sp),sp
beq.w lbC0027F6
lbC001DD8: movea.l ($AC,sp),a1
move.w (2,a1),($32,sp)
move.w ($32,sp),d0
add.w d0,d0
add.w ($32,sp),d0
andi.l #$FFFF,d0
move.l (4,a1),d1
lea ($A0,a1),a0
lea ($49C,a1),a1
lbC001DFE: move.l d1,(a0)+
add.l d0,d1
cmpa.l a1,a0
bne.b lbC001DFE
clr.b ($9FA,a5)
move.l ($AC,sp),($9F6,a5)
move.w #$FF,($9F0,a5)
move.w #$FF06,($9F2,a5)
clr.b ($9F4,a5)
clr.b ($1C6C,a5)
movea.l ($AC,sp),a3
move.l ($9C,a3),d0
move.b #$40,(6,a5)
clr.w ($10,a5)
clr.w ($12,a5)
move.w #$FF,($14,a5)
clr.b ($16,a5)
clr.w (8,a5)
clr.w (10,a5)
clr.w (12,a5)
clr.l (a5)
clr.l ($5A,a5)
moveq #3,d1
move.l d1,($40,a5)
move.l d0,($3C,a5)
move.b #$40,($282,a5)
clr.w ($28C,a5)
clr.w ($28E,a5)
move.w #$FF,($290,a5)
clr.b ($292,a5)
clr.w ($284,a5)
clr.w ($286,a5)
clr.w ($288,a5)
clr.l ($27C,a5)
clr.l ($2D6,a5)
move.l d1,($2BC,a5)
move.l d0,($2B8,a5)
move.b #$40,($4FE,a5)
clr.w ($508,a5)
clr.w ($50A,a5)
move.w #$FF,($50C,a5)
clr.b ($50E,a5)
clr.w ($500,a5)
clr.w ($502,a5)
clr.w ($504,a5)
clr.l ($4F8,a5)
clr.l ($552,a5)
move.l d1,($538,a5)
move.l d0,($534,a5)
clr.b ($788,a5)
clr.b ($78A,a5)
clr.w ($786,a5)
move.b #$40,($77A,a5)
clr.w ($784,a5)
clr.b ($77F,a5)
clr.w ($77C,a5)
clr.b ($781,a5)
clr.b ($77E,a5)
st ($789,a5)
clr.b ($780,a5)
clr.l ($774,a5)
clr.l ($7CE,a5)
move.l d1,($7B4,a5)
move.l d0,($7B0,a5)
lea (lbW003BD4,pc),a6
lea ($BE0,a5),a2
moveq #0,d5
lea (lbC003B4A,pc),a0
move.l a0,($60,sp)
lea (lbC003AEE,pc),a1
move.l a1,($38,sp)
move.l a5,($3C,sp)
lbC001F24: moveq #0,d0
move.w (a6)+,d0
move.l d0,-(sp)
move.l #$400000,-(sp)
movea.l ($68,sp),a3
jsr (a3)
addq.l #8,sp
move.l d0,d6
move.b d0,(a2)
move.l d0,-(sp)
move.l #$FF00,-(sp)
movea.l ($40,sp),a5
jsr (a5)
addq.l #8,sp
move.l d6,d1
lsr.l #1,d1
movea.l d1,a5
move.l d6,d4
lsr.l #2,d4
neg.w d4
suba.l a3,a3
clr.w d7
suba.l a1,a1
moveq #0,d3
move.l d5,d1
add.l d5,d1
add.l d5,d1
lsl.l #7,d1
add.l d5,d1
add.l ($3C,sp),d1
move.w d0,($34,sp)
lbC001F72: moveq #0,d2
move.w a1,d2
asr.l #8,d2
movea.l d1,a0
adda.l d3,a0
moveq #$7F,d0
sub.b d2,d0
move.b d0,($A60,a0)
add.b d2,d2
movea.w d4,a0
tst.w d4
blt.w lbC0021F2
movea.w a0,a0
adda.l d1,a0
cmpa.l a3,a5
bcc.w lbC0021FE
lbC001F98: moveq #$7F,d0
sub.b d2,d0
move.b d0,($B60,a0)
moveq #-$80,d2
lbC001FA2: movea.l d1,a0
adda.l d3,a0
move.b d2,($AE0,a0)
adda.w ($34,sp),a1
addq.w #1,d7
moveq #0,d3
move.w d7,d3
movea.l d3,a3
addq.w #1,d4
cmp.l d3,d6
bhi.b lbC001F72
lbC001FBC: addq.l #1,d5
lea ($181,a2),a2
moveq #12,d1
cmp.l d5,d1
bne.w lbC001F24
movea.l ($3C,sp),a5
tst.l ($A8,sp)
beq.b lbC00204A
move.l ($A8,sp),($A5C,a5)
movea.l ($A8,sp),a0
clr.b (a0)
movea.l ($A5C,a5),a0
clr.b (1,a0)
movea.l ($AC,sp),a1
move.b (a1),d0
beq.b lbC00204A
move.l ($A5C,a5),d2
lea ($9FC,a5),a2
movea.w #$14,a0
adda.l ($9C,a1),a0
andi.l #$FF,d0
add.l d0,d0
add.l d0,d0
move.l a5,d1
add.l d0,d1
addi.l #$9FC,d1
movea.w #2,a1
lbC002018: lea (a1,d2.l),a3
move.l a3,(a2)+
moveq #0,d0
move.b (5,a0),d0
addq.l #1,d0
lsl.l #7,d0
btst #2,(a0)
beq.w lbC002230
move.l d0,d3
lsr.l #1,d3
move.l d0,d4
lsr.l #2,d4
add.l d4,d3
add.l d0,d3
lsr.l #3,d0
add.l d3,d0
adda.l d0,a1
lea ($2A,a0),a0
cmp.l a2,d1
bne.b lbC002018
lbC00204A: move.l ($DFF004),d0
move.l d0,($88,sp)
move.l ($88,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($88,sp)
move.l ($88,sp),d0
cmpi.l #$C8,d0
bne.b lbC00204A
lbC002070: move.l ($DFF004),d0
move.l d0,($84,sp)
move.l ($84,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($84,sp)
move.l ($84,sp),d0
cmpi.l #$C7,d0
bne.b lbC002070
move.w #$780,($DFF09A)
move.w #$780,($DFF09C)
move.w #$780,($DFF09C)
movea.l #$BFE001,a0
move.b (a0),d0
ori.b #2,d0
move.b d0,(a0)
move.w #15,($DFF096)
lbC0020C4: move.l ($DFF004),d0
move.l d0,($98,sp)
move.l ($98,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($98,sp)
move.l ($98,sp),d0
cmpi.l #$C8,d0
bne.b lbC0020C4
lbC0020EA: move.l ($DFF004),d0
move.l d0,($94,sp)
move.l ($94,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($94,sp)
move.l ($94,sp),d0
cmpi.l #$C7,d0
bne.b lbC0020EA
moveq #0,d0
move.l d0,($DFF0A0)
move.w #2,($DFF0A4)
move.w #0,($DFF0A8)
move.w #0,($DFF0A6)
move.l d0,($DFF0B0)
move.w #2,($DFF0B4)
move.w #0,($DFF0B8)
move.w #0,($DFF0B6)
move.l d0,($DFF0C0)
move.w #2,($DFF0C4)
move.w #0,($DFF0C8)
move.w #0,($DFF0C6)
move.l d0,($DFF0D0)
move.w #2,($DFF0D4)
move.w #0,($DFF0D8)
move.w #0,($DFF0D6)
move.w #$820F,($DFF096)
lbC002192: move.l ($DFF004),d0
move.l d0,($90,sp)
move.l ($90,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($90,sp)
move.l ($90,sp),d0
cmpi.l #$C8,d0
bne.b lbC002192
lbC0021B8: move.l ($DFF004),d0
move.l d0,($8C,sp)
move.l ($8C,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($8C,sp)
move.l ($8C,sp),d0
cmpi.l #$C7,d0
bne.b lbC0021B8
movea.l ($AC,sp),a0
tst.b (a0)
bne.w lbC002268
movem.l (sp)+,d2-d7/a2/a3/a5/a6
lea ($78,sp),sp
rts
lbC0021F2: adda.w d6,a0
movea.w a0,a0
adda.l d1,a0
cmpa.l a3,a5
bcs.w lbC001F98
lbC0021FE: addi.b #$80,d2
move.b d2,($B60,a0)
moveq #$7F,d2
cmpa.l a3,a5
bne.w lbC001FA2
moveq #-$80,d2
movea.l d1,a0
adda.l d3,a0
move.b d2,($AE0,a0)
adda.w ($34,sp),a1
addq.w #1,d7
moveq #0,d3
move.w d7,d3
movea.l d3,a3
addq.w #1,d4
cmp.l d3,d6
bhi.w lbC001F72
bra.w lbC001FBC
lbC002230: adda.l d0,a1
lea ($2A,a0),a0
cmp.l a2,d1
bne.w lbC002018
move.l ($DFF004),d0
move.l d0,($88,sp)
move.l ($88,sp),d0
lsr.l #8,d0
andi.l #$1FF,d0
move.l d0,($88,sp)
move.l ($88,sp),d0
cmpi.l #$C8,d0
bne.w lbC00204A
bra.w lbC002070
lbC002268: lea ($A60,a5),a1
move.l a1,($78,sp)
clr.l ($64,sp)
lea ($96C,a0),a0
move.l a0,($80,sp)
lea ($9C,sp),a3
move.l a3,($7C,sp)
move.l a5,($3C,sp)
lbC002288: movea.l ($80,sp),a5
move.l ($64,sp),d1
move.b (a5,d1.l),($6B,sp)
movea.l ($3C,sp),a1
movea.l ($9F6,a1),a0
clr.w d0
move.b ($6B,sp),d0
mulu.w #$2A,d0
movea.l ($9C,a0),a6
adda.l d0,a6
moveq #0,d0
move.b ($6B,sp),d0
addi.l #$27F,d0
add.l d0,d0
add.l d0,d0
move.l (a1,d0.l),($50,sp)
moveq #0,d0
move.b ($19,a6),d0
addq.l #1,d0
move.w #$80,d1
mulu.w d0,d1
move.l d1,($54,sp)
move.l d1,-(sp)
clr.l -(sp)
move.l ($58,sp),-(sp)
movea.l ($78,sp),a3
jsr (a3)
move.b ($17,a6),($58,sp)
move.b ($58,sp),($A8,sp)
move.b (14,a6),d0
add.b ($58,sp),d0
move.b d0,($A9,sp)
move.b (15,a6),d1
add.b ($58,sp),d1
move.b d1,($AA,sp)
move.b ($10,a6),d2
add.b ($58,sp),d2
move.b d2,($AB,sp)
move.b (14,a6),d0
or.b (15,a6),d0
or.b ($10,a6),d0
lea (12,sp),sp
seq d0
neg.b d0
move.b ($29,a6),d1
lsr.b #3,d1
andi.b #3,d1
move.b d1,($6A,sp)
suba.l a5,a5
clr.l ($58,sp)
andi.l #$FF,d0
move.l d0,($70,sp)
move.l ($50,sp),d3
add.l ($54,sp),d3
move.l d3,($44,sp)
moveq #0,d0
move.b d1,d0
moveq #9,d4
sub.l d0,d4
move.l d4,($74,sp)
clr.l ($40,sp)
lea (lbC003ACC,pc),a0
move.l a0,($38,sp)
movea.l a5,a3
lbC00236C: lea ($9C,sp),a0
movea.l ($40,sp),a1
move.b (a0,a1.l),d0
cmpa.w #0,a1
beq.b lbC002386
cmp.b ($4C,sp),d0
beq.w lbC0025C0
lbC002386: ext.w d0
movea.w d0,a2
moveq #11,d1
cmp.l a2,d1
bge.w lbC00294A
lea (-12,a2),a0
moveq #11,d0
cmp.l a0,d0
bge.w lbC0030AE
lea (-$18,a2),a0
cmp.l a0,d0
bge.w lbC0030BA
lea (-$24,a2),a0
cmp.l a0,d0
bge.w lbC0030F4
lea (-$30,a2),a0
cmp.l a0,d0
bge.w lbC003106
lea (-$3C,a2),a0
cmp.l a0,d0
bge.w lbC00310C
lea (-$48,a2),a0
cmp.l a0,d0
bge.w lbC00311E
lea (-$54,a2),a0
cmp.l a0,d0
bge.w lbC003124
lea (-$60,a2),a0
cmp.l a0,d0
bge.w lbC0032DA
lea (-$6C,a2),a0
cmp.l a0,d0
bge.w lbC0032EE
lea (-$78,a2),a0
moveq #10,d1
lbC0023F4: move.l a0,d0
add.l a0,d0
add.l a0,d0
lsl.l #7,d0
adda.l d0,a0
adda.l ($78,sp),a0
move.b ($14,a6),d2
move.b d2,d0
andi.b #3,d0
bne.w lbC0029EC
lbC002410: movea.l a0,a3
lbC002412: move.w d1,d0
ext.l d0
tst.w d1
ble.w lbC002A02
lbC00241C: move.l #$8000,d6
lsl.l d0,d6
lbC002424: move.b ($15,a6),($5C,sp)
move.b ($11,a6),($5E,sp)
moveq #0,d7
move.b ($180,a0),d7
move.b ($21,a6),d3
andi.b #$10,d2
move.b d2,($34,sp)
bne.w lbC002A36
lbC002446: tst.b d3
ble.w lbC00306E
move.b d3,d2
ext.w d2
muls.w d2,d2
lbC002452: moveq #10,d3
lsl.l d3,d2
move.b ($18,a6),($69,sp)
moveq #15,d4
lsl.l d4,d7
moveq #15,d5
sub.l d0,d5
move.l d5,d0
lsl.l #3,d0
movea.l d0,a5
moveq #0,d5
move.b ($13,a6),d5
moveq #11,d0
lsl.l d0,d5
moveq #0,d3
move.b ($5C,sp),d3
move.l d3,($48,sp)
moveq #0,d4
move.b ($16,a6),d4
move.l d3,d0
moveq #14,d3
lsl.l d3,d0
move.l a5,-(sp)
move.l d0,-(sp)
move.l d1,($32,sp)
movea.l ($40,sp),a0
jsr (a0)
addq.l #8,sp
move.l d0,d3
asr.l #8,d3
moveq #14,d0
lsl.l d0,d4
move.l a5,-(sp)
move.l d4,-(sp)
movea.l ($40,sp),a0
jsr (a0)
addq.l #8,sp
asr.l #8,d0
movea.l d0,a5
move.l ($2A,sp),d1
cmp.l d3,d0
bge.w lbC002A54
neg.l d5
movea.l d0,a0
movea.l d3,a5
moveq #0,d0
move.b ($5E,sp),d0
move.l d6,-(sp)
move.l d0,-(sp)
move.l d1,($32,sp)
move.l a0,($36,sp)
movea.l ($40,sp),a1
jsr (a1)
addq.l #8,sp
movea.l ($70,sp),a1
move.l ($40,sp),d4
pea (a1,d4.l)
move.l d0,-(sp)
movea.l ($40,sp),a1
jsr (a1)
addq.l #8,sp
move.l d0,d4
move.l d6,-(sp)
move.l ($4C,sp),-(sp)
movea.l ($40,sp),a1
jsr (a1)
addq.l #8,sp
add.l d4,d0
move.l ($2A,sp),d1
movea.l ($2E,sp),a0
cmp.l d7,d0
ble.b lbC002516
lbC002510: sub.l d7,d0
cmp.l d7,d0
bgt.b lbC002510
lbC002516: cmpa.w #0,a3
beq.w lbC002B3E
move.l d6,d1
tst.l ($58,sp)
beq.b lbC00252E
move.l ($74,sp),d4
asr.l d4,d1
add.l d6,d1
lbC00252E: tst.l ($54,sp)
beq.w lbC0025C0
clr.w d4
move.b ($69,sp),d4
move.w d4,($48,sp)
movea.l ($50,sp),a1
suba.l a2,a2
tst.b ($34,sp)
bne.w lbC002ABA
move.l d6,($34,sp)
lbC002552: move.l d0,d4
sub.l d3,d4
bmi.w lbC002A4C
moveq #15,d6
asr.l d6,d4
move.b (a3,d4.l),d4
ext.w d4
lbC002564: move.w ($48,sp),d6
muls.w d4,d6
asr.l #7,d6
move.b (a1),d4
ext.w d4
add.w d6,d4
cmpi.w #$7F,d4
ble.b lbC00257A
moveq #$7F,d4
lbC00257A: addq.l #1,a1
cmpi.w #$FF80,d4
bge.b lbC002584
moveq #-$80,d4
lbC002584: move.b d4,(-1,a1)
add.l d1,d0
cmp.l d7,d0
blt.b lbC0025A2
sub.l d7,d0
add.l d5,d3
cmp.l a5,d3
blt.b lbC00259A
neg.l d5
move.l a5,d3
lbC00259A: cmp.l a0,d3
bgt.b lbC0025A2
neg.l d5
move.l a0,d3
lbC0025A2: tst.l d2
beq.b lbC0025BA
adda.l d2,a2
move.l a2,d1
moveq #10,d4
asr.l d4,d1
add.l ($34,sp),d1
cmp.l d7,d1
bcs.b lbC0025BA
moveq #0,d2
moveq #0,d1
lbC0025BA: cmpa.l ($44,sp),a1
bne.b lbC002552
lbC0025C0: addq.l #1,($40,sp)
moveq #4,d0
cmp.l ($40,sp),d0
bne.w lbC00236C
movea.l a3,a5
tst.b ($6A,sp)
beq.b lbC0025E6
cmpa.w #0,a3
beq.b lbC0025E6
moveq #1,d1
cmp.l ($58,sp),d1
bne.w lbC0027DE
lbC0025E6: move.b ($1F,a6),d7
beq.w lbC002D50
move.b ($25,a6),d0
ext.w d0
ext.l d0
lsl.l #7,d0
move.l d0,($38,sp)
moveq #0,d0
move.b ($22,a6),d0
lsl.l #8,d0
moveq #0,d1
move.b ($23,a6),d1
lsl.l #8,d1
move.l d1,($44,sp)
moveq #0,d1
move.b ($24,a6),d1
lsl.l #8,d1
move.l d1,($34,sp)
tst.l ($54,sp)
beq.w lbC002D50
move.l ($44,sp),d1
asr.l #8,d1
not.b d1
move.b d1,($58,sp)
andi.w #$FF,d1
move.w d1,($5E,sp)
move.l ($34,sp),d1
asr.l #8,d1
not.b d1
move.b d1,($48,sp)
clr.w d2
move.b d1,d2
move.w d2,($5C,sp)
movea.l ($50,sp),a2
clr.w d4
clr.w d6
clr.w d5
clr.w d3
moveq #$40,d1
sub.l a2,d1
move.l d1,($4C,sp)
movea.l d0,a3
adda.l ($38,sp),a3
tst.l ($38,sp)
ble.w lbC002796
lbC00266E: cmp.l ($34,sp),d0
bgt.w lbC002D2A
cmpa.l ($34,sp),a3
blt.w lbC002936
move.l ($44,sp),d2
cmp.l ($34,sp),d2
beq.w lbC0032E0
neg.l ($38,sp)
move.w ($5C,sp),d2
move.b ($48,sp),d1
movea.l ($34,sp),a3
lbC00269A: move.b ($20,a6),d0
movea.w d0,a1
movea.l a2,a5
cmpi.b #2,d7
beq.w lbC0027D0
lbC0026AA: cmpi.b #4,d7
beq.w lbC0027D0
lbC0026B2: move.w d2,d1
movea.w d2,a0
move.w a1,d0
tst.b d0
beq.b lbC0026F2
move.l a0,d0
lsl.l #8,d0
movea.l d0,a0
move.w a1,d0
andi.w #$FF,d0
add.w d0,d0
movea.w #$B6,a1
suba.w d0,a1
move.w a1,d0
cmpi.w #$36,d0
bge.b lbC0026DA
moveq #$36,d0
lbC0026DA: movea.w d0,a1
move.l a1,-(sp)
move.l a0,-(sp)
move.l d1,($32,sp)
movea.l ($68,sp),a0
jsr (a0)
addq.l #8,sp
movea.l d0,a0
move.l ($2A,sp),d1
lbC0026F2: move.w d1,d0
add.w a0,d0
cmpi.b #1,d7
beq.w lbC002C6E
movea.l a2,a0
lea ($40,a2),a1
move.w d0,($70,sp)
lbC002708: move.w d3,d1
sub.w d5,d1
move.w ($70,sp),d0
muls.w d0,d1
move.b (a0)+,d0
ext.w d0
movea.w d0,a5
asr.l #8,d1
sub.w d3,d1
add.w d0,d1
move.w d2,d0
muls.w d1,d0
move.l d0,d1
asr.l #8,d1
add.w d1,d3
move.w d3,d1
sub.w d5,d1
move.w d2,d0
muls.w d1,d0
move.l d0,d1
asr.l #8,d1
add.w d1,d5
move.w d5,d1
sub.w d6,d1
move.w d2,d0
muls.w d1,d0
move.l d0,d1
asr.l #8,d1
add.w d1,d6
move.w d6,d1
sub.w d4,d1
move.w d2,d0
muls.w d1,d0
move.l d0,d1
asr.l #8,d1
add.w d1,d4
cmpi.b #2,d7
beq.w lbC002944
cmpi.b #3,d7
beq.w lbC00290C
cmpi.b #4,d7
beq.w lbC0028F2
clr.b d1
lbC00276C: move.b d1,(-1,a0)
cmpa.l a0,a1
bne.b lbC002708
lbC002774: adda.l ($4C,sp),a2
cmpa.l ($54,sp),a2
bcc.w lbC002D50
move.b ($1F,a6),d7
movea.l a1,a2
move.l a3,d0
movea.l d0,a3
adda.l ($38,sp),a3
tst.l ($38,sp)
bgt.w lbC00266E
lbC002796: cmp.l ($44,sp),d0
blt.w lbC00308A
cmpa.l ($44,sp),a3
bgt.w lbC002936
move.l ($44,sp),d1
movea.l d1,a3
cmp.l ($34,sp),d1
beq.w lbC0034F2
neg.l ($38,sp)
move.w ($5E,sp),d2
move.b ($58,sp),d1
move.b ($20,a6),d0
movea.w d0,a1
movea.l a2,a5
cmpi.b #2,d7
bne.w lbC0026AA
lbC0027D0: andi.w #$FF,d1
move.w #$FF,d2
sub.w d1,d2
bra.w lbC0026B2
lbC0027DE: moveq #1,d2
move.l d2,($58,sp)
clr.l ($40,sp)
lea (lbC003ACC,pc),a0
move.l a0,($38,sp)
movea.l a5,a3
bra.w lbC00236C
lbC0027F6: lea (lbW004002,pc),a0
lea (lbW004482,pc),a1
moveq #0,d3
move.w (lbW004000,pc),d3
lbC002804: move.l d3,d0
swap d0
clr.w d0
moveq #0,d3
move.w ($1E,a0),d3
move.l d3,d1
swap d1
clr.w d1
sub.l d0,d1
asr.l #4,d1
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(2,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(4,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(6,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(8,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(10,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(12,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,(14,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,($10,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,($12,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,($14,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,($16,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,($18,a0)
add.l d1,d0
move.l d0,d4
swap d4
ext.l d4
move.w d4,($1A,a0)
add.l d1,d0
swap d0
ext.l d0
move.w d0,($1C,a0)
lea ($20,a0),a0
cmpa.l a1,a0
bne.w lbC002804
lea (lbW004484,pc),a0
lea (lbW004682,pc),a1
lbC0028DC: move.w d2,(a0)+
addq.w #3,d2
cmpa.l a1,a0
beq.w lbC001DD8
move.w d2,(a0)+
addq.w #3,d2
cmpa.l a1,a0
bne.b lbC0028DC
bra.w lbC001DD8
lbC0028F2: move.w d3,d1
sub.w d4,d1
lbC0028F6: cmpi.w #$FF80,d1
bge.b lbC00291E
lbC0028FC: moveq #-$80,d1
move.b d1,(-1,a0)
cmpa.l a0,a1
bne.w lbC002708
bra.w lbC002774
lbC00290C: movea.w d4,a5
suba.w d6,a5
suba.w d5,a5
suba.w d3,a5
move.l a5,d1
asr.l #1,d1
cmpi.w #$FF80,d1
blt.b lbC0028FC
lbC00291E: cmpi.w #$7F,d1
ble.w lbC00276C
moveq #$7F,d1
move.b d1,(-1,a0)
cmpa.l a0,a1
bne.w lbC002708
bra.w lbC002774
lbC002936: move.l a3,d1
asr.l #8,d1
not.b d1
clr.w d2
move.b d1,d2
bra.w lbC00269A
lbC002944: move.w d4,d1
sub.w a5,d1
bra.b lbC0028F6
lbC00294A: cmpa.w #0,a2
bge.w lbC0037FE
lea (12,a2),a0
cmpa.w #0,a0
bge.w lbC0030A8
lea ($18,a2),a0
cmpa.w #0,a0
bge.w lbC0030B4
lea ($24,a2),a0
cmpa.w #0,a0
bge.w lbC0030FA
lea ($30,a2),a0
cmpa.w #0,a0
bge.w lbC003100
lea ($3C,a2),a0
cmpa.w #0,a0
bge.w lbC003112
lea ($48,a2),a0
cmpa.w #0,a0
bge.w lbC003118
lea ($54,a2),a0
cmpa.w #0,a0
bge.w lbC00312A
lea ($60,a2),a0
cmpa.w #0,a0
bge.w lbC0032D4
lea ($6C,a2),a0
cmpa.w #0,a0
bge.w lbC0032F4
lea ($78,a2),a0
cmpa.w #0,a0
bge.w lbC0034EC
lea ($84,a2),a0
moveq #-11,d1
move.l a0,d0
add.l a0,d0
add.l a0,d0
lsl.l #7,d0
adda.l d0,a0
adda.l ($78,sp),a0
move.b ($14,a6),d2
move.b d2,d0
andi.b #3,d0
beq.w lbC002410
lbC0029EC: cmpi.b #1,d0
bne.w lbC002AAA
lea ($100,a0),a3
move.w d1,d0
ext.l d0
tst.w d1
bgt.w lbC00241C
lbC002A02: tst.w d1
beq.w lbC003806
move.l d0,d3
neg.l d3
move.l #$8000,d6
asr.l d3,d6
move.b ($15,a6),($5C,sp)
move.b ($11,a6),($5E,sp)
moveq #0,d7
move.b ($180,a0),d7
move.b ($21,a6),d3
andi.b #$10,d2
move.b d2,($34,sp)
beq.w lbC002446
lbC002A36: move.b d3,d2
ext.w d2
tst.b d3
ble.w lbC003078
move.b #1,($34,sp)
muls.w d2,d2
bra.w lbC002452
lbC002A4C: move.b (a3),d4
ext.w d4
bra.w lbC002564
lbC002A54: movea.l d3,a0
moveq #0,d0
move.b ($5E,sp),d0
move.l d6,-(sp)
move.l d0,-(sp)
move.l d1,($32,sp)
move.l a0,($36,sp)
movea.l ($40,sp),a1
jsr (a1)
addq.l #8,sp
movea.l ($70,sp),a1
move.l ($40,sp),d4
pea (a1,d4.l)
move.l d0,-(sp)
movea.l ($40,sp),a1
jsr (a1)
addq.l #8,sp
move.l d0,d4
move.l d6,-(sp)
move.l ($4C,sp),-(sp)
movea.l ($40,sp),a1
jsr (a1)
addq.l #8,sp
add.l d4,d0
move.l ($2A,sp),d1
movea.l ($2E,sp),a0
cmp.l d7,d0
bgt.w lbC002510
bra.w lbC002516
lbC002AAA: cmpi.b #2,d0
bne.w lbC002412
lea ($80,a0),a3
bra.w lbC002412
lbC002ABA: move.l d6,($34,sp)
move.l d0,d4
sub.l d3,d4
bmi.b lbC002B38
lbC002AC4: moveq #15,d6
asr.l d6,d4
move.b (a3,d4.l),d4
ext.w d4
lbC002ACE: move.w ($48,sp),d6
muls.w d4,d6
move.b (a1),d4
ext.w d4
asr.l #7,d6
add.w d6,d4
cmpi.w #$7F,d4
ble.b lbC002AE4
moveq #$7F,d4
lbC002AE4: addq.l #1,a1
cmpi.w #$FF80,d4
bge.b lbC002AEE
moveq #-$80,d4
lbC002AEE: move.b d4,(-1,a1)
add.l d1,d0
cmp.l d7,d0
blt.b lbC002B0C
sub.l d7,d0
add.l d5,d3
cmpa.l d3,a5
bgt.b lbC002B04
neg.l d5
move.l a5,d3
lbC002B04: cmp.l a0,d3
bgt.b lbC002B0C
neg.l d5
move.l a0,d3
lbC002B0C: tst.l d2
beq.b lbC002B2A
adda.l d2,a2
move.l a2,d1
moveq #10,d4
asr.l d4,d1
add.l ($34,sp),d1
move.l d2,d4
asr.l #7,d4
sub.l d4,d2
cmp.l d7,d1
bcs.b lbC002B2A
moveq #0,d2
moveq #0,d1
lbC002B2A: cmpa.l ($44,sp),a1
beq.w lbC0025C0
move.l d0,d4
sub.l d3,d4
bpl.b lbC002AC4
lbC002B38: move.b (a3),d4
ext.w d4
bra.b lbC002ACE
lbC002B3E: move.l #$8000,d5
tst.w d1
blt.w lbC002C12
lbC002B4A: tst.l ($54,sp)
beq.w lbC0025C0
clr.w d0
move.b ($5C,sp),d0
clr.w d1
move.b ($5E,sp),d1
add.w d1,d0
addq.w #1,d0
movea.l d5,a1
movea.l ($50,sp),a5
clr.b d1
moveq #0,d4
movea.l #$8000,a0
clr.w d3
move.b ($69,sp),d3
cmpa.w #$7FFF,a0
bgt.b lbC002BBA
lbC002B7E: move.b d1,(a5)+
adda.l a1,a0
tst.l d2
beq.b lbC002BAC
add.l d2,d4
move.l d4,d6
moveq #10,d7
asr.l d7,d6
movea.l d6,a1
adda.l d5,a1
tst.b ($34,sp)
beq.b lbC002B9E
move.l d2,d6
asr.l #7,d6
sub.l d6,d2
lbC002B9E: cmpa.w #$1FF,a1
bgt.b lbC002BAC
moveq #0,d2
suba.l a0,a0
movea.w #$200,a1
lbC002BAC: cmpa.l ($44,sp),a5
beq.w lbC0025C0
cmpa.w #$7FFF,a0
ble.b lbC002B7E
lbC002BBA: move.w d0,d1
moveq #13,d6
lsl.w d6,d1
eor.w d1,d0
move.w d0,d1
moveq #9,d7
lsr.w d7,d1
eor.w d1,d0
move.w d0,d1
lsl.w #7,d1
eor.w d1,d0
cmpa.l #$8000,a0
beq.b lbC002BF0
move.l a0,d6
addi.l #$FFFF8000,d6
move.l a0,d1
addi.l #$FFFF7FFF,d1
andi.w #$8000,d1
movea.l d6,a0
suba.l d1,a0
lbC002BF0: move.b d0,d1
ext.w d1
move.w d3,d6
muls.w d1,d6
move.l d6,d1
asr.l #7,d1
cmpi.w #$7F,d1
ble.b lbC002C04
moveq #$7F,d1
lbC002C04: cmpi.w #$FF80,d1
bge.b lbC002C0C
moveq #-$80,d1
lbC002C0C: add.b (a5),d1
bra.w lbC002B7E
lbC002C12: move.l a2,d3
neg.l d3
pea (12).w
move.l d3,-(sp)
movea.l ($68,sp),a0
jsr (a0)
addq.l #8,sp
cmpi.w #$FFFF,d0
beq.w lbC0037AA
lbC002C2C: asr.l #1,d5
dbra d0,lbC002C2C
pea (12).w
move.l d5,-(sp)
movea.l ($68,sp),a1
jsr (a1)
addq.l #8,sp
moveq #0,d4
move.w d0,d4
pea (12).w
move.l d3,-(sp)
lea (lbC003B74,pc),a0
jsr (a0)
addq.l #8,sp
andi.l #$FFFF,d0
move.l d4,-(sp)
moveq #12,d1
sub.l d0,d1
move.l d1,-(sp)
movea.l ($40,sp),a0
jsr (a0)
addq.l #8,sp
add.l d0,d5
bra.w lbC002B4A
lbC002C6E: lea ($40,a2),a1
move.w d3,d7
sub.w d5,d7
muls.w d0,d7
move.b (a5)+,d1
ext.w d1
asr.l #8,d7
add.w d7,d1
sub.w d3,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d3
move.w d3,d1
sub.w d5,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d5
move.w d5,d1
sub.w d6,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d6
move.w d6,d1
sub.w d4,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d4
move.w d4,d1
cmpi.w #$FF80,d4
bge.b lbC002D16
lbC002CBE: moveq #-$80,d1
lbC002CC0: move.b d1,(-1,a5)
cmpa.l a5,a1
beq.w lbC002774
lbC002CCA: move.w d3,d7
sub.w d5,d7
muls.w d0,d7
move.b (a5)+,d1
ext.w d1
asr.l #8,d7
add.w d7,d1
sub.w d3,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d3
move.w d3,d1
sub.w d5,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d5
move.w d5,d1
sub.w d6,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d6
move.w d6,d1
sub.w d4,d1
move.w d2,d7
muls.w d1,d7
move.l d7,d1
asr.l #8,d1
add.w d1,d4
move.w d4,d1
cmpi.w #$FF80,d4
blt.b lbC002CBE
lbC002D16: cmpi.w #$7F,d4
ble.b lbC002CC0
moveq #$7F,d1
move.b d1,(-1,a5)
cmpa.l a5,a1
bne.b lbC002CCA
bra.w lbC002774
lbC002D2A: cmpi.l #$FF00,d0
bgt.w lbC002936
cmpa.l #$FEFF,a3
ble.w lbC002936
neg.l ($38,sp)
clr.w d2
clr.b d1
movea.l #$FF00,a3
bra.w lbC00269A
lbC002D50: move.b ($29,a6),d1
andi.b #$20,d1
move.b d1,($44,sp)
bne.b lbC002D66
tst.b ($26,a6)
bne.w lbC00329A
lbC002D66: move.b ($1B,a6),d0
bne.w lbC0030C0
cmpi.b #$FF,($1E,a6)
beq.w lbC002F28
move.b ($14,a6),d2
andi.b #$20,d2
move.b ($14,a6),d0
andi.b #8,d0
move.b d0,($38,sp)
move.w ($56,sp),d4
moveq #2,d0
swap d0
move.l #$1000000,d3
lbC002D9A: tst.b d2
beq.b lbC002DA0
lsl.l #4,d0
lbC002DA0: tst.w d4
beq.w lbC0037DA
subq.w #1,d4
add.l d0,d3
cmpi.l #$FFFFFF,d3
bgt.w lbC0037E6
movea.l ($50,sp),a0
tst.b ($38,sp)
bne.w lbC002EFC
movea.l a0,a1
move.b (a1)+,d5
ext.w d5
move.l d3,d1
swap d1
ext.l d1
muls.w d5,d1
asr.l #8,d1
move.b d1,(a0)
tst.w d4
beq.b lbC002DFC
lbC002DD6: subq.w #1,d4
add.l d0,d3
cmpi.l #$FFFFFF,d3
bgt.w lbC0034A0
movea.l a1,a0
movea.l a0,a1
move.b (a1)+,d5
ext.w d5
move.l d3,d1
swap d1
ext.l d1
muls.w d5,d1
asr.l #8,d1
move.b d1,(a0)
tst.w d4
bne.b lbC002DD6
lbC002DFC: move.l d3,d0
asr.l #8,d0
lbC002E00: move.b ($1D,a6),d3
beq.w lbC002F28
clr.w d1
lbC002E0A: clr.w d4
move.b d3,d4
move.w d4,d7
mulu.w d4,d7
lsr.l #2,d7
add.w d4,d7
tst.b d2
bne.w lbC00345C
andi.l #$FF,d3
moveq #12,d2
lsl.l d2,d3
move.l d3,d2
clr.w d2
swap d2
movea.w d2,a3
lea (lbW003C1C,pc),a0
move.l d2,d4
add.l d2,d4
move.w (a0,d4.l),d4
andi.l #$FFFF,d4
movea.l d4,a5
addq.l #1,d2
add.l d2,d2
move.w (a0,d2.l),d2
andi.l #$FFFF,d2
movea.l d2,a2
lbC002E52: tst.w d1
beq.w lbC002F28
andi.l #$FFFF,d7
clr.w d4
lea (lbW003C1C,pc),a0
move.l a0,($4C,sp)
movea.l d7,a0
move.l a2,d7
movea.l a0,a2
lbC002E6E: subq.w #1,d1
add.l a2,d3
move.l d3,d2
clr.w d2
swap d2
cmpi.l #$8E,d2
bhi.b lbC002E98
cmp.w a3,d2
bhi.w lbC003406
movea.w a5,a0
move.w d7,d4
move.w d4,d2
sub.w a0,d2
move.w d3,d4
lsr.w #8,d4
muls.w d2,d4
asr.l #8,d4
add.w a0,d4
lbC002E98: moveq #0,d2
move.w d4,d2
sub.l d2,d0
move.b ($1E,a6),d5
moveq #0,d2
move.b d5,d2
lsl.l #8,d2
movea.l a1,a0
move.b (a0)+,d6
ext.w d6
cmp.l d0,d2
bgt.w lbC00346C
move.l d0,d2
asr.l #8,d2
muls.w d6,d2
tst.b ($38,sp)
beq.w lbC003400
asr.l #6,d2
cmpi.w #$7F,d2
ble.w lbC0033F2
moveq #$7F,d2
lbC002ECE: move.b d2,(-1,a0)
tst.w d1
beq.b lbC002F28
movea.l a0,a1
bra.b lbC002E6E
lbC002EDA: cmpi.w #$FF80,d1
bge.b lbC002EE2
moveq #-$80,d1
lbC002EE2: move.b d1,(-1,a1)
tst.w d4
beq.w lbC002DFC
subq.w #1,d4
add.l d0,d3
cmpi.l #$FFFFFF,d3
bgt.w lbC0032FA
movea.l a1,a0
lbC002EFC: movea.l a0,a1
move.b (a1)+,d5
ext.w d5
move.l d3,d1
swap d1
ext.l d1
muls.w d5,d1
asr.l #6,d1
cmpi.w #$7F,d1
ble.b lbC002EDA
moveq #$7F,d1
bra.b lbC002EE2
lbC002F16: cmpi.w #$FF80,d0
bge.b lbC002F1E
moveq #-$80,d0
lbC002F1E: move.b d0,(-1,a0)
cmpa.l a0,a1
bne.w lbC0033D0
lbC002F28: tst.b ($44,sp)
beq.b lbC002F36
tst.b ($26,a6)
bne.w lbC00327E
lbC002F36: move.b ($1A,a6),d0
beq.w lbC002FF0
subq.b #1,d0
cmp.b ($6B,sp),d0
beq.w lbC002FF0
movea.l ($3C,sp),a1
movea.l ($9F6,a1),a0
clr.w d1
move.b d0,d1
mulu.w #$2A,d1
movea.l ($9C,a0),a0
adda.l d1,a0
andi.l #$FF,d0
addi.l #$27F,d0
add.l d0,d0
add.l d0,d0
movea.l (a1,d0.l),a2
moveq #0,d3
move.b ($19,a0),d3
addq.l #1,d3
lsl.l #7,d3
moveq #0,d4
move.b ($19,a6),d4
addq.l #1,d4
lsl.l #7,d4
move.l d3,d2
cmp.l d3,d4
bcs.w lbC0032B6
btst #2,($14,a0)
beq.w lbC0032C2
lbC002F98: btst #2,($14,a6)
beq.w lbC003648
movea.l ($40,sp),a3
move.l ($50,sp),d7
moveq #0,d6
lbC002FAC: tst.l d2
beq.b lbC002FE0
movea.l d7,a0
movea.l a2,a1
clr.w d1
lbC002FB6: move.b (a0),d0
ext.w d0
move.b (a1)+,d5
ext.w d5
add.w d5,d0
cmpi.w #$7F,d0
ble.b lbC002FC8
moveq #$7F,d0
lbC002FC8: addq.l #1,a0
cmpi.w #$FF80,d0
bge.b lbC002FD2
moveq #-$80,d0
lbC002FD2: move.b d0,(-1,a0)
addq.w #1,d1
moveq #0,d0
move.w d1,d0
cmp.l d0,d2
bhi.b lbC002FB6
lbC002FE0: lsr.l #1,d2
adda.l d3,a2
add.l d4,d7
lsr.l #1,d3
lsr.l #1,d4
addq.l #1,d6
cmpa.l d6,a3
bne.b lbC002FAC
lbC002FF0: btst #2,($14,a6)
beq.b lbC003044
moveq #0,d0
move.b ($19,a6),d0
addq.l #1,d0
move.w #$80,d1
mulu.w d0,d1
movea.l ($50,sp),a0
adda.l d1,a0
lsr.l #1,d1
moveq #3,d2
move.l ($50,sp),d3
lbC003014: tst.w d1
beq.b lbC003036
move.w d1,d0
subq.w #1,d0
andi.l #$FFFF,d0
lea (1,a0,d0.l),a2
movea.l d3,a1
lbC003028: move.b (a1),(a0)+
addq.l #2,a1
cmpa.l a0,a2
bne.b lbC003028
addq.l #1,d0
add.l d0,d0
add.l d0,d3
lbC003036: moveq #0,d0
move.w d1,d0
movea.l d3,a0
adda.l d0,a0
lsr.w #1,d1
subq.w #1,d2
bne.b lbC003014
lbC003044: movea.l ($AC,sp),a1
moveq #0,d0
move.b (a1),d0
move.l d0,d1
subq.l #1,d1
cmp.l ($64,sp),d1
beq.w lbC003130
addq.l #1,($64,sp)
cmp.l ($64,sp),d0
bgt.w lbC002288
lbC003064: movem.l (sp)+,d2-d7/a2/a3/a5/a6
lea ($78,sp),sp
rts
lbC00306E: ext.w d3
move.w d3,d2
ext.l d2
bra.w lbC002452
lbC003078: moveq #2,d3
lsl.l d0,d3
muls.w d2,d3
move.l d3,d2
move.b #1,($34,sp)
bra.w lbC002452
lbC00308A: tst.l d0
blt.w lbC002936
cmpa.w #0,a3
bgt.w lbC002936
neg.l ($38,sp)
move.w #$FF,d2
st d1
suba.l a3,a3
bra.w lbC00269A
lbC0030A8: moveq #-1,d1
bra.w lbC0023F4
lbC0030AE: moveq #1,d1
bra.w lbC0023F4
lbC0030B4: moveq #-2,d1
bra.w lbC0023F4
lbC0030BA: moveq #2,d1
bra.w lbC0023F4
lbC0030C0: move.b ($14,a6),d2
andi.b #$20,d2
move.b ($14,a6),d1
andi.b #8,d1
move.b d1,($38,sp)
move.w ($56,sp),d4
andi.l #$FF,d0
move.l d0,-(sp)
move.l #$20000,-(sp)
movea.l ($68,sp),a0
jsr (a0)
addq.l #8,sp
moveq #0,d3
bra.w lbC002D9A
lbC0030F4: moveq #3,d1
bra.w lbC0023F4
lbC0030FA: moveq #-3,d1
bra.w lbC0023F4
lbC003100: moveq #-4,d1
bra.w lbC0023F4
lbC003106: moveq #4,d1
bra.w lbC0023F4
lbC00310C: moveq #5,d1
bra.w lbC0023F4
lbC003112: moveq #-5,d1
bra.w lbC0023F4
lbC003118: moveq #-6,d1
bra.w lbC0023F4
lbC00311E: moveq #6,d1
bra.w lbC0023F4
lbC003124: moveq #7,d1
bra.w lbC0023F4
lbC00312A: moveq #-7,d1
bra.w lbC0023F4
lbC003130: movea.l ($3C,sp),a3
move.b #1,($9FA,a3)
move.b ($9F3,a3),d0
cmpi.b #$2F,d0
bhi.w lbC0034FE
move.b d0,($9F4,a3)
move.l ($A5C,a3),d0
move.l d0,($6C,a3)
move.w #2,($70,a3)
clr.b ($76,a3)
move.w #$7B,($74,a3)
move.b #$40,(6,a3)
clr.b (9,a3)
clr.w (10,a3)
clr.w (12,a3)
clr.l (a3)
clr.l ($5A,a3)
moveq #3,d1
move.l d1,($40,a3)
clr.b (15,a3)
clr.w ($10,a3)
clr.w ($12,a3)
move.w #$FF,($14,a3)
move.l d0,($2E8,a3)
move.w #2,($2EC,a3)
clr.b ($2F2,a3)
move.w #$7B,($2F0,a3)
move.b #$40,($282,a3)
clr.b ($285,a3)
clr.w ($286,a3)
clr.w ($288,a3)
clr.l ($27C,a3)
clr.l ($2D6,a3)
move.l d1,($2BC,a3)
clr.b ($28B,a3)
clr.w ($28C,a3)
clr.w ($28E,a3)
move.w #$FF,($290,a3)
move.l d0,($564,a3)
move.w #2,($568,a3)
clr.b ($56E,a3)
move.w #$7B,($56C,a3)
move.b #$40,($4FE,a3)
clr.b ($501,a3)
clr.w ($502,a3)
clr.w ($504,a3)
clr.l ($4F8,a3)
clr.l ($552,a3)
move.l d1,($538,a3)
clr.b ($507,a3)
clr.w ($508,a3)
clr.w ($50A,a3)
move.w #$FF,($50C,a3)
move.l d0,($7E0,a3)
move.w #2,($7E4,a3)
clr.b ($7EA,a3)
move.w #$7B,($7E8,a3)
clr.w ($786,a3)
move.b #$40,($77A,a3)
clr.w ($784,a3)
clr.b ($77F,a3)
clr.b ($77D,a3)
clr.b ($781,a3)
clr.b ($77E,a3)
clr.b ($780,a3)
clr.l ($774,a3)
clr.l ($7CE,a3)
move.l d1,($7B4,a3)
move.w #$FF,($788,a3)
clr.b ($783,a3)
movea.l ($AC,sp),a0
moveq #0,d0
move.b (a0),d0
lbC00326E: addq.l #1,($64,sp)
cmp.l ($64,sp),d0
ble.w lbC003064
bra.w lbC002288
lbC00327E: move.w ($56,sp),-(sp)
clr.w -(sp)
move.l ($54,sp),-(sp)
pea ($26,a6)
lea (lbC000040,pc),a0
jsr (a0)
lea (12,sp),sp
bra.w lbC002F36
lbC00329A: move.w ($56,sp),-(sp)
clr.w -(sp)
move.l ($54,sp),-(sp)
pea ($26,a6)
lea (lbC000040,pc),a0
jsr (a0)
lea (12,sp),sp
bra.w lbC002D66
lbC0032B6: move.l d4,d2
btst #2,($14,a0)
bne.w lbC002F98
lbC0032C2: movea.w #1,a3
move.l a3,($40,sp)
move.l ($50,sp),d7
moveq #0,d6
bra.w lbC002FAC
lbC0032D4: moveq #-8,d1
bra.w lbC0023F4
lbC0032DA: moveq #8,d1
bra.w lbC0023F4
lbC0032E0: movea.l d2,a3
move.w ($5C,sp),d2
move.b ($48,sp),d1
bra.w lbC00269A
lbC0032EE: moveq #9,d1
bra.w lbC0023F4
lbC0032F4: moveq #-9,d1
bra.w lbC0023F4
lbC0032FA: addq.l #2,a0
move.b (a1),d1
ext.w d1
lbC003300: move.w #$FF,d0
muls.w d1,d0
asr.l #6,d0
cmpi.w #$7F,d0
ble.w lbC003492
moveq #$7F,d0
lbC003312: move.b d0,(a1)
moveq #0,d0
move.b ($1C,a6),d0
lsl.l #4,d0
tst.w d4
beq.w lbC0034E2
lea (2,a1,d0.l),a1
move.w #$FF,d3
lbC00332A: move.w d4,d1
subq.w #1,d1
movea.l a0,a2
move.b (a2)+,d0
ext.w d0
move.w d3,d6
muls.w d0,d6
move.l d6,d0
asr.l #6,d0
cmpi.w #$7F,d0
ble.b lbC00335C
moveq #$7F,d0
lbC003344: move.b d0,(-1,a2)
cmpa.l a1,a2
beq.b lbC00336C
lbC00334C: move.w d1,d4
movea.l a2,a0
bne.b lbC00332A
movea.l a2,a1
moveq #0,d0
not.w d0
bra.w lbC002E00
lbC00335C: cmpi.w #$FF80,d0
bge.b lbC003344
moveq #-$80,d0
move.b d0,(-1,a2)
cmpa.l a1,a2
bne.b lbC00334C
lbC00336C: move.b ($1D,a6),d3
moveq #0,d0
not.w d0
tst.b d3
bne.w lbC002E0A
tst.w d1
beq.w lbC002F28
move.w d4,d1
subq.w #2,d1
move.b ($1E,a6),d0
moveq #0,d2
move.b d0,d2
lsl.l #8,d2
addq.l #2,a0
andi.w #$FF,d0
move.b (a1),d3
ext.w d3
muls.w d3,d0
tst.b ($38,sp)
beq.w lbC003638
asr.l #6,d0
cmpi.w #$7F,d0
bgt.w lbC003792
cmpi.w #$FF80,d0
blt.w lbC00378A
move.b d0,(a1)
lbC0033B6: tst.w d1
beq.w lbC002F28
asr.l #8,d2
subq.w #1,d1
andi.l #$FFFF,d1
lea (1,a0,d1.l),a1
tst.b ($38,sp)
beq.b lbC00342E
lbC0033D0: move.b (a0)+,d0
ext.w d0
move.w d2,d3
muls.w d0,d3
move.l d3,d0
asr.l #6,d0
cmpi.w #$7F,d0
ble.w lbC002F16
moveq #$7F,d0
move.b d0,(-1,a0)
cmpa.l a0,a1
bne.b lbC0033D0
bra.w lbC002F28
lbC0033F2: cmpi.w #$FF80,d2
bge.w lbC002ECE
moveq #-$80,d2
bra.w lbC002ECE
lbC003400: asr.l #8,d2
bra.w lbC002ECE
lbC003406: movea.l d2,a0
adda.l d2,a0
movea.l ($4C,sp),a3
move.w (a0,a3.l),d4
movea.w d7,a0
movea.l d7,a5
moveq #0,d7
move.w d4,d7
movea.w d2,a3
move.w d4,d2
sub.w a0,d2
move.w d3,d4
lsr.w #8,d4
muls.w d2,d4
asr.l #8,d4
add.w a0,d4
bra.w lbC002E98
lbC00342E: move.b (a0)+,d0
ext.w d0
move.w d2,d1
muls.w d0,d1
move.l d1,d0
asr.l #8,d0
move.b d0,(-1,a0)
cmpa.l a1,a0
beq.w lbC002F28
move.b (a0)+,d0
ext.w d0
move.w d2,d1
muls.w d0,d1
move.l d1,d0
asr.l #8,d0
move.b d0,(-1,a0)
cmpa.l a1,a0
bne.b lbC00342E
bra.w lbC002F28
lbC00345C: movea.w #$200,a2
movea.w #$400,a5
suba.l a3,a3
moveq #0,d3
bra.w lbC002E52
lbC00346C: andi.w #$FF,d5
muls.w d6,d5
tst.b ($38,sp)
beq.w lbC003640
asr.l #6,d5
cmpi.w #$7F,d5
bgt.w lbC0037A2
cmpi.w #$FF80,d5
blt.w lbC00379A
move.b d5,(a1)
bra.w lbC0033B6
lbC003492: cmpi.w #$FF80,d0
bge.w lbC003312
moveq #-$80,d0
bra.w lbC003312
lbC0034A0: addq.l #2,a0
move.b (a1),d1
ext.w d1
lbC0034A6: move.w #$FF,d3
move.w d3,d0
muls.w d1,d0
asr.l #8,d0
move.b d0,(a1)
moveq #0,d0
move.b ($1C,a6),d0
lsl.l #4,d0
tst.w d4
beq.b lbC0034E2
lea (2,a1,d0.l),a1
lbC0034C2: move.w d4,d1
subq.w #1,d1
movea.l a0,a2
move.b (a2)+,d0
ext.w d0
move.w d3,d5
muls.w d0,d5
move.l d5,d0
asr.l #8,d0
move.b d0,(a0)
cmpa.l a1,a2
beq.w lbC00336C
move.w d1,d4
movea.l a2,a0
bne.b lbC0034C2
lbC0034E2: movea.l a0,a1
moveq #0,d0
not.w d0
bra.w lbC002E00
lbC0034EC: moveq #-10,d1
bra.w lbC0023F4
lbC0034F2: move.w ($5E,sp),d2
move.b ($58,sp),d1
bra.w lbC00269A
lbC0034FE: btst #0,($9F0,a3)
beq.w lbC00365C
andi.b #15,d0
move.b d0,($9F4,a3)
move.l ($A5C,a3),d0
move.l d0,($6C,a3)
move.w #2,($70,a3)
clr.b ($76,a3)
move.w #$7B,($74,a3)
move.b #$40,(6,a3)
clr.b (9,a3)
clr.w (10,a3)
clr.w (12,a3)
clr.l (a3)
clr.l ($5A,a3)
moveq #3,d1
move.l d1,($40,a3)
clr.b (15,a3)
clr.w ($10,a3)
clr.w ($12,a3)
move.w #$FF,($14,a3)
move.l d0,($2E8,a3)
move.w #2,($2EC,a3)
clr.b ($2F2,a3)
move.w #$7B,($2F0,a3)
move.b #$40,($282,a3)
clr.b ($285,a3)
clr.w ($286,a3)
clr.w ($288,a3)
clr.l ($27C,a3)
clr.l ($2D6,a3)
move.l d1,($2BC,a3)
clr.b ($28B,a3)
clr.w ($28C,a3)
clr.w ($28E,a3)
move.w #$FF,($290,a3)
move.l d0,($564,a3)
move.w #2,($568,a3)
clr.b ($56E,a3)
move.w #$7B,($56C,a3)
move.b #$40,($4FE,a3)
clr.b ($501,a3)
clr.w ($502,a3)
clr.w ($504,a3)
clr.l ($4F8,a3)
clr.l ($552,a3)
move.l d1,($538,a3)
clr.b ($507,a3)
clr.w ($508,a3)
clr.w ($50A,a3)
move.w #$FF,($50C,a3)
move.l d0,($7E0,a3)
move.w #2,($7E4,a3)
clr.b ($7EA,a3)
move.w #$7B,($7E8,a3)
clr.w ($786,a3)
move.b #$40,($77A,a3)
clr.w ($784,a3)
clr.b ($77F,a3)
clr.b ($77D,a3)
clr.b ($781,a3)
clr.b ($77E,a3)
clr.b ($780,a3)
clr.l ($774,a3)
clr.l ($7CE,a3)
move.l d1,($7B4,a3)
move.w #$FF,($788,a3)
clr.b ($783,a3)
movea.l ($AC,sp),a0
moveq #0,d0
move.b (a0),d0
bra.w lbC00326E
lbC003638: asr.l #8,d0
move.b d0,(a1)
bra.w lbC0033B6
lbC003640: asr.l #8,d5
move.b d5,(a1)
bra.w lbC0033B6
lbC003648: movea.w #1,a0
move.l a0,($40,sp)
movea.l a0,a3
move.l ($50,sp),d7
moveq #0,d6
bra.w lbC002FAC
lbC00365C: lsr.b #4,d0
move.b d0,($9F4,a3)
move.l ($A5C,a3),d0
move.l d0,($6C,a3)
move.w #2,($70,a3)
clr.b ($76,a3)
move.w #$7B,($74,a3)
move.b #$40,(6,a3)
clr.b (9,a3)
clr.w (10,a3)
clr.w (12,a3)
clr.l (a3)
clr.l ($5A,a3)
moveq #3,d1
move.l d1,($40,a3)
clr.b (15,a3)
clr.w ($10,a3)
clr.w ($12,a3)
move.w #$FF,($14,a3)
move.l d0,($2E8,a3)
move.w #2,($2EC,a3)
clr.b ($2F2,a3)
move.w #$7B,($2F0,a3)
move.b #$40,($282,a3)
clr.b ($285,a3)
clr.w ($286,a3)
clr.w ($288,a3)
clr.l ($27C,a3)
clr.l ($2D6,a3)
move.l d1,($2BC,a3)
clr.b ($28B,a3)
clr.w ($28C,a3)
clr.w ($28E,a3)
move.w #$FF,($290,a3)
move.l d0,($564,a3)
move.w #2,($568,a3)
clr.b ($56E,a3)
move.w #$7B,($56C,a3)
move.b #$40,($4FE,a3)
clr.b ($501,a3)
clr.w ($502,a3)
clr.w ($504,a3)
clr.l ($4F8,a3)
clr.l ($552,a3)
move.l d1,($538,a3)
clr.b ($507,a3)
clr.w ($508,a3)
clr.w ($50A,a3)
move.w #$FF,($50C,a3)
move.l d0,($7E0,a3)
move.w #2,($7E4,a3)
clr.b ($7EA,a3)
move.w #$7B,($7E8,a3)
clr.w ($786,a3)
move.b #$40,($77A,a3)
clr.w ($784,a3)
clr.b ($77F,a3)
clr.b ($77D,a3)
clr.b ($781,a3)
clr.b ($77E,a3)
clr.b ($780,a3)
clr.l ($774,a3)
clr.l ($7CE,a3)
move.l d1,($7B4,a3)
move.w #$FF,($788,a3)
clr.b ($783,a3)
movea.l ($AC,sp),a0
moveq #0,d0
move.b (a0),d0
bra.w lbC00326E
lbC00378A: moveq #-$80,d0
move.b d0,(a1)
bra.w lbC0033B6
lbC003792: moveq #$7F,d0
move.b d0,(a1)
bra.w lbC0033B6
lbC00379A: moveq #-$80,d5
move.b d5,(a1)
bra.w lbC0033B6
lbC0037A2: moveq #$7F,d5
move.b d5,(a1)
bra.w lbC0033B6
lbC0037AA: move.l #$AAA,d4
pea (12).w
move.l d3,-(sp)
lea (lbC003B74,pc),a0
jsr (a0)
addq.l #8,sp
andi.l #$FFFF,d0
move.l d4,-(sp)
moveq #12,d1
sub.l d0,d1
move.l d1,-(sp)
movea.l ($40,sp),a0
jsr (a0)
addq.l #8,sp
add.l d0,d5
bra.w lbC002B4A
lbC0037DA: move.l d3,d0
asr.l #8,d0
movea.l ($50,sp),a1
bra.w lbC002E00
lbC0037E6: movea.l ($50,sp),a0
move.b (a0)+,d1
ext.w d1
movea.l ($50,sp),a1
tst.b ($38,sp)
beq.w lbC0034A6
bra.w lbC003300
lbC0037FE: movea.l a2,a0
clr.w d1
bra.w lbC0023F4
lbC003806: move.l #$8000,d6
bra.w lbC002424
lbC003810: movem.l d2-d4/a2,-(sp)
move.l ($14,sp),d0
movea.l ($18,sp),a1
move.l ($1C,sp),d1
move.l d1,d3
subq.l #1,d3
tst.l d1
beq.b lbC00388A
movea.l d0,a0
addq.l #4,a0
cmpa.l a1,a0
sls d2
neg.b d2
lea (4,a1),a0
cmpa.l d0,a0
sls d4
neg.b d4
or.b d4,d2
moveq #8,d4
cmp.l d3,d4
scs d4
neg.b d4
and.b d4,d2
beq.b lbC003890
move.l a1,d2
or.l d0,d2
moveq #3,d4
and.l d4,d2
bne.b lbC003890
movea.l a1,a0
movea.l d0,a2
moveq #-4,d2
and.l d1,d2
add.l a1,d2
lbC00385E: move.l (a0)+,(a2)+
cmp.l a0,d2
bne.b lbC00385E
moveq #-4,d2
and.l d1,d2
movea.l d0,a0
adda.l d2,a0
adda.l d2,a1
sub.l d2,d3
cmp.l d1,d2
beq.b lbC00388A
move.b (a1),(a0)
tst.l d3
beq.b lbC00388A
move.b (1,a1),(1,a0)
subq.l #1,d3
beq.b lbC00388A
move.b (2,a1),(2,a0)
lbC00388A: movem.l (sp)+,d2-d4/a2
rts
lbC003890: movea.l d0,a0
add.l a1,d1
lbC003894: move.b (a1)+,(a0)+
cmp.l a1,d1
beq.b lbC00388A
move.b (a1)+,(a0)+
cmp.l a1,d1
bne.b lbC003894
bra.b lbC00388A
lbC0038A2: movem.l d2-d5/a2/a3,-(sp)
movea.l ($20,sp),a2
movea.l ($24,sp),a1
cmpi.b #$50,(a1)
bne.b lbC0038BC
cmpi.b #$52,(1,a1)
beq.b lbC0038C4
lbC0038BC: moveq #0,d0
lbC0038BE: movem.l (sp)+,d2-d5/a2/a3
rts
lbC0038C4: cmpi.b #$54,(2,a1)
bne.b lbC0038BC
move.b (3,a1),d2
cmpi.b #$1B,d2
bhi.b lbC0038BC
move.b ($3F,a1),d0
move.b d0,(1,a2)
move.b ($41,a1),d1
move.b d1,(a2)
andi.w #$FF,d0
move.w d0,(2,a2)
moveq #0,d3
move.b (4,a1),d3
lsl.w #8,d3
swap d3
clr.w d3
moveq #0,d0
move.b (5,a1),d0
swap d0
clr.w d0
or.l d0,d3
moveq #0,d0
move.b (6,a1),d0
lsl.l #8,d0
or.l d3,d0
or.b (7,a1),d0
moveq #0,d3
move.b ($3C,a1),d3
moveq #0,d4
move.b ($3E,a1),d4
move.l d4,($8C,a2)
add.l a1,d0
move.l d0,($94,a2)
clr.l ($88,a2)
move.l d3,($90,a2)
move.b (8,a1),d3
lsl.w #8,d3
swap d3
clr.w d3
moveq #0,d0
move.b (9,a1),d0
swap d0
clr.w d0
or.l d0,d3
moveq #0,d0
move.b (10,a1),d0
lsl.l #8,d0
or.l d3,d0
or.b (11,a1),d0
add.l a1,d0
move.l d0,(4,a2)
moveq #0,d3
move.b (12,a1),d3
lsl.w #8,d3
swap d3
clr.w d3
moveq #0,d0
move.b (13,a1),d0
swap d0
clr.w d0
or.l d0,d3
moveq #0,d0
move.b (14,a1),d0
lsl.l #8,d0
or.l d3,d0
or.b (15,a1),d0
lea (a1,d0.l),a0
moveq #$20,d0
lbC003986: lea ($17,a0),a3
lbC00398A: tst.b (a0)+
beq.b lbC003992
cmpa.l a0,a3
bne.b lbC00398A
lbC003992: subq.l #1,d0
bne.b lbC003986
move.l a0,($98,a2)
move.b ($40,a1),d0
moveq #0,d5
move.b d0,d5
move.l d5,d4
lsl.l #3,d4
add.l a0,d4
tst.b d0
beq.b lbC0039CC
lea (8,a2),a3
addq.l #7,a0
add.l d5,d5
add.l d5,d5
add.l a3,d5
lbC0039B8: move.l d4,(a3)+
moveq #0,d3
move.b (a0),d3
move.l d3,d0
add.l d3,d0
add.l d3,d0
add.l d0,d4
addq.l #8,a0
cmp.l a3,d5
bne.b lbC0039B8
lbC0039CC: moveq #0,d3
move.b ($10,a1),d3
lsl.w #8,d3
swap d3
clr.w d3
moveq #0,d0
move.b ($11,a1),d0
swap d0
clr.w d0
or.l d0,d3
moveq #0,d0
move.b ($12,a1),d0
lsl.l #8,d0
or.l d3,d0
or.b ($13,a1),d0
lea (a1,d0.l),a0
moveq #$18,d0
lbC0039F8: lea ($17,a0),a3
move.l a0,d3
tst.b (a0)+
beq.b lbC003A0C
lbC003A02: cmpa.l a0,a3
beq.b lbC003A0C
move.l a0,d3
tst.b (a0)+
bne.b lbC003A02
lbC003A0C: subq.l #1,d0
bne.b lbC0039F8
move.l a0,d0
btst #0,d0
bne.w lbC003AA8
lbC003A1A: move.l a0,($9C,a2)
cmpi.b #$19,d2
bhi.w lbC003AB0
moveq #0,d0
lea ($96C,a2),a0
lbC003A2C: move.b d0,(a0,d0.l)
addq.l #1,d0
moveq #$18,d2
cmp.l d0,d2
bne.b lbC003A2C
lbC003A38: tst.b d1
beq.b lbC003AA0
movea.w #$14,a0
adda.l ($9C,a2),a0
andi.w #$FF,d1
mulu.w #$2A,d1
lea (a0,d1.l),a2
moveq #2,d0
lbC003A52: moveq #0,d1
move.b (5,a0),d1
addq.l #1,d1
lsl.l #7,d1
btst #2,(a0)
beq.b lbC003A90
lbC003A62: move.l d1,d2
lsr.l #2,d2
move.l d1,d3
lsr.l #1,d3
movea.l d2,a1
adda.l d3,a1
adda.l d1,a1
lsr.l #3,d1
add.l a1,d1
add.l d1,d0
lea ($2A,a0),a0
cmpa.l a2,a0
beq.w lbC0038BE
moveq #0,d1
move.b (5,a0),d1
addq.l #1,d1
lsl.l #7,d1
btst #2,(a0)
bne.b lbC003A62
lbC003A90: add.l d1,d0
lea ($2A,a0),a0
cmpa.l a2,a0
bne.b lbC003A52
movem.l (sp)+,d2-d5/a2/a3
rts
lbC003AA0: moveq #2,d0
movem.l (sp)+,d2-d5/a2/a3
rts
lbC003AA8: movea.l d3,a0
addq.l #2,a0
bra.w lbC003A1A
lbC003AB0: pea ($18).w
pea ($42,a1)
pea ($96C,a2)
lea (lbC003810,pc),a0
jsr (a0)
move.b (a2),d1
lea (12,sp),sp
bra.w lbC003A38
lbC003ACC: move.w (4,sp),d0
mulu.w (10,sp),d0
move.w (6,sp),d1
mulu.w (8,sp),d1
add.w d1,d0
swap d0
clr.w d0
move.w (6,sp),d1
mulu.w (10,sp),d1
add.l d1,d0
rts
lbC003AEE: move.l d2,-(sp)
move.l (12,sp),d1
move.l (8,sp),d0
cmpi.l #$10000,d1
bcc.b lbC003B16
move.l d0,d2
clr.w d2
swap d2
divu.w d1,d2
move.w d2,d0
swap d0
move.w (10,sp),d2
divu.w d1,d2
move.w d2,d0
bra.b lbC003B46
lbC003B16: move.l d1,d2
lbC003B18: lsr.l #1,d1
lsr.l #1,d0
cmpi.l #$10000,d1
bcc.b lbC003B18
divu.w d1,d0
andi.l #$FFFF,d0
move.l d2,d1
mulu.w d0,d1
swap d2
mulu.w d0,d2
swap d2
tst.w d2
bne.b lbC003B44
add.l d2,d1
bcs.b lbC003B44
cmp.l (8,sp),d1
bls.b lbC003B46
lbC003B44: subq.l #1,d0
lbC003B46: move.l (sp)+,d2
rts
lbC003B4A: move.l d2,-(sp)
moveq #1,d2
move.l (12,sp),d1
bpl.b lbC003B58
neg.l d1
neg.b d2
lbC003B58: move.l (8,sp),d0
bpl.b lbC003B62
neg.l d0
neg.b d2
lbC003B62: move.l d1,-(sp)
move.l d0,-(sp)
bsr.b lbC003AEE
addq.l #8,sp
tst.b d2
bpl.b lbC003B70
neg.l d0
lbC003B70: move.l (sp)+,d2
rts
lbC003B74: move.l (8,sp),d1
move.l (4,sp),d0
move.l d1,-(sp)
move.l d0,-(sp)
bsr.b lbC003B4A
addq.l #8,sp
move.l (8,sp),d1
move.l d1,-(sp)
move.l d0,-(sp)
bsr.w lbC003ACC
addq.l #8,sp
move.l (4,sp),d1
sub.l d0,d1
move.l d1,d0
rts
move.l (8,sp),d1
move.l (4,sp),d0
move.l d1,-(sp)
move.l d0,-(sp)
bsr.w lbC003AEE
addq.l #8,sp
move.l (8,sp),d1
move.l d1,-(sp)
move.l d0,-(sp)
bsr.w lbC003ACC
addq.l #8,sp
move.l (4,sp),d1
sub.l d0,d1
move.l d1,d0
rts
move.l a6,-(sp)
movea.l (4).w,a6
jsr (-516,a6)
movea.l (sp)+,a6
rts
lbW003BD4: dc.w $8000,$871D,$8F2F,$97B7,$9FC4,$A9DE,$B505,$BF49
dc.w $CB31,$D645,$E215,$F1A0
lbB003BEC: dc.b 2,3,4,5,6,7,8,9,10,11,12,13,14,$14,$28,$50
lbB003BFC: dc.b 0,8,9,10,11,12,13,14,$12,$14,$1C,$28,$32,$46,$A0
dc.b $FF
lbB003C0C: dc.b 0,4,8,10,12,14,$10,$12,$14,$18,$20,$28,$38,$60
dc.b $96,$FF
lbW003C1C: dc.w $400,$200,$180,$140,$100,$C0,$A0,$80,$78,$74,$6E
dc.w $69,$64,$5A,$46,$40,$38,$30,$28,$20,$1F,$1E,$1D
dc.w $1C,$1B,$1A,$19,$18,$17,$16,$15,$14,$13,$12,$11
dc.w $10,15,14,13,13,12,12,11,11,10,10,9,9,8,8,8,8,7,7
dc.w 7,7,6,6,6,6,5,5,5,5,4,4,4,4,4,4,4,4,4,4,3,4,4,3,4
dc.w 4,3,4,3,4,3,4,3,4,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3
dc.w 2,3,3,2,3,3,2,3,2,3,2,3,2,3,2,3,2,2,2,2,2,2,2,2,1
dc.w 2,1,2,1,2,1,2,1,1,2,1,1,1,2,1
lbB003D3C: dc.b 0,1,3,6,7,9,10,11,12,13,14,$10,$13,$23,$37,$8F
lbW003D4C: dc.w $400,$200,$80,$64,$50,$40,$30,$20,$10,14,12,10,8
dc.w 4,2,1
lbB003D6C: dc.b 12,12,12,12,12,12,12,12,12,12,12,12,$18,$18,$18
dc.b $18,$18,$18,$18,$18,$18,$18,$18,$18,$24,$24,$24
dc.b $24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24
dc.b $24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24
dc.b $24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24
dc.b $24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24
dc.b $24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24
dc.b $24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24,$24
dc.b $24,$24,0,0,0,0,0,0,0
lbB003DD8: dc.b 1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3
dc.b 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
dc.b 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
dc.b 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0
dc.b 0,0,0,0,0,0,0,0
lbB003E44: dc.b $FC,$FB,$FF,1,2,3,4,0
lbW003E4C: dc.w 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12
dc.w 11,10,9,8,7,6,5,4,3,2,1,0
lbW003E8C: dc.w $4D,$125,$21B,$437,$539,$755,$96D,$BD7,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
lbW004000: dc.w $350
lbW004002: dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$320,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,$2F2,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,$2C8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$2A0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,$279,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,$256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$236,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,$216,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,$1F8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w $1DC,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$1C0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,$1A8,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,$190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$179,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,$164,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,$151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w $13E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$12C,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,$11B,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,$10B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$FC,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,$EE,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,$E0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$D4,0
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,$C8,0,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,$BD,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$B2
dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$A8,0,0,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,$9F,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w $96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$8D,0,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,$86,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,$7E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$78,0,0,0,0,0
dc.w 0,0,0,0,0,0,0,0,0,0,$71,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.w 0,0,$71
lbW004482: dc.w 0
lbW004484: dcb.w $3F,0
dcb.w $3F,0
dcb.w $3F,0
dcb.w $3F,0
dcb.w 3,0
lbW004682: dc.w 0
end