mirror of https://github.com/nmlgc/ReC98.git
10491 lines
168 KiB
NASM
10491 lines
168 KiB
NASM
;
|
||
; +-------------------------------------------------------------------------+
|
||
; | This file has been generated by The Interactive Disassembler (IDA) |
|
||
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
|
||
; +-------------------------------------------------------------------------+
|
||
;
|
||
; Input MD5 : 50C37C4BDDEC04B753524F5D3B030A96
|
||
|
||
; File Name : th04/MAINE.EXE
|
||
; Format : MS-DOS executable (EXE)
|
||
; Base Address: 0h Range: 0h-126D0h Loaded length: 10062h
|
||
; Entry Point : 0:0
|
||
; OS type : MS DOS
|
||
; Application type: Executable 16bit
|
||
|
||
CGROUP00 group seg000
|
||
CGROUP01 group seg001
|
||
CGROUP02 group seg002
|
||
CGROUP03 group seg003
|
||
|
||
.286 ; Force the .model directive to create 16-bit default segments...
|
||
.model large
|
||
__LARGE__ equ 1
|
||
.386 ; ... then switch to what we actually need.
|
||
; And yes, we can't move this to an include file for some reason.
|
||
|
||
include ReC98.inc
|
||
include th04/th04.asm
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg000 segment word public 'CODE' use16
|
||
assume cs:seg000
|
||
assume es:nothing, ss:_STACK, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/c0.asm
|
||
db 0
|
||
include libs/master.lib/bfnt_entry_pat.asm
|
||
include libs/master.lib/bfnt_extend_header_skip.asm
|
||
include libs/master.lib/bfnt_header_read.asm
|
||
include libs/master.lib/bfnt_header_analysis.asm
|
||
include libs/master.lib/atrtcmod.asm
|
||
include libs/master.lib/bcloser.asm
|
||
include libs/master.lib/bfill.asm
|
||
include libs/master.lib/bfnt_palette_set.asm
|
||
include libs/master.lib/bgetc.asm
|
||
include libs/master.lib/palette_black_in.asm
|
||
include libs/master.lib/palette_black_out.asm
|
||
include libs/master.lib/bopenr.asm
|
||
include libs/master.lib/bread.asm
|
||
include libs/master.lib/bseek.asm
|
||
include libs/master.lib/bseek_.asm
|
||
include libs/master.lib/dos_axdx.asm
|
||
include libs/master.lib/dos_filesize.asm
|
||
include libs/master.lib/dos_keyclear.asm
|
||
include libs/master.lib/dos_read.asm
|
||
include libs/master.lib/dos_seek.asm
|
||
include libs/master.lib/dos_setvect.asm
|
||
include libs/master.lib/egc.asm
|
||
include libs/master.lib/file_append.asm
|
||
include libs/master.lib/file_close.asm
|
||
include libs/master.lib/file_create.asm
|
||
include libs/master.lib/file_exist.asm
|
||
include libs/master.lib/file_read.asm
|
||
include libs/master.lib/file_ropen.asm
|
||
include libs/master.lib/file_seek.asm
|
||
include libs/master.lib/file_size.asm
|
||
include libs/master.lib/file_write.asm
|
||
include libs/master.lib/dos_close.asm
|
||
include libs/master.lib/dos_ropen.asm
|
||
include libs/master.lib/grcg_byteboxfill_x.asm
|
||
include libs/master.lib/grcg_setcolor.asm
|
||
include libs/master.lib/gdc_outpw.asm
|
||
include libs/master.lib/get_machine_98.asm
|
||
include libs/master.lib/get_machine_at.asm
|
||
include libs/master.lib/get_machine_dosbox.asm
|
||
include libs/master.lib/check_machine_fmr.asm
|
||
include libs/master.lib/get_machine.asm
|
||
include libs/master.lib/gaiji_backup.asm
|
||
include libs/master.lib/gaiji_entry_bfnt.asm
|
||
include libs/master.lib/gaiji_putca.asm
|
||
include libs/master.lib/gaiji_putsa.asm
|
||
include libs/master.lib/gaiji_read.asm
|
||
include libs/master.lib/gaiji_write.asm
|
||
include libs/master.lib/graph_400line.asm
|
||
include libs/master.lib/graph_clear.asm
|
||
include libs/master.lib/graph_copy_page.asm
|
||
include libs/master.lib/graph_extmode.asm
|
||
include libs/master.lib/graph_hide.asm
|
||
include libs/master.lib/graph_pi_free.asm
|
||
include libs/master.lib/graph_pi_load_pack.asm
|
||
include libs/master.lib/graph_pack_put_8.asm
|
||
include libs/master.lib/graph_scrollup.asm
|
||
include libs/master.lib/graph_show.asm
|
||
include libs/master.lib/js_end.asm
|
||
include libs/master.lib/palette_show.asm
|
||
include libs/master.lib/pfclose.asm
|
||
include libs/master.lib/pfgetc.asm
|
||
include libs/master.lib/pfread.asm
|
||
include libs/master.lib/pfrewind.asm
|
||
include libs/master.lib/pfseek.asm
|
||
include libs/master.lib/random.asm
|
||
include libs/master.lib/rottbl.asm
|
||
include libs/master.lib/smem_release.asm
|
||
include libs/master.lib/smem_wget.asm
|
||
include libs/master.lib/soundio.asm
|
||
include libs/master.lib/text_clear.asm
|
||
include libs/master.lib/vsync.asm
|
||
include libs/master.lib/vsync_wait.asm
|
||
include libs/master.lib/palette_white_in.asm
|
||
include libs/master.lib/palette_white_out.asm
|
||
include libs/master.lib/hmem_lallocate.asm
|
||
include libs/master.lib/mem_assign_dos.asm
|
||
include libs/master.lib/mem_assign.asm
|
||
include libs/master.lib/memheap.asm
|
||
include libs/master.lib/mem_unassign.asm
|
||
include libs/master.lib/super_free.asm
|
||
include libs/master.lib/super_entry_pat.asm
|
||
include libs/master.lib/super_entry_at.asm
|
||
include libs/master.lib/super_entry_bfnt.asm
|
||
include libs/master.lib/super_cancel_pat.asm
|
||
include libs/master.lib/super_put.asm
|
||
include libs/master.lib/pfint21.asm
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_2B6E proc far
|
||
mov cx, 100h
|
||
mov dx, 188h
|
||
|
||
loc_2B74:
|
||
in al, dx
|
||
inc al
|
||
jnz short loc_2B7F
|
||
loop loc_2B74
|
||
xor ax, ax
|
||
jmp short loc_2B93
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_2B7F:
|
||
pushf
|
||
cli
|
||
mov bh, 7
|
||
call sound_i
|
||
and al, 3Fh
|
||
or al, 80h
|
||
mov bl, al
|
||
call sound_o
|
||
popf
|
||
mov ax, 1
|
||
|
||
loc_2B93:
|
||
mov word_E658, ax
|
||
retf
|
||
sub_2B6E endp
|
||
|
||
include th03/formats/pfopen.asm
|
||
include libs/master.lib/pf_str_ieq.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_2CEA proc near
|
||
mov bh, 0Fh
|
||
call sound_o
|
||
mov dx, 188h
|
||
mov al, 0Eh
|
||
out dx, al
|
||
inc dx
|
||
inc dx
|
||
in al, dx
|
||
not al
|
||
retn
|
||
sub_2CEA endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_2CFC proc far
|
||
pushf
|
||
cli
|
||
mov bl, 80h
|
||
call sub_2CEA
|
||
and ax, 3Fh
|
||
popf
|
||
retf
|
||
sub_2CFC endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
xchg dx, bx
|
||
out dx, al
|
||
xchg dx, bx
|
||
in al, dx
|
||
not al
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
include libs/master.lib/bgm_bell_org.asm
|
||
include libs/master.lib/bgm_mget.asm
|
||
include libs/master.lib/bgm_read_sdata.asm
|
||
include libs/master.lib/bgm_timer.asm
|
||
include libs/master.lib/bgm_pinit.asm
|
||
include libs/master.lib/bgm_timerhook.asm
|
||
include libs/master.lib/bgm_play.asm
|
||
include libs/master.lib/bgm_sound.asm
|
||
include libs/master.lib/bgm_effect_sound.asm
|
||
include libs/master.lib/bgm_stop_play.asm
|
||
include libs/master.lib/bgm_set_tempo.asm
|
||
include libs/master.lib/bgm_init_finish.asm
|
||
include libs/master.lib/bgm_stop_sound.asm
|
||
|
||
; ---------------------------------------------------------------------------
|
||
; START OF FUNCTION CHUNK FOR sub_35F2
|
||
|
||
loc_35EC:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
; END OF FUNCTION CHUNK FOR sub_35F2
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_35F2 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
arg_8 = word ptr 0Eh
|
||
|
||
; FUNCTION CHUNK AT 35EC SIZE 00000006 BYTES
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_6]
|
||
mov cx, [bp+arg_0]
|
||
sar cx, 3
|
||
jle short loc_35EC
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_8]
|
||
sar di, 3
|
||
jns short loc_3618
|
||
add cx, di
|
||
jle short loc_35EC
|
||
shl di, 2
|
||
add si, di
|
||
xor di, di
|
||
|
||
loc_3618:
|
||
cmp di, 50h ; 'P'
|
||
jge short loc_35EC
|
||
add cx, di
|
||
cmp cx, 50h ; 'P'
|
||
jl short loc_3627
|
||
mov cx, 50h ; 'P'
|
||
|
||
loc_3627:
|
||
sub cx, di
|
||
imul ax, 50h
|
||
add di, ax
|
||
push ds
|
||
mov es, ClipYT_seg
|
||
assume es:nothing
|
||
mov ds, [bp+arg_4]
|
||
mov bp, cx
|
||
cld
|
||
nop
|
||
|
||
loc_363A:
|
||
mov cl, 2
|
||
mov bl, [si]
|
||
mov bh, 0
|
||
shl bx, cl
|
||
mov ax, cs:[bx+1C84h]
|
||
mov dx, cs:[bx+1C86h]
|
||
inc si
|
||
shl ax, cl
|
||
shl dx, cl
|
||
mov bl, [si]
|
||
mov bh, 0
|
||
shl bx, cl
|
||
or ax, cs:[bx+1C84h]
|
||
or dx, cs:[bx+1C86h]
|
||
inc si
|
||
shl ax, cl
|
||
shl dx, cl
|
||
mov bl, [si]
|
||
mov bh, 0
|
||
shl bx, cl
|
||
or ax, cs:[bx+1C84h]
|
||
or dx, cs:[bx+1C86h]
|
||
inc si
|
||
shl ax, cl
|
||
shl dx, cl
|
||
mov bl, [si]
|
||
mov bh, 0
|
||
shl bx, cl
|
||
or ax, cs:[bx+1C84h]
|
||
or dx, cs:[bx+1C86h]
|
||
inc si
|
||
mov es:[di], al
|
||
mov bx, es
|
||
mov es:[di-8000h], ah
|
||
add bh, 10h
|
||
mov es, bx
|
||
assume es:nothing
|
||
mov es:[di], dl
|
||
add bh, 28h ; '('
|
||
mov es, bx
|
||
assume es:nothing
|
||
mov es:[di], dh
|
||
sub bh, 38h ; '8'
|
||
mov es, bx
|
||
assume es:nothing
|
||
inc di
|
||
dec bp
|
||
jnz short loc_363A
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
sub_35F2 endp
|
||
|
||
include libs/master.lib/graph_gaiji_puts.asm
|
||
include libs/master.lib/graph_gaiji_putc.asm
|
||
include libs/BorlandC/_abort.asm
|
||
include libs/BorlandC/stpcpy.asm
|
||
include libs/BorlandC/abort.asm
|
||
include libs/BorlandC/atexit.asm
|
||
include libs/BorlandC/del.asm
|
||
include libs/BorlandC/delarray.asm
|
||
include libs/BorlandC/dosenv.asm
|
||
include libs/BorlandC/dosgdriv.asm
|
||
include libs/BorlandC/errormsg.asm
|
||
include libs/BorlandC/exit.asm
|
||
include libs/BorlandC/getvect.asm
|
||
include libs/BorlandC/H_LDIV.ASM
|
||
include libs/BorlandC/H_LLSH.ASM
|
||
include libs/BorlandC/H_PADD.ASM
|
||
include libs/BorlandC/ioerror.asm
|
||
include libs/BorlandC/_isatty.asm
|
||
include libs/BorlandC/lseek.asm
|
||
include libs/BorlandC/new.asm
|
||
include libs/BorlandC/N_LXMUL.ASM
|
||
include libs/BorlandC/N_PCMP.ASM
|
||
include libs/BorlandC/setupio.asm
|
||
include libs/BorlandC/tolower.asm
|
||
include libs/BorlandC/toupper.asm
|
||
include libs/BorlandC/xxas.asm
|
||
include libs/BorlandC/xxv.asm
|
||
include libs/BorlandC/cputype.asm
|
||
include libs/BorlandC/FARHEAP.ASM
|
||
include libs/BorlandC/fbrk.asm
|
||
include libs/BorlandC/signal.asm
|
||
include libs/BorlandC/_access.asm
|
||
include libs/BorlandC/pathops.asm
|
||
include libs/BorlandC/chmoda.asm
|
||
include libs/BorlandC/fflush.asm
|
||
include libs/BorlandC/flushall.asm
|
||
include libs/BorlandC/fseek.asm
|
||
include libs/BorlandC/fullpath.asm
|
||
include libs/BorlandC/getdcwd.asm
|
||
include libs/BorlandC/getenv.asm
|
||
include libs/BorlandC/memcmp.asm
|
||
include libs/BorlandC/memcpy.asm
|
||
include libs/BorlandC/memset.asm
|
||
include libs/BorlandC/movmem.asm
|
||
include libs/BorlandC/srchenv.asm
|
||
include libs/BorlandC/srchstr.asm
|
||
include libs/BorlandC/setvbuf.asm
|
||
include libs/BorlandC/_strcat.asm
|
||
include libs/BorlandC/_strcmp.asm
|
||
include libs/BorlandC/_strcpy.asm
|
||
include libs/BorlandC/_stricmp.asm
|
||
include libs/BorlandC/_strlen.asm
|
||
include libs/BorlandC/strrchr.asm
|
||
include libs/BorlandC/write.asm
|
||
include libs/BorlandC/writea.asm
|
||
include libs/BorlandC/xfflush.asm
|
||
include libs/BorlandC/xalloc.asm
|
||
include libs/BorlandC/xmsg.asm
|
||
include libs/BorlandC/xx.asm
|
||
include libs/BorlandC/doscmd.asm
|
||
include libs/BorlandC/exec.asm
|
||
include libs/BorlandC/execl.asm
|
||
include libs/BorlandC/setblock.asm
|
||
include libs/BorlandC/setenvp.asm
|
||
include libs/BorlandC/ctor2.asm
|
||
include libs/BorlandC/ctor3.asm
|
||
include libs/BorlandC/strings.asm
|
||
include libs/BorlandC/loadprog.asm
|
||
seg000 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg001 segment byte public 'CODE' use16
|
||
assume cs:seg001
|
||
;org 9
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A059 proc near
|
||
|
||
var_A = byte ptr -0Ah
|
||
var_4 = word ptr -4
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push ds
|
||
push offset aMiko_cfg ; "MIKO.CFG"
|
||
call file_ropen
|
||
push ss
|
||
lea ax, [bp+var_A]
|
||
push ax
|
||
push 0Ah
|
||
call file_read
|
||
call file_close
|
||
mov si, [bp+var_4]
|
||
mov word ptr dword_F3CE+2, si
|
||
mov word ptr dword_F3CE, 0
|
||
mov ax, si
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A059 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __stdcall sub_A08A(char *arg0)
|
||
sub_A08A proc near
|
||
|
||
_arg0 = dword ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
call sub_D8CE
|
||
call graph_hide
|
||
call text_clear
|
||
call gaiji_restore
|
||
call sub_D3F4
|
||
pushd 0
|
||
pushd [bp+_arg0] ; arg0
|
||
pushd [bp+_arg0] ; path
|
||
call _execl
|
||
add sp, 0Ch
|
||
pop bp
|
||
retn 4
|
||
sub_A08A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A0BD proc near
|
||
push bp
|
||
mov bp, sp
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+12h]
|
||
les bx, off_E5C0
|
||
mov es:[bx+3], al
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+19h]
|
||
add al, 30h ; '0'
|
||
les bx, off_E5C0
|
||
mov es:[bx+4], al
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+25h]
|
||
les bx, off_E5C0
|
||
mov es:[bx+5], al
|
||
push word ptr off_E5C0+2
|
||
push bx
|
||
call sub_A292
|
||
call sub_ADFC
|
||
call sub_A2D1
|
||
pop bp
|
||
retn
|
||
sub_A0BD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __cdecl main(int argc, const char **argv, const char **envp)
|
||
_main proc far
|
||
|
||
var_4 = dword ptr -4
|
||
_argc = word ptr 6
|
||
_argv = dword ptr 8
|
||
_envp = dword ptr 0Ch
|
||
|
||
enter 4, 0
|
||
mov word ptr [bp+var_4+2], ds
|
||
mov word ptr [bp+var_4], 0A8h ; '<27>'
|
||
call sub_A059
|
||
or ax, ax
|
||
jz locret_A290
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+12h]
|
||
les bx, [bp+var_4]
|
||
mov es:[bx+4], al
|
||
mov word_10070, 5208h
|
||
push ds
|
||
push offset aMSzlEd_dat ; "<22><><EFBFBD>z<EFBFBD><7A>ed.dat"
|
||
call sub_D43C
|
||
call gaiji_backup
|
||
push ds
|
||
push offset aGameft_bft ; "GAMEFT.bft"
|
||
call gaiji_entry_bfnt
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+10h]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, es:[bx+18h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_CFAA
|
||
call graph_show
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FEh
|
||
jb loc_A1FE
|
||
call sub_A0BD
|
||
call sub_B44D
|
||
call sub_C0F8
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FFh
|
||
jz short loc_A187
|
||
cmp byte ptr es:[bx+0Fh], 0
|
||
jnz short loc_A1E9
|
||
|
||
loc_A187:
|
||
les bx, [bp+var_4]
|
||
mov al, es:[bx+5]
|
||
les bx, dword_F3CE
|
||
add al, es:[bx+0Fh]
|
||
les bx, [bp+var_4]
|
||
mov es:[bx+5], al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
push word ptr [bp+var_4+2]
|
||
push bx
|
||
call pi_slot_load
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
push 0
|
||
call sub_CE7A
|
||
push 4
|
||
call palette_black_out
|
||
|
||
loc_A1E9:
|
||
push 204h
|
||
call sub_CF8C
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
call sub_C814
|
||
jmp loc_A281
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A1FE:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jnz short loc_A274
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
call sub_C814
|
||
les bx, [bp+var_4]
|
||
mov byte ptr es:[bx+5], 34h ; '4'
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
pushd [bp+var_4]
|
||
call pi_slot_load
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 1
|
||
call palette_black_in
|
||
push 0
|
||
call sub_CE7A
|
||
push 4
|
||
call palette_black_out
|
||
jmp short loc_A27E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A274:
|
||
push 64h ; 'd'
|
||
call frame_delay
|
||
call sub_C814
|
||
|
||
loc_A27E:
|
||
call sub_C0F8
|
||
|
||
loc_A281:
|
||
push 204h
|
||
call sub_CF8C
|
||
push ds
|
||
push offset arg0 ; "op"
|
||
call sub_A08A
|
||
|
||
locret_A290:
|
||
leave
|
||
retf
|
||
_main endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A292 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = dword ptr 4
|
||
|
||
enter 2, 0
|
||
call sub_A2D1
|
||
pushd [bp+arg_0]
|
||
call file_ropen
|
||
or ax, ax
|
||
jnz short loc_A2AD
|
||
mov ax, 1
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A2AD:
|
||
call file_size
|
||
mov [bp+var_2], ax
|
||
mov word_12478, 1F48h
|
||
push ds
|
||
push word_12478
|
||
push ax
|
||
call file_read
|
||
call file_close
|
||
xor ax, ax
|
||
leave
|
||
retn 4
|
||
sub_A292 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A2D1 proc near
|
||
push bp
|
||
mov bp, sp
|
||
pop bp
|
||
retn
|
||
sub_A2D1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A2D6 proc near
|
||
push bp
|
||
mov bp, sp
|
||
call egc_on
|
||
mov ax, 0FFF0h
|
||
mov dx, 4A0h
|
||
out dx, ax
|
||
mov ax, 0FFh
|
||
mov dx, 4A2h
|
||
out dx, ax
|
||
mov ax, 3100h
|
||
mov dx, 4A4h
|
||
out dx, ax
|
||
mov ax, 0FFFFh
|
||
mov dx, 4A8h
|
||
out dx, ax
|
||
mov ax, 0
|
||
mov dx, 4ACh
|
||
out dx, ax
|
||
mov ax, 0Fh
|
||
mov dx, 4AEh
|
||
out dx, ax
|
||
pop bp
|
||
retn
|
||
sub_A2D6 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A30A proc near
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov ax, [bp+arg_2]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_0]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_0]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
call sub_A2D6
|
||
xor di, di
|
||
jmp short loc_A368
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A32F:
|
||
mov [bp+var_2], 0
|
||
jmp short loc_A35E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A336:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
les bx, dword_FC3C
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_4], ax
|
||
mov al, 1
|
||
out dx, al
|
||
mov bx, word ptr dword_FC3C
|
||
add bx, si
|
||
mov ax, [bp+var_4]
|
||
mov es:[bx], ax
|
||
add [bp+var_2], 2
|
||
add si, 2
|
||
|
||
loc_A35E:
|
||
cmp [bp+var_2], 28h ; '('
|
||
jl short loc_A336
|
||
inc di
|
||
add si, 28h ; '('
|
||
|
||
loc_A368:
|
||
cmp di, 0C8h
|
||
jl short loc_A32F
|
||
call egc_off
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_A30A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A37F proc near
|
||
|
||
var_8 = dword ptr -8
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov eax, pi_slot_buffers
|
||
mov [bp+var_8], eax
|
||
cmp [bp+arg_2], 1
|
||
jnz short loc_A39A
|
||
add word ptr [bp+var_8], 0A0h
|
||
jmp short loc_A3B2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A39A:
|
||
cmp [bp+arg_2], 2
|
||
jnz short loc_A3A7
|
||
add word ptr [bp+var_8], 0FA00h
|
||
jmp short loc_A3B2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3A7:
|
||
cmp [bp+arg_2], 3
|
||
jnz short loc_A3B2
|
||
add word ptr [bp+var_8], 0FAA0h
|
||
|
||
loc_A3B2:
|
||
mov eax, [bp+var_8]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_8]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_8]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_8+2], ax
|
||
mov word ptr [bp+var_8], dx
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
out dx, al
|
||
mov ax, [bp+arg_6]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov si, ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
xor di, di
|
||
jmp loc_A491
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A3F7:
|
||
pushd 190h
|
||
pushd [bp+var_8]
|
||
push 140h
|
||
call sub_35F2
|
||
call sub_A2D6
|
||
mov ax, 0FFh
|
||
mov dx, 4A2h
|
||
out dx, ax
|
||
mov ax, 3100h
|
||
mov dx, 4A4h
|
||
out dx, ax
|
||
mov ax, 0Fh
|
||
mov dx, 4AEh
|
||
out dx, ax
|
||
mov bx, [bp+arg_0]
|
||
shl bx, 3
|
||
mov ax, di
|
||
and ax, 3
|
||
add ax, ax
|
||
add bx, ax
|
||
mov ax, [bx+60Ch]
|
||
mov dx, 4A8h
|
||
out dx, ax
|
||
mov [bp+var_4], 7D00h
|
||
mov [bp+var_2], 0
|
||
jmp short loc_A461
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A444:
|
||
les bx, dword_FC3C
|
||
add bx, [bp+var_4]
|
||
mov ax, es:[bx]
|
||
mov bx, word ptr dword_FC3C
|
||
add bx, si
|
||
mov es:[bx], ax
|
||
inc [bp+var_2]
|
||
add si, 2
|
||
add [bp+var_4], 2
|
||
|
||
loc_A461:
|
||
cmp [bp+var_2], 14h
|
||
jl short loc_A444
|
||
call egc_off
|
||
add si, 28h ; '('
|
||
add word ptr [bp+var_8], 140h
|
||
mov eax, [bp+var_8]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_8]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_8]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_8+2], ax
|
||
mov word ptr [bp+var_8], dx
|
||
inc di
|
||
|
||
loc_A491:
|
||
cmp di, 0C8h
|
||
jl loc_A3F7
|
||
mov dx, 0A4h
|
||
mov al, 0
|
||
out dx, al
|
||
push [bp+arg_6]
|
||
push [bp+arg_4]
|
||
call sub_A30A
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_A37F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A4AE proc near
|
||
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
call sub_A57F
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
push 3C00h
|
||
call hmem_allocbyte
|
||
mov word ptr dword_1247A+2, ax
|
||
mov word ptr dword_1247A, 0
|
||
xor si, si
|
||
mov di, 140h
|
||
mov [bp+var_4], 0
|
||
jmp loc_A573
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4DB:
|
||
mov [bp+var_2], 50h ; 'P'
|
||
mov [bp+var_6], 0
|
||
jmp loc_A567
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A4E8:
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, di
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, di
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_8], ax
|
||
les bx, dword_FC3C
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
les bx, dword_FC40
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
les bx, dword_FC44
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
les bx, dword_FC48
|
||
add bx, [bp+var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, si
|
||
add dx, dx
|
||
les bx, dword_1247A
|
||
add bx, dx
|
||
mov es:[bx], ax
|
||
inc si
|
||
add [bp+var_6], 2
|
||
add [bp+var_2], 10h
|
||
|
||
loc_A567:
|
||
cmp [bp+var_6], 3Ch ; '<'
|
||
jl loc_A4E8
|
||
inc [bp+var_4]
|
||
inc di
|
||
|
||
loc_A573:
|
||
cmp [bp+var_4], 40h
|
||
jl loc_A4DB
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A4AE endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A57F proc near
|
||
push bp
|
||
mov bp, sp
|
||
cmp dword_1247A, 0
|
||
jz short loc_A59C
|
||
push word ptr dword_1247A+2
|
||
call hmem_free
|
||
mov dword_1247A, 0
|
||
|
||
loc_A59C:
|
||
pop bp
|
||
retn
|
||
sub_A57F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A59E proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
xor cx, cx
|
||
mov si, 140h
|
||
mov [bp+var_4], 0
|
||
jmp loc_A641
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5B1:
|
||
mov [bp+var_2], 50h ; 'P'
|
||
mov [bp+var_6], 0
|
||
jmp short loc_A637
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A5BD:
|
||
mov ax, [bp+var_2]
|
||
sar ax, 3
|
||
mov dx, si
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, si
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov di, ax
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, dword_FC3C
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, dword_FC40
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, dword_FC44
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
mov ax, cx
|
||
add ax, ax
|
||
les bx, dword_1247A
|
||
add bx, ax
|
||
mov ax, es:[bx]
|
||
les bx, dword_FC48
|
||
add bx, di
|
||
mov es:[bx], ax
|
||
inc cx
|
||
add [bp+var_6], 2
|
||
add [bp+var_2], 10h
|
||
|
||
loc_A637:
|
||
cmp [bp+var_6], 3Ch ; '<'
|
||
jl short loc_A5BD
|
||
inc [bp+var_4]
|
||
inc si
|
||
|
||
loc_A641:
|
||
cmp [bp+var_4], 40h
|
||
jl loc_A5B1
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_A59E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A64D proc near
|
||
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
arg_0 = dword ptr 4
|
||
|
||
enter 2, 0
|
||
mov bx, word_12478
|
||
mov cl, [bx]
|
||
inc word_12478
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
inc word_12478
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_2], al
|
||
inc word_12478
|
||
mov al, cl
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 2
|
||
jnz short loc_A694
|
||
les bx, [bp+arg_0]
|
||
mov ax, word_124C4
|
||
mov es:[bx], ax
|
||
sub word_12478, 3
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A694:
|
||
mov al, [bp+var_1]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 2
|
||
jnz short loc_A6B8
|
||
mov al, cl
|
||
mov ah, 0
|
||
add ax, 0FFD0h
|
||
les bx, [bp+arg_0]
|
||
mov es:[bx], ax
|
||
sub word_12478, 2
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6B8:
|
||
mov al, [bp+var_2]
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 2
|
||
jnz short loc_A6E8
|
||
mov al, cl
|
||
mov ah, 0
|
||
add ax, 0FFD0h
|
||
imul ax, 0Ah
|
||
mov dl, [bp+var_1]
|
||
mov dh, 0
|
||
add ax, dx
|
||
add ax, 0FFD0h
|
||
les bx, [bp+arg_0]
|
||
mov es:[bx], ax
|
||
dec word_12478
|
||
leave
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A6E8:
|
||
mov al, cl
|
||
mov ah, 0
|
||
add ax, 0FFD0h
|
||
imul ax, 64h
|
||
mov dl, [bp+var_1]
|
||
mov dh, 0
|
||
add dx, 0FFD0h
|
||
imul dx, 0Ah
|
||
add ax, dx
|
||
mov dl, [bp+var_2]
|
||
mov dh, 0
|
||
add ax, dx
|
||
add ax, 0FFD0h
|
||
les bx, [bp+arg_0]
|
||
mov es:[bx], ax
|
||
leave
|
||
retn 4
|
||
sub_A64D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A713 proc near
|
||
|
||
arg_0 = dword ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
mov bx, word_12478
|
||
cmp byte ptr [bx], 2Ch ; ','
|
||
jnz short loc_A72E
|
||
inc word_12478
|
||
pushd [bp+arg_0]
|
||
call sub_A64D
|
||
pop bp
|
||
retn 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A72E:
|
||
les bx, [bp+arg_0]
|
||
mov ax, word_124C4
|
||
mov es:[bx], ax
|
||
pop bp
|
||
retn 4
|
||
sub_A713 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A73B proc near
|
||
push bp
|
||
mov bp, sp
|
||
add word_124BC, 10h
|
||
cmp word_124BC, 230h
|
||
jl short loc_A78D
|
||
add word_124BE, 10h
|
||
mov word_124BC, 90h
|
||
cmp word_124BE, 180h
|
||
jl short loc_A78D
|
||
call sub_A815
|
||
cmp byte_1247E, 0
|
||
jnz short loc_A76F
|
||
push 0
|
||
call sub_CE7A
|
||
|
||
loc_A76F:
|
||
mov word_124BC, 50h ; 'P'
|
||
mov word_124BE, 140h
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call sub_A59E
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_A59E
|
||
|
||
loc_A78D:
|
||
pop bp
|
||
retn
|
||
sub_A73B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A78F proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov cx, 140h
|
||
jmp short loc_A809
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A79A:
|
||
mov ax, 0FFh
|
||
mov dx, 4A2h
|
||
out dx, ax
|
||
mov ax, 3100h
|
||
mov dx, 4A4h
|
||
out dx, ax
|
||
mov ax, 0Fh
|
||
mov dx, 4AEh
|
||
out dx, ax
|
||
mov bx, [bp+arg_0]
|
||
shl bx, 3
|
||
mov ax, cx
|
||
and ax, 3
|
||
add ax, ax
|
||
add bx, ax
|
||
mov ax, [bx+62Ch]
|
||
mov dx, 4A8h
|
||
out dx, ax
|
||
mov ax, cx
|
||
shl ax, 6
|
||
mov dx, cx
|
||
shl dx, 4
|
||
add ax, dx
|
||
add ax, 0Ah
|
||
mov si, ax
|
||
xor di, di
|
||
jmp short loc_A802
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A7DB:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_FC3C
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_2], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr dword_FC3C
|
||
add bx, si
|
||
mov ax, [bp+var_2]
|
||
mov es:[bx], ax
|
||
add di, 10h
|
||
add si, 2
|
||
|
||
loc_A802:
|
||
cmp di, 1E0h
|
||
jl short loc_A7DB
|
||
inc cx
|
||
|
||
loc_A809:
|
||
cmp cx, 180h
|
||
jl short loc_A79A
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_A78F endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A815 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call sub_A2D6
|
||
cmp byte_1247E, 0
|
||
jnz short loc_A83A
|
||
xor si, si
|
||
jmp short loc_A835
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A827:
|
||
push si
|
||
call sub_A78F
|
||
push word_124C0
|
||
call frame_delay
|
||
inc si
|
||
|
||
loc_A835:
|
||
cmp si, 4
|
||
jl short loc_A827
|
||
|
||
loc_A83A:
|
||
push 4
|
||
call sub_A78F
|
||
call egc_off
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_A815 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_A847 proc near
|
||
|
||
var_16 = byte ptr -16h
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
|
||
enter 16h, 0
|
||
push si
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
push ax ; ch
|
||
call _tolower
|
||
pop cx
|
||
mov [bp+arg_0], al
|
||
mov ah, 0
|
||
mov [bp+var_6], ax
|
||
mov cx, 10h ; switch 16 cases
|
||
mov bx, offset word_ADBC
|
||
|
||
loc_A866:
|
||
mov ax, cs:[bx]
|
||
cmp ax, [bp+var_6]
|
||
jz short loc_A876
|
||
add bx, 2
|
||
loop loc_A866
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A876:
|
||
jmp word ptr cs:[bx+20h] ; switch jump
|
||
|
||
loc_A87A:
|
||
add word_124BE, 10h ; jumptable 0000A876 case 110
|
||
mov word_124BC, 50h ; 'P'
|
||
cmp word_124BE, 180h
|
||
jl loc_ADB5 ; default
|
||
|
||
loc_A88F:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 115
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
call sub_A815
|
||
cmp [bp+arg_0], 2Dh ; '-'
|
||
jz short loc_A8C0
|
||
mov word_124C4, 0
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz short loc_A8C4
|
||
push [bp+var_2]
|
||
call sub_CE7A
|
||
jmp short loc_A8C4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8C0:
|
||
inc word_12478
|
||
|
||
loc_A8C4:
|
||
mov word_124BC, 50h ; 'P'
|
||
mov word_124BE, 140h
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call sub_A59E
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_A59E
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8E5:
|
||
mov word_124C4, 0Fh ; jumptable 0000A876 case 99
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov al, byte ptr [bp+var_2]
|
||
mov byte_124C2, al
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A8FC:
|
||
mov word_124C4, 2 ; jumptable 0000A876 case 98
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov ax, [bp+var_2]
|
||
mov word_EB2C, ax
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A913:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 119
|
||
mov al, [bx]
|
||
mov ah, 0
|
||
push ax ; ch
|
||
call _tolower
|
||
pop cx
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 6Fh ; 'o'
|
||
jz short loc_A931
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jnz short loc_A95F
|
||
|
||
loc_A931:
|
||
inc word_12478
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jnz short loc_A954
|
||
push [bp+var_2]
|
||
call palette_white_in
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A954:
|
||
push [bp+var_2]
|
||
call palette_white_out
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A95F:
|
||
call sub_A815
|
||
mov word_124C4, 40h
|
||
cmp [bp+arg_0], 6Dh ; 'm'
|
||
jz short loc_A994
|
||
cmp [bp+arg_0], 6Bh ; 'k'
|
||
jnz short loc_A978
|
||
inc word_12478
|
||
|
||
loc_A978:
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz loc_ADB5 ; default
|
||
push [bp+var_2]
|
||
call frame_delay
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A994:
|
||
inc word_12478
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 6Bh ; 'k'
|
||
jnz short loc_A9AB
|
||
inc word_12478
|
||
|
||
loc_A9AB:
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
call sub_A713
|
||
cmp byte_1247E, 0
|
||
jnz loc_ADB5 ; default
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
call sub_D046
|
||
jmp loc_ACFF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A9D2:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 118
|
||
cmp byte ptr [bx], 70h ; 'p'
|
||
jz short loc_A9F2
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov ax, [bp+var_2]
|
||
mov word_124C0, ax
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_A9F2:
|
||
inc word_12478
|
||
mov word_124C4, 0
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA0E:
|
||
mov word_124C4, 64h ; 'd' ; jumptable 0000A876 case 116
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz short loc_AA2A
|
||
push 1
|
||
call frame_delay
|
||
|
||
loc_AA2A:
|
||
mov ax, [bp+var_2]
|
||
mov PaletteTone, ax
|
||
call far ptr palette_show
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA38:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 102
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 6Dh ; 'm'
|
||
jz short loc_AA83
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jz short loc_AA55
|
||
cmp [bp+arg_0], 6Fh ; 'o'
|
||
jnz loc_ADB5 ; default
|
||
|
||
loc_AA55:
|
||
inc word_12478
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp [bp+arg_0], 69h ; 'i'
|
||
jnz short loc_AA78
|
||
push [bp+var_2]
|
||
call palette_black_in
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA78:
|
||
push [bp+var_2]
|
||
call palette_black_out
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA83:
|
||
inc word_12478
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov ax, [bp+var_2]
|
||
add ax, 200h
|
||
push ax
|
||
jmp loc_AD26
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AA9F:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 103
|
||
cmp byte ptr [bx], 61h ; 'a'
|
||
jz short loc_AAF2
|
||
mov word_124C4, 8
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov [bp+var_4], 0
|
||
jmp short loc_AAE0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AABD:
|
||
test byte ptr [bp+var_4], 1
|
||
jz short loc_AAC7
|
||
push 4
|
||
jmp short loc_AACA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAC7:
|
||
push 18Ch
|
||
|
||
loc_AACA:
|
||
call graph_scrollup
|
||
cmp byte_1247E, 0
|
||
jnz short loc_AADD
|
||
push 1
|
||
call frame_delay
|
||
|
||
loc_AADD:
|
||
inc [bp+var_4]
|
||
|
||
loc_AAE0:
|
||
mov ax, [bp+var_4]
|
||
cmp ax, [bp+var_2]
|
||
jle short loc_AABD
|
||
push 0
|
||
call graph_scrollup
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AAF2:
|
||
inc word_12478
|
||
mov word_124C4, 0
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push word_124BC
|
||
push word_124BE
|
||
push [bp+var_2]
|
||
mov al, byte_124C2
|
||
mov ah, 0
|
||
push ax
|
||
call graph_gaiji_putc
|
||
call sub_A73B
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB26:
|
||
mov word_124C4, 0 ; jumptable 0000A876 case 107
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
cmp byte_1247E, 0
|
||
jnz loc_ADB5 ; default
|
||
push [bp+var_2]
|
||
call sub_CE7A
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB48:
|
||
mov dx, 0A6h ; '<27>' ; jumptable 0000A876 case 64
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AB61:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 112
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
inc word_12478
|
||
cmp [bp+arg_0], 3Dh ; '='
|
||
jz short loc_AB7A
|
||
cmp [bp+arg_0], 40h
|
||
jnz short loc_ABAA
|
||
|
||
loc_AB7A:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
cmp [bp+arg_0], 3Dh ; '='
|
||
jnz short loc_AB8D
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
|
||
loc_AB8D:
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
push 0
|
||
call graph_copy_page
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call sub_A4AE
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABAA:
|
||
cmp [bp+arg_0], 2Dh ; '-'
|
||
jnz short loc_ABC1
|
||
freePISlotLarge 0
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABC1:
|
||
cmp [bp+arg_0], 70h ; 'p'
|
||
jnz short loc_ABD1
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
jmp loc_AD2B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABD1:
|
||
cmp [bp+arg_0], 2Ch ; ','
|
||
jz short loc_ABDE
|
||
dec word_12478
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABDE:
|
||
mov [bp+var_2], 0
|
||
jmp short loc_AC12
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ABE5:
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
inc word_12478
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 20h
|
||
jnz short loc_AC18
|
||
cmp [bp+arg_0], 20h ; ' '
|
||
jz short loc_AC18
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov al, [bp+arg_0]
|
||
mov ss:[bx], al
|
||
inc [bp+var_2]
|
||
|
||
loc_AC12:
|
||
cmp [bp+var_2], 0Ch
|
||
jl short loc_ABE5
|
||
|
||
loc_AC18:
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov byte ptr ss:[bx], 0
|
||
freePISlotLarge 0
|
||
push 0
|
||
push ss
|
||
lea ax, [bp+var_16]
|
||
push ax
|
||
call pi_slot_load
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC3F:
|
||
mov word_124C4, 4 ; jumptable 0000A876 case 61
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 3Dh ; '='
|
||
jz short loc_AC94
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
cmp [bp+var_2], 4
|
||
jge short loc_AC70
|
||
jmp short loc_ACE0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC70:
|
||
push 0C00000h
|
||
call grcg_setcolor
|
||
push 140040h
|
||
push 3B0107h
|
||
call grcg_byteboxfill_x
|
||
mov dx, 7Ch ; '|'
|
||
mov al, 0
|
||
out dx, al
|
||
jmp short loc_ACF0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AC94:
|
||
inc word_12478
|
||
push ss
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
mov word_124C4, 1
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
call sub_A713
|
||
xor si, si
|
||
jmp short loc_ACCF
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ACB2:
|
||
push 0A00040h
|
||
push [bp+var_2]
|
||
push si
|
||
call sub_A37F
|
||
cmp byte_1247E, 0
|
||
jnz short loc_ACCE
|
||
push [bp+var_4]
|
||
call frame_delay
|
||
|
||
loc_ACCE:
|
||
inc si
|
||
|
||
loc_ACCF:
|
||
cmp si, 4
|
||
jl short loc_ACB2
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_ACE0:
|
||
push 0A00040h
|
||
push 0
|
||
push [bp+var_2]
|
||
call sub_CDAB
|
||
|
||
loc_ACF0:
|
||
mov dx, 0A4h
|
||
mov al, 0
|
||
out dx, al
|
||
push 0A00040h
|
||
call sub_A30A
|
||
|
||
loc_ACFF:
|
||
jmp loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD02:
|
||
mov bx, word_12478 ; jumptable 0000A876 case 109
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
cmp [bp+arg_0], 24h ; '$'
|
||
jnz short loc_AD1A
|
||
inc word_12478
|
||
push 100h
|
||
jmp short loc_AD26
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD1A:
|
||
cmp [bp+arg_0], 2Ah ; '*'
|
||
jnz short loc_AD2E
|
||
inc word_12478
|
||
|
||
loc_AD24:
|
||
push 0
|
||
|
||
loc_AD26:
|
||
call sub_CF8C
|
||
|
||
loc_AD2B:
|
||
; Hack
|
||
db 0e9h
|
||
db 087h
|
||
db 000h
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD2E:
|
||
cmp [bp+arg_0], 2Ch ; ','
|
||
; Hack
|
||
db 00fh
|
||
db 085h
|
||
db 07fh
|
||
db 000h
|
||
inc word_12478
|
||
mov [bp+var_2], 0
|
||
jmp short loc_AD6E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD41:
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+arg_0], al
|
||
inc word_12478
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 20h
|
||
jnz short loc_AD74
|
||
cmp [bp+arg_0], 20h ; ' '
|
||
jz short loc_AD74
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov al, [bp+arg_0]
|
||
mov ss:[bx], al
|
||
inc [bp+var_2]
|
||
|
||
loc_AD6E:
|
||
cmp [bp+var_2], 0Ch
|
||
jl short loc_AD41
|
||
|
||
loc_AD74:
|
||
lea bx, [bp+var_16]
|
||
add bx, [bp+var_2]
|
||
mov byte ptr ss:[bx], 0
|
||
push 100h
|
||
call sub_CF8C
|
||
push ss
|
||
lea ax, [bp+var_16]
|
||
push ax
|
||
push 600h
|
||
call sub_D112
|
||
jmp short loc_AD24
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AD95:
|
||
push ss ; jumptable 0000A876 case 101
|
||
lea ax, [bp+var_2]
|
||
push ax
|
||
call sub_A64D
|
||
call sub_D594
|
||
push [bp+var_2]
|
||
call sub_D5A0
|
||
call sub_D5DA
|
||
jmp short loc_ADB5 ; default
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADB1:
|
||
mov al, 0FFh ; jumptable 0000A876 case 36
|
||
jmp short loc_ADB7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_ADB5:
|
||
mov al, 0 ; default
|
||
|
||
loc_ADB7:
|
||
pop si
|
||
leave
|
||
retn 2
|
||
sub_A847 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
word_ADBC dw 24h, 3Dh, 40h, 62h
|
||
dw 63h, 65h, 66h, 67h ; value table for switch statement
|
||
dw 6Bh, 6Dh, 6Eh, 70h
|
||
dw 73h, 74h, 76h, 77h
|
||
dw offset loc_ADB1 ; jump table for switch statement
|
||
dw offset loc_AC3F
|
||
dw offset loc_AB48
|
||
dw offset loc_A8FC
|
||
dw offset loc_A8E5
|
||
dw offset loc_AD95
|
||
dw offset loc_AA38
|
||
dw offset loc_AA9F
|
||
dw offset loc_AB26
|
||
dw offset loc_AD02
|
||
dw offset loc_A87A
|
||
dw offset loc_AB61
|
||
dw offset loc_A88F
|
||
dw offset loc_AA0E
|
||
dw offset loc_A9D2
|
||
dw offset loc_A913
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_ADFC proc near
|
||
|
||
var_6 = dword ptr -6
|
||
var_1 = byte ptr -1
|
||
|
||
enter 6, 0
|
||
mov word ptr [bp+var_6+2], ds
|
||
mov word ptr [bp+var_6], 654h
|
||
mov word_124BC, 50h ; 'P'
|
||
mov word_124BE, 140h
|
||
mov word_124C0, 1
|
||
mov byte_124C2, 0Fh
|
||
mov word_EB2C, 2
|
||
call sub_A4AE
|
||
mov byte_1247E, 0
|
||
|
||
loc_AE2D:
|
||
call far ptr sub_D48A
|
||
test byte ptr word_10072+1, 10h
|
||
jz short loc_AE40
|
||
mov byte_1247E, 1
|
||
jmp short loc_AE45
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE40:
|
||
mov byte_1247E, 0
|
||
|
||
loc_AE45:
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
inc word_12478
|
||
mov ah, 0
|
||
mov bx, ax
|
||
test byte ptr [bx+0B69h], 20h
|
||
jnz short loc_AE2D
|
||
cmp [bp+var_1], 20h ; ' '
|
||
jz short loc_AE2D
|
||
cmp [bp+var_1], 5Ch
|
||
jnz short loc_AE82
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
inc word_12478
|
||
push word ptr [bp+var_1]
|
||
call sub_A847
|
||
cmp al, 0FFh
|
||
jnz short loc_AE2D
|
||
jmp short loc_AEC8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AE82:
|
||
les bx, [bp+var_6]
|
||
mov al, [bp+var_1]
|
||
mov es:[bx], al
|
||
mov bx, word_12478
|
||
mov al, [bx]
|
||
mov [bp+var_1], al
|
||
mov bx, word ptr [bp+var_6]
|
||
mov es:[bx+1], al
|
||
inc word_12478
|
||
mov dx, 0A4h
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push word_124BC
|
||
push word_124BE
|
||
mov al, byte_124C2
|
||
mov ah, 0
|
||
push ax
|
||
push word ptr [bp+var_6+2]
|
||
push bx
|
||
call far ptr loc_D1FC
|
||
call sub_A73B
|
||
jmp loc_AE2D
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEC8:
|
||
call sub_A59E
|
||
call sub_A57F
|
||
leave
|
||
retn
|
||
sub_ADFC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_AED0 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
or si, si
|
||
jnz short loc_AEF1
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
push ax
|
||
call sub_D356
|
||
jmp loc_B027
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_AEF1:
|
||
push 0C0000Fh
|
||
call grcg_setcolor
|
||
mov bx, 4
|
||
mov ax, si
|
||
cwd
|
||
idiv bx
|
||
mov si, ax
|
||
push [bp+arg_4]
|
||
push ax
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 0
|
||
call sub_D078
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
push [bp+arg_4]
|
||
push si
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 1
|
||
call sub_D078
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
push [bp+arg_4]
|
||
push si
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 2
|
||
call sub_D078
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
push [bp+arg_4]
|
||
push si
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _CosTable8[bx]
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
mov al, byte_124C7
|
||
mov ah, 0
|
||
add ax, ax
|
||
mov bx, ax
|
||
push _SinTable8[bx]
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 3
|
||
call sub_D078
|
||
mov al, byte_124C7
|
||
add al, 40h
|
||
mov byte_124C7, al
|
||
mov dx, 7Ch ; '|'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_B027:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_AED0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B02D proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
or si, si
|
||
jnz short loc_B04E
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
push ax
|
||
call sub_D356
|
||
jmp loc_B13E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B04E:
|
||
push 0C0000Fh
|
||
call grcg_setcolor
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov si, ax
|
||
push [bp+arg_4]
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+192
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+64
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 0
|
||
call sub_D078
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8+128
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _CosTable8
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 1
|
||
call sub_D078
|
||
push [bp+arg_4]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+448
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+320
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 2
|
||
call sub_D078
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8+384
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _CosTable8+256
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 3
|
||
call sub_D078
|
||
mov dx, 7Ch ; '|'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_B13E:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B02D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B144 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
or si, si
|
||
jnz short loc_B165
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
push ax
|
||
call sub_D356
|
||
jmp loc_B255
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B165:
|
||
push 0C0000Fh
|
||
call grcg_setcolor
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov si, ax
|
||
push [bp+arg_4]
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _SinTable8
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 0
|
||
call sub_D078
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _SinTable8
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 1
|
||
call sub_D078
|
||
push [bp+arg_4]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+256
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
push ax
|
||
push _CosTable8+128
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 2
|
||
call sub_D078
|
||
push [bp+arg_4]
|
||
push si
|
||
push _CosTable8+256
|
||
call sub_CED0
|
||
mov di, ax
|
||
push [bp+arg_2]
|
||
push si
|
||
push _CosTable8+128
|
||
call sub_CED0
|
||
mov [bp+var_2], ax
|
||
push di
|
||
push ax
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
inc ax
|
||
push ax
|
||
push 3
|
||
call sub_D078
|
||
mov dx, 7Ch ; '|'
|
||
mov al, 0
|
||
out dx, al
|
||
|
||
loc_B255:
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B144 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B25B proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
arg_8 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov si, [bp+arg_0]
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov si, ax
|
||
mov ax, [bp+arg_8]
|
||
sub ax, si
|
||
push ax
|
||
mov ax, [bp+arg_6]
|
||
sub ax, si
|
||
push ax
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, [bp+arg_4]
|
||
push ax
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, [bp+arg_2]
|
||
push ax
|
||
call sub_D6F6
|
||
pop si
|
||
pop bp
|
||
retn 0Ah
|
||
sub_B25B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B291 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
mov si, 3Fh ; '?'
|
||
mov [bp+var_2], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
jmp short loc_B30B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B2AF:
|
||
push di
|
||
push [bp+arg_0]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push word ptr [bx+1B48h]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push word ptr [bx+1B4Ah]
|
||
lea ax, [si+1]
|
||
push ax
|
||
call sub_B25B
|
||
dec si
|
||
mov al, byte_124C7
|
||
add al, 8
|
||
mov byte_124C7, al
|
||
push di
|
||
push [bp+arg_0]
|
||
push si
|
||
call fp_124C8
|
||
|
||
loc_B2E8:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_B2E8
|
||
mov vsync_Count1, 0
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
|
||
loc_B30B:
|
||
out dx, al
|
||
or si, si
|
||
jg short loc_B2AF
|
||
push [bp+var_2]
|
||
call graph_copy_page
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B291 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B31E proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
xor si, si
|
||
mov [bp+var_2], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
|
||
loc_B339:
|
||
out dx, al
|
||
push di
|
||
push [bp+arg_0]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push word ptr [bx+1B48h]
|
||
mov al, byte_124C6
|
||
mov ah, 0
|
||
shl ax, 4
|
||
mov bx, ax
|
||
push word ptr [bx+1B4Ah]
|
||
push si
|
||
call sub_B25B
|
||
inc si
|
||
mov al, byte_124C7
|
||
add al, 8
|
||
mov byte_124C7, al
|
||
cmp si, 40h
|
||
jge short loc_B39A
|
||
push di
|
||
push [bp+arg_0]
|
||
push si
|
||
call fp_124C8
|
||
|
||
loc_B375:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_B375
|
||
mov vsync_Count1, 0
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
jmp short loc_B339
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B39A:
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
push ax
|
||
call graph_copy_page
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_B31E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B3AC proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_6]
|
||
xor si, si
|
||
mov [bp+var_2], 0
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
mov al, 1
|
||
|
||
loc_B3C7:
|
||
out dx, al
|
||
push di
|
||
push [bp+arg_4]
|
||
push word_10098
|
||
push word_1009A
|
||
push si
|
||
call sub_B25B
|
||
push [bp+arg_2]
|
||
push [bp+arg_0]
|
||
push word_10078
|
||
push word_1007A
|
||
push si
|
||
call sub_B25B
|
||
inc si
|
||
mov al, byte_124C7
|
||
add al, 0F8h
|
||
mov byte_124C7, al
|
||
cmp si, 40h
|
||
jge short loc_B43B
|
||
mov byte_124C6, 2
|
||
push di
|
||
push [bp+arg_4]
|
||
push si
|
||
call fp_124C8
|
||
mov byte_124C6, 0
|
||
push [bp+arg_2]
|
||
push [bp+arg_0]
|
||
push si
|
||
call fp_124C8
|
||
|
||
loc_B416:
|
||
cmp vsync_Count1, 2
|
||
jb short loc_B416
|
||
mov vsync_Count1, 0
|
||
mov dx, 0A4h
|
||
mov al, byte ptr [bp+var_2]
|
||
out dx, al
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
mov [bp+var_2], ax
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, byte ptr [bp+var_2]
|
||
jmp short loc_B3C7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B43B:
|
||
mov ax, 1
|
||
sub ax, [bp+var_2]
|
||
push ax
|
||
call graph_copy_page
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B3AC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B44D proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
push ds
|
||
push offset aSff1_pi ; "sff1.pi"
|
||
call pi_slot_load
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_D626
|
||
push 100h
|
||
call sub_CF8C
|
||
push ds
|
||
push offset aStaff ; "staff"
|
||
push 600h
|
||
call sub_D112
|
||
push 0
|
||
call sub_CF8C
|
||
push 0Ch
|
||
call palette_black_in
|
||
push 0
|
||
push ds
|
||
push offset aSff1_cdg ; "sff1.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 1
|
||
push ds
|
||
push offset aSff1b_cdg ; "sff1b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 30040h
|
||
call sub_D046
|
||
mov byte_124C6, 0
|
||
mov fp_124C8, offset sub_AED0
|
||
push 16000A0h
|
||
call sub_B291
|
||
push 2
|
||
push ds
|
||
push offset aSff2_cdg ; "sff2.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 3
|
||
push ds
|
||
push offset aSff2b_cdg ; "sff2b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 700A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B02D
|
||
push 16000A0h
|
||
call sub_B31E
|
||
mov byte_124C6, 2
|
||
mov fp_124C8, offset sub_B144
|
||
push 0C00080h
|
||
call sub_B291
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov byte_124C6, 0
|
||
push 0
|
||
push ds
|
||
push offset aSff3_cdg ; "sff3.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 1
|
||
push ds
|
||
push offset aSff3b_cdg ; "sff3b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 0B00A0h
|
||
call sub_D046
|
||
push 12000C8h
|
||
call sub_B291
|
||
push 1300A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B02D
|
||
push 0C00080h
|
||
push 12000C8h
|
||
call sub_B3AC
|
||
push 4
|
||
call palette_black_out
|
||
call sub_D8CE
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
push ds
|
||
push offset aSff2_pi ; "sff2.pi"
|
||
call pi_slot_load
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
call sub_D626
|
||
push 4
|
||
call palette_black_in
|
||
push 2
|
||
push ds
|
||
push offset aSff4_cdg ; "sff4.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 3
|
||
push ds
|
||
push offset aSff4b_cdg ; "sff4b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 1700A0h
|
||
call sub_D046
|
||
mov byte_124C6, 2
|
||
mov fp_124C8, offset sub_B144
|
||
push 200070h
|
||
call sub_B291
|
||
push 2
|
||
call sub_D898
|
||
push 4
|
||
push ds
|
||
push offset aSff5_cdg ; "sff5.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 5
|
||
push ds
|
||
push offset aSff5b_cdg ; "sff5b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 1B00A0h
|
||
call sub_D046
|
||
mov byte_124C6, 4
|
||
mov fp_124C8, offset sub_B02D
|
||
push 2000B8h
|
||
call sub_B291
|
||
push 0
|
||
push ds
|
||
push offset aSff8_cdg ; "sff8.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 1
|
||
push ds
|
||
push offset aSff8b_cdg ; "sff8b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 1F00A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B144
|
||
push 2000B8h
|
||
call sub_B31E
|
||
mov byte_124C6, 0
|
||
push 4000B8h
|
||
call sub_B291
|
||
push 4
|
||
push ds
|
||
push offset aSff9_cdg ; "sff9.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 5
|
||
push ds
|
||
push offset aSff9b_cdg ; "sff9b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 2300A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_AED0
|
||
push 4000B8h
|
||
call sub_B31E
|
||
mov byte_124C6, 4
|
||
push 4000B8h
|
||
call sub_B291
|
||
push 0
|
||
push ds
|
||
push offset aSff6_cdg ; "sff6.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 1
|
||
push ds
|
||
push offset aSff6b_cdg ; "sff6b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
push 2700A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B02D
|
||
push 4000B8h
|
||
call sub_B31E
|
||
mov byte_124C6, 0
|
||
push 2000B8h
|
||
call sub_B291
|
||
push 2B00A0h
|
||
call sub_D046
|
||
mov fp_124C8, offset sub_B144
|
||
push 200070h
|
||
push 2000B8h
|
||
call sub_B3AC
|
||
push 0
|
||
push ds
|
||
push offset aSff7_cdg ; "sff7.cdg"
|
||
push 0
|
||
call sub_D77E
|
||
push 1
|
||
push ds
|
||
push offset aSff7b_cdg ; "sff7b.cdg"
|
||
push 0
|
||
call far ptr sub_D778
|
||
mov byte_124C6, 0
|
||
push 200150h
|
||
call sub_B291
|
||
push 3000A0h
|
||
call sub_D046
|
||
call sub_D6C4
|
||
call sub_D8CE
|
||
push 4
|
||
call palette_black_out
|
||
pop bp
|
||
retn
|
||
sub_B44D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B787 proc near
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = byte ptr -4
|
||
var_3 = byte ptr -3
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 6, 0
|
||
push si
|
||
xor si, si
|
||
mov [bp+var_4], 2
|
||
mov ax, [bp+arg_0]
|
||
mov bx, 64h ; 'd'
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+var_6], ax
|
||
mov ax, [bp+arg_0]
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+arg_0], dx
|
||
cmp byte_EC73, 0
|
||
jnz short loc_B7C5
|
||
or si, [bp+var_6]
|
||
or si, si
|
||
jz short loc_B7C1
|
||
mov al, byte ptr [bp+var_6]
|
||
add al, 0A0h
|
||
mov [bp+var_4], al
|
||
jmp short loc_B7C5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7C1:
|
||
mov [bp+var_4], 2
|
||
|
||
loc_B7C5:
|
||
mov ax, [bp+arg_0]
|
||
mov bx, 0Ah
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+var_6], ax
|
||
mov ax, [bp+arg_0]
|
||
xor dx, dx
|
||
div bx
|
||
mov [bp+arg_0], dx
|
||
or si, [bp+var_6]
|
||
mov al, byte_EC73
|
||
mov ah, 0
|
||
or si, ax
|
||
or si, si
|
||
jz short loc_B7F4
|
||
mov al, byte ptr [bp+var_6]
|
||
add al, 0A0h
|
||
mov [bp+var_3], al
|
||
jmp short loc_B7F8
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B7F4:
|
||
mov [bp+var_3], 2
|
||
|
||
loc_B7F8:
|
||
mov al, byte ptr [bp+arg_0]
|
||
add al, 0A0h
|
||
mov [bp+var_2], al
|
||
mov [bp+var_1], 0
|
||
push [bp+arg_4]
|
||
push [bp+arg_2]
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_4]
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_B787 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B81D proc near
|
||
|
||
var_C = byte ptr -0Ch
|
||
var_4 = byte ptr -4
|
||
var_2 = byte ptr -2
|
||
var_1 = byte ptr -1
|
||
|
||
enter 0Ch, 0
|
||
push si
|
||
mov [bp+var_2], 0
|
||
xor si, si
|
||
jmp short loc_B851
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B82A:
|
||
mov ax, 7
|
||
sub ax, si
|
||
les bx, dword_F3CE
|
||
add bx, ax
|
||
mov al, es:[bx+1Dh]
|
||
mov [bp+var_1], al
|
||
or [bp+var_2], al
|
||
cmp [bp+var_2], 0
|
||
jz short loc_B84C
|
||
add al, 0A0h
|
||
mov [bp+si+var_C], al
|
||
jmp short loc_B850
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B84C:
|
||
mov [bp+si+var_C], 2
|
||
|
||
loc_B850:
|
||
inc si
|
||
|
||
loc_B851:
|
||
cmp si, 8
|
||
jl short loc_B82A
|
||
mov [bp+var_4], 0
|
||
push 0A00060h
|
||
push 10h
|
||
push ss
|
||
lea ax, [bp+var_C]
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
mov [bp+var_2], 1
|
||
push 1200060h
|
||
push 0Eh
|
||
push ds
|
||
push offset aU_ ; "<22>_"
|
||
call far ptr loc_D1FC
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_B81D endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B886 proc near
|
||
|
||
var_6 = dword ptr -6
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_6]
|
||
mov di, [bp+arg_4]
|
||
cmp [bp+arg_2], 0
|
||
jz short loc_B8A2
|
||
mov [bp+var_6], 0F4240h
|
||
jmp short loc_B8AA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8A2:
|
||
mov [bp+var_6], 0
|
||
|
||
loc_B8AA:
|
||
mov ax, [bp+arg_2]
|
||
cmp ax, [bp+arg_0]
|
||
jz short loc_B8E3
|
||
cmp [bp+arg_2], 0
|
||
jz short loc_B8CD
|
||
movzx ebx, [bp+arg_2]
|
||
mov eax, [bp+var_6]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_6], eax
|
||
jmp short loc_B8D5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8CD:
|
||
mov [bp+var_6], 0
|
||
|
||
loc_B8D5:
|
||
movzx eax, [bp+arg_0]
|
||
imul eax, [bp+var_6]
|
||
mov [bp+var_6], eax
|
||
|
||
loc_B8E3:
|
||
cmp byte_EC4A, 0
|
||
jnz short loc_B8F4
|
||
mov eax, dword_124CE
|
||
add eax, [bp+var_6]
|
||
jmp short loc_B8FC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_B8F4:
|
||
mov eax, dword_124CE
|
||
sub eax, [bp+var_6]
|
||
|
||
loc_B8FC:
|
||
mov dword_124CE, eax
|
||
mov eax, [bp+var_6]
|
||
mov ebx, 2710h
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
push si
|
||
push di
|
||
push ax
|
||
call sub_B787
|
||
mov ebx, 2710h
|
||
mov eax, [bp+var_6]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_6], edx
|
||
mov eax, [bp+var_6]
|
||
mov ebx, 64h ; 'd'
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
mov byte_EC73, 1
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push [bp+var_2]
|
||
call sub_B787
|
||
mov byte_EC73, 0
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push 0Eh
|
||
push ds
|
||
push offset aBd ; "<22>D"
|
||
call far ptr loc_D1FC
|
||
lea ax, [si+60h]
|
||
push ax
|
||
push di
|
||
push 0Eh
|
||
push ds
|
||
push offset aBu ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B886 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B97B proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = dword ptr 4
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_6]
|
||
mov di, [bp+arg_4]
|
||
mov eax, [bp+arg_0]
|
||
mov ebx, 2710h
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
push si
|
||
push di
|
||
push ax
|
||
call sub_B787
|
||
mov ebx, 2710h
|
||
mov eax, [bp+arg_0]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+arg_0], edx
|
||
mov eax, [bp+arg_0]
|
||
mov ebx, 64h ; 'd'
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_2], ax
|
||
mov byte_EC73, 1
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push [bp+var_2]
|
||
call sub_B787
|
||
mov byte_EC73, 0
|
||
lea ax, [si+30h]
|
||
push ax
|
||
push di
|
||
push 0Eh
|
||
push ds
|
||
push offset aBd_0 ; "<22>D"
|
||
call far ptr loc_D1FC
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_B97B endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_B9F2 proc near
|
||
|
||
var_8 = dword ptr -8
|
||
var_4 = dword ptr -4
|
||
|
||
enter 8, 0
|
||
les bx, dword_F3CE
|
||
mov eax, es:[bx+14h]
|
||
mov random_seed, eax
|
||
mov al, es:[bx+0Ch]
|
||
mov ah, 0
|
||
dec ax
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja short loc_BA52
|
||
add bx, bx
|
||
jmp cs:off_BB75[bx]
|
||
|
||
loc_BA18:
|
||
mov [bp+var_4], 9C4h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA22:
|
||
mov [bp+var_4], 7D0h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA2C:
|
||
mov [bp+var_4], 5DCh
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA36:
|
||
mov [bp+var_4], 3E8h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA40:
|
||
mov [bp+var_4], 1F4h
|
||
jmp short loc_BA52
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA4A:
|
||
mov [bp+var_4], 0
|
||
|
||
loc_BA52:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Eh]
|
||
mov ah, 0
|
||
or ax, ax
|
||
jz short loc_BA67
|
||
cmp ax, 1
|
||
jz short loc_BA71
|
||
jmp short loc_BA79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA67:
|
||
add [bp+var_4], 9C4h
|
||
jmp short loc_BA79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BA71:
|
||
add [bp+var_4], 5DCh
|
||
|
||
loc_BA79:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+49h], 0
|
||
jz short loc_BA8C
|
||
add [bp+var_4], 7D0h
|
||
|
||
loc_BA8C:
|
||
les bx, dword_F3CE
|
||
cmp word ptr es:[bx+38h], 0
|
||
jz short loc_BAA5
|
||
mov ax, es:[bx+38h]
|
||
add ax, ax
|
||
movzx eax, ax
|
||
add [bp+var_4], eax
|
||
|
||
loc_BAA5:
|
||
mov [bp+var_8], 0F4240h
|
||
les bx, dword_F3CE
|
||
mov ax, es:[bx+28h]
|
||
cmp ax, es:[bx+2Ah]
|
||
jz short loc_BAF3
|
||
cmp word ptr es:[bx+28h], 0
|
||
jz short loc_BAD8
|
||
movzx ebx, word ptr es:[bx+28h]
|
||
mov eax, [bp+var_8]
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_8], eax
|
||
jmp short loc_BAE0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BAD8:
|
||
mov [bp+var_8], 0
|
||
|
||
loc_BAE0:
|
||
les bx, dword_F3CE
|
||
movzx eax, word ptr es:[bx+2Ah]
|
||
imul eax, [bp+var_8]
|
||
mov [bp+var_8], eax
|
||
|
||
loc_BAF3:
|
||
mov eax, 0F4240h
|
||
sub eax, [bp+var_8]
|
||
mov [bp+var_8], eax
|
||
mov ebx, 64h ; 'd'
|
||
xor edx, edx
|
||
div ebx
|
||
mov [bp+var_8], eax
|
||
cmp [bp+var_8], 0
|
||
jz short loc_BB2A
|
||
call IRand
|
||
cwde
|
||
xor edx, edx
|
||
div [bp+var_8]
|
||
add [bp+var_4], edx
|
||
|
||
loc_BB2A:
|
||
mov eax, [bp+var_4]
|
||
imul eax, 64h
|
||
mov [bp+var_4], eax
|
||
cmp [bp+var_4], 0F4240h
|
||
jbe short loc_BB48
|
||
mov [bp+var_4], 0F4240h
|
||
|
||
loc_BB48:
|
||
mov eax, dword_124CE
|
||
add eax, [bp+var_4]
|
||
mov dword_124CE, eax
|
||
push 0C00108h
|
||
pushd [bp+var_4]
|
||
call sub_B97B
|
||
push 1200108h
|
||
push 0Eh
|
||
push ds
|
||
push offset aBu_0 ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
leave
|
||
retn
|
||
sub_B9F2 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_BB75 dw offset loc_BA18
|
||
dw offset loc_BA22
|
||
dw offset loc_BA2C
|
||
dw offset loc_BA36
|
||
dw offset loc_BA40
|
||
dw offset loc_BA4A
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_BB81 proc near
|
||
|
||
var_4 = dword ptr -4
|
||
|
||
enter 4, 0
|
||
push si
|
||
mov word_EB2C, 2
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
out dx, al
|
||
push 100030h
|
||
push 0Fh
|
||
push ds
|
||
push offset aB@b@b@b@b@b@b@ ; "<22>@<40>@<40>@<40>@<40>@<40>@<40>@ <20>r<EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100048h
|
||
push 0Fh
|
||
push ds
|
||
push offset aUqiUx ; "<22><><EFBFBD>Փx"
|
||
call far ptr loc_D1FC
|
||
push 100060h
|
||
push 0Fh
|
||
push ds
|
||
push offset aNPiuU_ ; "<22>ŏI<C58F><49><EFBFBD>_"
|
||
call far ptr loc_D1FC
|
||
push 100078h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGGxi ; "<22>~<7E>X<EFBFBD><58><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100090h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGGaogcpi ; "<22>{<7B><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000A8h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGqbGatbrmcj ; "<22>Q<EFBFBD>[<5B><><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000C0h
|
||
push 0Fh
|
||
push ds
|
||
push offset aIlcSObcj ; "<22><><EFBFBD><EFBFBD><EFBFBD>ގ<EFBFBD><DE8E><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000D8h
|
||
push 0Fh
|
||
push ds
|
||
push offset aGagcgegai ; "<22>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 1000F0h
|
||
push 0Fh
|
||
push ds
|
||
push offset aUU_gagcgeganNv ; "<22><><EFBFBD>_<EFBFBD>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD>ō<EFBFBD><C58D>_<EFBFBD><5F>"
|
||
call far ptr loc_D1FC
|
||
push 100108h
|
||
push 0Fh
|
||
push ds
|
||
push offset aLcnzvv ; "<22>C<EFBFBD><43><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100120h
|
||
push 0Fh
|
||
push ds
|
||
push offset aPicacovCj ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
call far ptr loc_D1FC
|
||
push 100150h
|
||
push 0Fh
|
||
push ds
|
||
push offset aVavVVSrso ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O"
|
||
call far ptr loc_D1FC
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_BC71
|
||
mov al, 4
|
||
jmp short loc_BC79
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BC71:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Fh]
|
||
|
||
loc_BC79:
|
||
mov byte_124D2, al
|
||
push 0B00048h
|
||
push 10h
|
||
push ds
|
||
mov ah, 0
|
||
shl ax, 3
|
||
add ax, offset grEASY
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
call sub_B81D
|
||
push 0F00078h
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+31h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_B787
|
||
push 0F00090h
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+32h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_B787
|
||
push 1200078h
|
||
push 0Eh
|
||
push ds
|
||
push offset aTimes ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
push 1200090h
|
||
push 0Eh
|
||
push ds
|
||
push offset aTimes_0 ; "<22><>"
|
||
call far ptr loc_D1FC
|
||
mov byte_124CC, 1
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jz short loc_BD0A
|
||
cmp byte ptr es:[bx+30h], 0FFh
|
||
jnz short loc_BCFF
|
||
mov word ptr es:[bx+26h], 0ABE0h
|
||
|
||
loc_BCFF:
|
||
push 0C000A8h
|
||
push 0ABE0h
|
||
jmp short loc_BD24
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BD0A:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jnz short loc_BD1B
|
||
mov word ptr es:[bx+26h], 2EE0h
|
||
|
||
loc_BD1B:
|
||
push 0C000A8h
|
||
push 2EE0h
|
||
|
||
loc_BD24:
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+26h]
|
||
call sub_B886
|
||
mov byte_124CC, 0
|
||
push 0C000C0h
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+34h]
|
||
push word ptr es:[bx+36h]
|
||
call sub_B886
|
||
push 0C000D8h
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+28h]
|
||
push word ptr es:[bx+2Ah]
|
||
call sub_B886
|
||
push 0C000F0h
|
||
les bx, dword_F3CE
|
||
push word ptr es:[bx+2Ch]
|
||
push word ptr es:[bx+2Eh]
|
||
call sub_B886
|
||
call sub_B9F2
|
||
push 0C00120h
|
||
les bx, dword_F3CE
|
||
mov eax, es:[bx+44h]
|
||
mov ebx, 0Ah
|
||
xor edx, edx
|
||
div ebx
|
||
push ax
|
||
mov bx, word ptr dword_F3CE
|
||
mov eax, es:[bx+40h]
|
||
mov ebx, 0Ah
|
||
xor edx, edx
|
||
div ebx
|
||
push ax
|
||
call sub_B886
|
||
mov ebx, 5
|
||
mov eax, dword_124CE
|
||
cdq
|
||
idiv ebx
|
||
mov dword_124CE, eax
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+24h], 9
|
||
jb short loc_BDD4
|
||
add dword_124CE, 927C0h
|
||
jmp short loc_BE08
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BDD4:
|
||
les bx, dword_F3CE
|
||
movzx eax, byte ptr es:[bx+23h]
|
||
imul eax, 2710h
|
||
add dword_124CE, eax
|
||
cmp byte ptr es:[bx+24h], 3
|
||
jbe short loc_BE08
|
||
mov al, es:[bx+24h]
|
||
mov ah, 0
|
||
add ax, 0FFFDh
|
||
cwde
|
||
imul eax, 186A0h
|
||
add dword_124CE, eax
|
||
|
||
loc_BE08:
|
||
mov al, byte_124D2
|
||
mov ah, 0
|
||
mov bx, ax
|
||
cmp bx, 4
|
||
ja short loc_BE6F
|
||
add bx, bx
|
||
jmp cs:off_C0EE[bx]
|
||
|
||
loc_BE1B:
|
||
sub dword_124CE, 0C350h
|
||
mov [bp+var_4], 0C3500h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE2E:
|
||
mov [bp+var_4], 0F4240h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE38:
|
||
add dword_124CE, 249F0h
|
||
mov [bp+var_4], 124F80h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE4B:
|
||
add dword_124CE, 493E0h
|
||
mov [bp+var_4], 155CC0h
|
||
jmp short loc_BE6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE5E:
|
||
add dword_124CE, 6DDD0h
|
||
mov [bp+var_4], 16E360h
|
||
|
||
loc_BE6F:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Ch]
|
||
mov ah, 0
|
||
dec ax
|
||
mov bx, ax
|
||
cmp bx, 5
|
||
ja short loc_BECA
|
||
add bx, bx
|
||
jmp cs:off_C0E2[bx]
|
||
|
||
loc_BE88:
|
||
add dword_124CE, 0C350h
|
||
add [bp+var_4], 186A0h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BE9B:
|
||
add dword_124CE, 61A8h
|
||
add [bp+var_4], 0C350h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEAE:
|
||
sub [bp+var_4], 61A8h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEB8:
|
||
sub [bp+var_4], 0C350h
|
||
jmp short loc_BECA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEC2:
|
||
sub [bp+var_4], 124F8h
|
||
|
||
loc_BECA:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Eh]
|
||
mov ah, 0
|
||
or ax, ax
|
||
jz short loc_BEDF
|
||
cmp ax, 1
|
||
jz short loc_BEF2
|
||
jmp short loc_BF03
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEDF:
|
||
add dword_124CE, 0C350h
|
||
add [bp+var_4], 186A0h
|
||
jmp short loc_BF03
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BEF2:
|
||
add dword_124CE, 4E20h
|
||
add [bp+var_4], 0C350h
|
||
|
||
loc_BF03:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+49h], 0
|
||
jnz short loc_BF17
|
||
sub dword_124CE, 186A0h
|
||
|
||
loc_BF17:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+31h], 0Fh
|
||
jb short loc_BF2D
|
||
sub dword_124CE, 493E0h
|
||
jmp short loc_BF43
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF2D:
|
||
les bx, dword_F3CE
|
||
movzx eax, byte ptr es:[bx+31h]
|
||
imul eax, 4E20h
|
||
sub dword_124CE, eax
|
||
|
||
loc_BF43:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+32h], 1Eh
|
||
jb short loc_BF59
|
||
sub dword_124CE, 15F90h
|
||
jmp short loc_BF6F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF59:
|
||
les bx, dword_F3CE
|
||
movzx eax, byte ptr es:[bx+32h]
|
||
imul eax, 0BB8h
|
||
sub dword_124CE, eax
|
||
|
||
loc_BF6F:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jnb short loc_BFA1
|
||
cmp byte_124D2, 4
|
||
jz short loc_BF96
|
||
mov ebx, 2
|
||
mov eax, dword_124CE
|
||
cdq
|
||
idiv ebx
|
||
mov dword_124CE, eax
|
||
jmp short loc_BFB4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BF96:
|
||
sub dword_124CE, 30D40h
|
||
jmp short loc_BFB4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFA1:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FEh
|
||
jnz short loc_BFB4
|
||
sub [bp+var_4], 186A0h
|
||
|
||
loc_BFB4:
|
||
cmp dword_124CE, 0
|
||
jge short loc_BFC7
|
||
mov dword_124CE, 0
|
||
jmp short loc_BFD9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_BFC7:
|
||
mov eax, dword_124CE
|
||
cmp eax, [bp+var_4]
|
||
jbe short loc_BFD9
|
||
mov eax, [bp+var_4]
|
||
mov dword_124CE, eax
|
||
|
||
loc_BFD9:
|
||
les bx, dword_F3CE
|
||
mov eax, es:[bx+44h]
|
||
shr eax, 1
|
||
cmp eax, es:[bx+40h]
|
||
jbe loc_C0AE
|
||
push 0C00150h
|
||
pushd [dword_124CE]
|
||
call sub_B97B
|
||
push 1200150h
|
||
push 0Eh
|
||
push ds
|
||
push offset aPoint ; "<22>_"
|
||
call far ptr loc_D1FC
|
||
push ds
|
||
push offset a_ude_txt ; "_ude.txt"
|
||
call file_ropen
|
||
cmp dword_124CE, 16E360h
|
||
jge short loc_C084
|
||
cmp dword_124CE, 0
|
||
jnz short loc_C02E
|
||
mov si, 19h
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C02E:
|
||
cmp dword_124CE, 100590h
|
||
jge short loc_C051
|
||
mov eax, dword_124CE
|
||
mov ebx, 0C350h
|
||
cdq
|
||
idiv ebx
|
||
mov dx, 18h
|
||
sub dx, ax
|
||
mov si, dx
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C051:
|
||
cmp dword_124CE, 124F80h
|
||
jge short loc_C061
|
||
mov si, 3
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C061:
|
||
cmp dword_124CE, 149970h
|
||
jge short loc_C071
|
||
mov si, 2
|
||
jmp short loc_C074
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C071:
|
||
mov si, 1
|
||
|
||
loc_C074:
|
||
mov ax, si
|
||
imul ax, 1Eh
|
||
cwde
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
|
||
loc_C084:
|
||
push ds
|
||
push offset unk_124D3
|
||
push 1Eh
|
||
call file_read
|
||
mov byte_124EF, 0
|
||
call file_close
|
||
push 40h
|
||
call frame_delay
|
||
push 400168h
|
||
push 0Fh
|
||
push ds
|
||
push offset unk_124D3
|
||
jmp short loc_C0CB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C0AE:
|
||
push 0C00150h
|
||
push 0Eh
|
||
push ds
|
||
push offset aBhbhbhbhbhbhu_ ; "<22>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>_"
|
||
call far ptr loc_D1FC
|
||
push 400168h
|
||
push 0Fh
|
||
push ds
|
||
push offset aPicacovVVcvsfT ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982>锻<EFBFBD><E994BB><EFBFBD>s<EFBFBD><73>"
|
||
|
||
loc_C0CB:
|
||
call far ptr loc_D1FC
|
||
push 0
|
||
call sub_CE7A
|
||
push 2
|
||
call palette_black_out
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_BB81 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
off_C0E2 dw offset loc_BE88
|
||
dw offset loc_BE9B
|
||
dw offset loc_BECA
|
||
dw offset loc_BEAE
|
||
dw offset loc_BEB8
|
||
dw offset loc_BEC2
|
||
off_C0EE dw offset loc_BE1B
|
||
dw offset loc_BE2E
|
||
dw offset loc_BE38
|
||
dw offset loc_BE4B
|
||
dw offset loc_BE5E
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C0F8 proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
push ds
|
||
push offset aUde_pi ; "ude.pi"
|
||
call pi_slot_load
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push 4
|
||
call palette_black_in
|
||
call sub_BB81
|
||
pop bp
|
||
retn
|
||
sub_C0F8 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C149 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov si, 4
|
||
jmp short loc_C176
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C153:
|
||
mov al, [si+3FC3h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_124F3
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
mov al, [si+3FC2h]
|
||
mov dl, byte_124F2
|
||
add dl, [bp+var_1]
|
||
add al, dl
|
||
mov [si+3FC2h], al
|
||
inc si
|
||
|
||
loc_C176:
|
||
cmp si, 0C3h
|
||
jl short loc_C153
|
||
mov al, byte_124F2
|
||
add [si+3FC2h], al
|
||
xor cx, cx
|
||
mov si, 4
|
||
jmp short loc_C193
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C18A:
|
||
mov al, [si+3FC2h]
|
||
mov ah, 0
|
||
add cx, ax
|
||
inc si
|
||
|
||
loc_C193:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C18A
|
||
mov al, byte ptr word_124F4
|
||
sub al, cl
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C149 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C1A1 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
mov word_124F4, 0
|
||
mov si, 4
|
||
jmp short loc_C1BC
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1B1:
|
||
mov al, [si+3FC2h]
|
||
mov ah, 0
|
||
add word_124F4, ax
|
||
inc si
|
||
|
||
loc_C1BC:
|
||
cmp si, 0C4h ; '<27>'
|
||
jl short loc_C1B1
|
||
call IRand
|
||
mov byte_124F2, al
|
||
call IRand
|
||
mov byte_124F3, al
|
||
mov [bp+var_1], 0
|
||
mov si, 0C3h
|
||
jmp short loc_C1FE
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C1DB:
|
||
mov al, [si+3FC2h]
|
||
mov dl, byte_124F2
|
||
add dl, [bp+var_1]
|
||
sub al, dl
|
||
mov [si+3FC2h], al
|
||
mov al, [si+3FC2h]
|
||
mov [bp+var_1], al
|
||
mov al, byte_124F3
|
||
ror [bp+var_1], 3
|
||
xor [bp+var_1], al
|
||
dec si
|
||
|
||
loc_C1FE:
|
||
cmp si, 4
|
||
jge short loc_C1DB
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C1A1 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C206 proc near
|
||
|
||
var_1 = byte ptr -1
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov [bp+var_1], 0A9h ; '<27>'
|
||
xor si, si
|
||
jmp short loc_C27A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C214:
|
||
mov byte_125A0, 19h
|
||
xor di, di
|
||
jmp short loc_C228
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C21D:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov byte ptr [bx+di+4020h], 0A0h
|
||
inc di
|
||
|
||
loc_C228:
|
||
cmp di, 8
|
||
jl short loc_C21D
|
||
or si, si
|
||
jnz short loc_C23D
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov byte ptr [bx+4025h], 0A1h ; '<27>'
|
||
jmp short loc_C24C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C23D:
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bp+var_1]
|
||
mov [bx+4024h], al
|
||
dec [bp+var_1]
|
||
|
||
loc_C24C:
|
||
mov ax, si
|
||
cwd
|
||
sub ax, dx
|
||
sar ax, 1
|
||
mov dl, 0A5h ; '<27>'
|
||
sub dl, al
|
||
mov [si+4072h], dl
|
||
xor di, di
|
||
jmp short loc_C26A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C25F:
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov byte ptr [bx+di+3FC6h], 0C4h ; '<27>'
|
||
inc di
|
||
|
||
loc_C26A:
|
||
cmp di, 8
|
||
jl short loc_C25F
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov byte ptr [bx+3FCEh], 0
|
||
inc si
|
||
|
||
loc_C27A:
|
||
cmp si, 0Ah
|
||
jl short loc_C214
|
||
push ds
|
||
push offset aGensou_scr ; "GENSOU.SCR"
|
||
call file_create
|
||
xor si, si
|
||
jmp short loc_C29F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C28C:
|
||
call sub_C1A1
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
call sub_C149
|
||
inc si
|
||
|
||
loc_C29F:
|
||
cmp si, 0Ah
|
||
jl short loc_C28C
|
||
call file_close
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C206 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C2AD proc near
|
||
|
||
arg_0 = byte ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push ds
|
||
push offset aGensou_scr_0 ; "GENSOU.SCR"
|
||
call file_exist
|
||
or ax, ax
|
||
jz short loc_C307
|
||
push ds
|
||
push offset aGensou_scr_1 ; "GENSOU.SCR"
|
||
call file_ropen
|
||
mov al, byte_125B7
|
||
mov ah, 0
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
cmp [bp+arg_0], 0
|
||
jz short loc_C2EF
|
||
pushd 3D4h
|
||
push 1
|
||
call file_seek
|
||
|
||
loc_C2EF:
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_read
|
||
call file_close
|
||
call sub_C149
|
||
or al, al
|
||
jz short loc_C310
|
||
|
||
loc_C307:
|
||
call sub_C206
|
||
mov al, 1
|
||
pop bp
|
||
retn 2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C310:
|
||
mov al, 0
|
||
pop bp
|
||
retn 2
|
||
sub_C2AD endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C316 proc near
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
call sub_C1A1
|
||
push ds
|
||
push offset aGensou_scr_2 ; "GENSOU.SCR"
|
||
call file_append
|
||
mov al, byte_125B7
|
||
mov ah, 0
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
cmp byte ptr word_125B8, 0
|
||
jz short loc_C350
|
||
pushd 3D4h
|
||
push 1
|
||
call file_seek
|
||
|
||
loc_C350:
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
xor si, si
|
||
jmp short loc_C3A5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C360:
|
||
mov ax, si
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_read
|
||
call sub_C149
|
||
call sub_C1A1
|
||
mov ax, si
|
||
imul ax, 0C4h
|
||
movzx eax, ax
|
||
push eax
|
||
push 0
|
||
call file_seek
|
||
push ds
|
||
push offset byte_124F2
|
||
push 0C4h ; '<27>'
|
||
call file_write
|
||
inc si
|
||
|
||
loc_C3A5:
|
||
cmp si, 0Ah
|
||
jl short loc_C360
|
||
call file_close
|
||
pop si
|
||
pop bp
|
||
retn
|
||
sub_C316 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C3B2 proc near
|
||
|
||
var_2 = word ptr -2
|
||
|
||
enter 2, 0
|
||
mov [bp+var_2], 9
|
||
jmp short loc_C40E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3BD:
|
||
mov cx, 7
|
||
jmp short loc_C407
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C3C2:
|
||
les bx, dword_F3CE
|
||
add bx, cx
|
||
mov al, es:[bx+1Dh]
|
||
mov ah, 0
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov dl, [bx+4020h]
|
||
mov dh, 0
|
||
add dx, 0FF60h
|
||
cmp ax, dx
|
||
jg short loc_C40B
|
||
les bx, dword_F3CE
|
||
add bx, cx
|
||
mov al, es:[bx+1Dh]
|
||
mov ah, 0
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov dl, [bx+4020h]
|
||
mov dh, 0
|
||
add dx, 0FF60h
|
||
cmp ax, dx
|
||
jl short loc_C41B
|
||
dec cx
|
||
|
||
loc_C407:
|
||
or cx, cx
|
||
jge short loc_C3C2
|
||
|
||
loc_C40B:
|
||
dec [bp+var_2]
|
||
|
||
loc_C40E:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_C3BD
|
||
mov byte_125B6, 0
|
||
jmp short loc_C430
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C41B:
|
||
cmp [bp+var_2], 9
|
||
jnz short loc_C428
|
||
mov byte_125B6, 0FFh
|
||
leave
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C428:
|
||
mov al, byte ptr [bp+var_2]
|
||
inc al
|
||
mov byte_125B6, al
|
||
|
||
loc_C430:
|
||
mov [bp+var_2], 8
|
||
jmp short loc_C489
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C437:
|
||
mov cx, 7
|
||
jmp short loc_C455
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C43C:
|
||
mov bx, [bp+var_2]
|
||
imul bx, 9
|
||
add bx, cx
|
||
mov al, [bx+3FC6h]
|
||
mov bx, [bp+var_2]
|
||
imul bx, 9
|
||
add bx, cx
|
||
mov [bx+3FCFh], al
|
||
dec cx
|
||
|
||
loc_C455:
|
||
or cx, cx
|
||
jge short loc_C43C
|
||
mov cx, 7
|
||
jmp short loc_C477
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C45E:
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov al, [bx+4020h]
|
||
mov bx, [bp+var_2]
|
||
shl bx, 3
|
||
add bx, cx
|
||
mov [bx+4028h], al
|
||
dec cx
|
||
|
||
loc_C477:
|
||
or cx, cx
|
||
jge short loc_C45E
|
||
mov bx, [bp+var_2]
|
||
mov al, [bx+4072h]
|
||
mov [bx+4073h], al
|
||
dec [bp+var_2]
|
||
|
||
loc_C489:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, [bp+var_2]
|
||
jle short loc_C437
|
||
mov cx, 7
|
||
jmp short loc_C4AA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C498:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
add ax, cx
|
||
mov bx, ax
|
||
mov byte ptr [bx+3FC6h], 0C4h ; '<27>'
|
||
dec cx
|
||
|
||
loc_C4AA:
|
||
or cx, cx
|
||
jge short loc_C498
|
||
mov cx, 7
|
||
jmp short loc_C4D1
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4B3:
|
||
les bx, dword_F3CE
|
||
add bx, cx
|
||
mov al, es:[bx+1Dh]
|
||
add al, 0A0h
|
||
mov dl, byte_125B6
|
||
mov dh, 0
|
||
shl dx, 3
|
||
add dx, cx
|
||
mov bx, dx
|
||
mov [bx+4020h], al
|
||
dec cx
|
||
|
||
loc_C4D1:
|
||
or cx, cx
|
||
jge short loc_C4B3
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jb short loc_C4EE
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
mov bx, ax
|
||
mov byte ptr [bx+4072h], 0E9h
|
||
leave
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C4EE:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+11h]
|
||
add al, 0A1h ; '<27>'
|
||
mov dl, byte_125B6
|
||
mov dh, 0
|
||
mov bx, dx
|
||
mov [bx+4072h], al
|
||
leave
|
||
retn
|
||
sub_C3B2 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C506 proc near
|
||
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 4, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
or si, si
|
||
jnz short loc_C518
|
||
mov ax, 60h
|
||
jmp short loc_C520
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C518:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
|
||
loc_C520:
|
||
mov [bp+var_4], ax
|
||
cmp [bp+arg_0], 0
|
||
jnz short loc_C52E
|
||
mov ax, 0ACh ; '<27>'
|
||
jmp short loc_C531
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C52E:
|
||
mov ax, 1E0h
|
||
|
||
loc_C531:
|
||
mov di, ax
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C549
|
||
mov al, [bp+arg_0]
|
||
cmp al, byte ptr word_125B8
|
||
jnz short loc_C549
|
||
mov al, 0Ah
|
||
jmp short loc_C54B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C549:
|
||
mov al, 0
|
||
|
||
loc_C54B:
|
||
mov [bp+arg_0], al
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+4027h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
cmp ax, 0Ah
|
||
jl short loc_C589
|
||
lea ax, [di-20h]
|
||
push ax
|
||
push [bp+var_4]
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+4027h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
mov dl, [bp+arg_0]
|
||
mov dh, 0
|
||
add ax, dx
|
||
push ax
|
||
call super_put
|
||
|
||
loc_C589:
|
||
lea ax, [di-10h]
|
||
push ax
|
||
push [bp+var_4]
|
||
mov bx, si
|
||
shl bx, 3
|
||
mov al, [bx+4027h]
|
||
mov ah, 0
|
||
add ax, 0FF60h
|
||
mov bx, 0Ah
|
||
cwd
|
||
idiv bx
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
add dx, ax
|
||
push dx
|
||
call super_put
|
||
mov [bp+var_2], 6
|
||
jmp short loc_C5E0
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C5B8:
|
||
push di
|
||
push [bp+var_4]
|
||
mov bx, si
|
||
shl bx, 3
|
||
add bx, [bp+var_2]
|
||
mov al, [bx+4020h]
|
||
mov ah, 0
|
||
mov dl, [bp+arg_0]
|
||
mov dh, 0
|
||
add ax, dx
|
||
add ax, 0FF60h
|
||
push ax
|
||
call super_put
|
||
dec [bp+var_2]
|
||
add di, 10h
|
||
|
||
loc_C5E0:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_C5B8
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_C506 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C5EC proc near
|
||
|
||
var_5 = byte ptr -5
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_2]
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C60E
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
cmp ax, di
|
||
jnz short loc_C60E
|
||
mov al, 7
|
||
jmp short loc_C610
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C60E:
|
||
mov al, 0Ch
|
||
|
||
loc_C610:
|
||
mov [bp+var_5], al
|
||
or si, si
|
||
jnz short loc_C61C
|
||
mov ax, 60h
|
||
jmp short loc_C624
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C61C:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
|
||
loc_C624:
|
||
mov [bp+var_4], ax
|
||
or di, di
|
||
jnz short loc_C630
|
||
mov ax, 124h
|
||
jmp short loc_C633
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C630:
|
||
mov ax, 258h
|
||
|
||
loc_C633:
|
||
mov [bp+var_2], ax
|
||
add ax, 2
|
||
push ax
|
||
mov ax, [bp+var_4]
|
||
add ax, 2
|
||
push ax
|
||
push [bp+arg_0]
|
||
push 0Eh
|
||
call graph_gaiji_putc
|
||
push [bp+var_2]
|
||
push [bp+var_4]
|
||
push [bp+arg_0]
|
||
mov al, [bp+var_5]
|
||
mov ah, 0
|
||
push ax
|
||
call graph_gaiji_putc
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_C5EC endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C665 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = byte ptr 4
|
||
arg_2 = byte ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
cmp [bp+arg_2], 0
|
||
jnz short loc_C679
|
||
mov ax, 2
|
||
jmp short loc_C67C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C679:
|
||
mov ax, 28h ; '('
|
||
|
||
loc_C67C:
|
||
mov di, ax
|
||
or si, si
|
||
jnz short loc_C687
|
||
mov ax, 6
|
||
jmp short loc_C68A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C687:
|
||
lea ax, [si+7]
|
||
|
||
loc_C68A:
|
||
mov [bp+var_2], ax
|
||
mov ax, di
|
||
shl ax, 3
|
||
add ax, 2
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
shl ax, 4
|
||
add ax, 2
|
||
push ax
|
||
push 800010h
|
||
call sub_CBF3
|
||
mov ax, di
|
||
shl ax, 3
|
||
add ax, 2
|
||
push ax
|
||
mov ax, [bp+var_2]
|
||
shl ax, 4
|
||
add ax, 2
|
||
push ax
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
push di
|
||
push [bp+var_2]
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 41h ; 'A'
|
||
call gaiji_putsa
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
add ax, ax
|
||
add ax, di
|
||
push ax
|
||
push [bp+var_2]
|
||
mov bx, si
|
||
imul bx, 9
|
||
mov al, [bp+arg_0]
|
||
mov ah, 0
|
||
add bx, ax
|
||
mov al, [bx+3FC6h]
|
||
mov ah, 0
|
||
push ax
|
||
push 45h ; 'E'
|
||
call gaiji_putca
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 6
|
||
sub_C665 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C711 proc near
|
||
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
|
||
enter 2, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
cmp byte ptr [bp+arg_0], 0
|
||
jnz short loc_C725
|
||
mov ax, 10h
|
||
jmp short loc_C728
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C725:
|
||
mov ax, 140h
|
||
|
||
loc_C728:
|
||
mov [bp+var_2], ax
|
||
or si, si
|
||
jnz short loc_C734
|
||
mov ax, 60h
|
||
jmp short loc_C73C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C734:
|
||
mov ax, si
|
||
shl ax, 4
|
||
add ax, 70h ; 'p'
|
||
|
||
loc_C73C:
|
||
mov di, ax
|
||
mov ax, [bp+var_2]
|
||
add ax, 2
|
||
push ax
|
||
lea ax, [di+2]
|
||
push ax
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 0Eh
|
||
call graph_gaiji_puts
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
cmp ax, si
|
||
jnz short loc_C76E
|
||
mov al, byte ptr [bp+arg_0]
|
||
cmp al, byte ptr word_125B8
|
||
jz short loc_C787
|
||
|
||
loc_C76E:
|
||
push [bp+var_2]
|
||
push di
|
||
push 10h
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 0Ch
|
||
call graph_gaiji_puts
|
||
jmp short loc_C7AB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C787:
|
||
mov ax, [bp+var_2]
|
||
mov bx, 8
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
mov ax, di
|
||
mov bx, 10h
|
||
cwd
|
||
idiv bx
|
||
push ax
|
||
mov ax, si
|
||
imul ax, 9
|
||
add ax, 3FC6h
|
||
push ds
|
||
push ax
|
||
push 41h ; 'A'
|
||
call gaiji_putsa
|
||
|
||
loc_C7AB:
|
||
push si
|
||
push [bp+arg_0]
|
||
call sub_C506
|
||
push si
|
||
mov al, byte ptr [bp+arg_0]
|
||
mov ah, 0
|
||
push ax
|
||
mov al, [si+4072h]
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C5EC
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 4
|
||
sub_C711 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C7C9 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_C7D9
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C7D1:
|
||
push si
|
||
push [bp+arg_0]
|
||
call sub_C711
|
||
inc si
|
||
|
||
loc_C7D9:
|
||
cmp si, 0Ah
|
||
jl short loc_C7D1
|
||
pop si
|
||
pop bp
|
||
retn 2
|
||
sub_C7C9 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C7E3 proc near
|
||
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_2]
|
||
mov ax, si
|
||
add ax, ax
|
||
add ax, 17h
|
||
push ax
|
||
lea ax, [di+12h]
|
||
push ax
|
||
mov bx, di
|
||
imul bx, 11h
|
||
mov al, [bx+si+82Ch]
|
||
mov ah, 0
|
||
push ax
|
||
push [bp+arg_0]
|
||
call gaiji_putca
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retn 6
|
||
sub_C7E3 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_C814 proc near
|
||
|
||
var_A = byte ptr -0Ah
|
||
var_9 = byte ptr -9
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
|
||
enter 0Ah, 0
|
||
push si
|
||
push di
|
||
xor si, si
|
||
mov [bp+var_9], 0
|
||
mov PaletteTone, 0
|
||
call far ptr palette_show
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
push 0
|
||
push ds
|
||
push offset aHi01_pi ; "hi01.pi"
|
||
call pi_slot_load
|
||
push 0
|
||
call pi_slot_palette_apply
|
||
pushd 0
|
||
push 0
|
||
call sub_CCDD
|
||
freePISlotLarge 0
|
||
push 0
|
||
call graph_copy_page
|
||
push ds
|
||
push offset aScnum2_bft ; "scnum2.bft"
|
||
call super_entry_bfnt
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+11h], 6
|
||
jnz short loc_C87A
|
||
mov al, 4
|
||
jmp short loc_C882
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C87A:
|
||
les bx, dword_F3CE
|
||
mov al, es:[bx+0Fh]
|
||
|
||
loc_C882:
|
||
mov byte_125B7, al
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+12h], 31h ; '1'
|
||
jnz short loc_C895
|
||
mov ax, 1
|
||
jmp short loc_C897
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C895:
|
||
xor ax, ax
|
||
|
||
loc_C897:
|
||
mov byte ptr word_125B8, al
|
||
mov al, 1
|
||
sub al, byte ptr word_125B8
|
||
push ax
|
||
call sub_C2AD
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
mov dx, 1
|
||
sub dx, ax
|
||
push dx
|
||
call sub_C7C9
|
||
push word_125B8
|
||
call sub_C2AD
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+49h], 0
|
||
jnz short loc_C8CB
|
||
cmp byte_125B7, 4
|
||
jnz short loc_C8D9
|
||
|
||
loc_C8CB:
|
||
call sub_C3B2
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C7C9
|
||
jmp short loc_C909
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C8D9:
|
||
mov byte_125B6, 0FFh
|
||
mov al, byte ptr word_125B8
|
||
mov ah, 0
|
||
push ax
|
||
call sub_C7C9
|
||
push 7C00C4h
|
||
push 9
|
||
push ds
|
||
push offset aGxgnbGvbGhvVGv ; "<22>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>E...
|
||
call far ptr loc_D1FC
|
||
push 7800C0h
|
||
push 2
|
||
push ds
|
||
push offset aGxgnbGvbGhvV_1 ; "<22>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>E...
|
||
call far ptr loc_D1FC
|
||
|
||
loc_C909:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+30h], 0FFh
|
||
jz short loc_C922
|
||
cmp byte ptr es:[bx+30h], 0FDh
|
||
jz short loc_C922
|
||
cmp byte_125B7, 0
|
||
jnz short loc_C95E
|
||
|
||
loc_C922:
|
||
mov al, byte_125A0
|
||
mov [bp+var_A], al
|
||
cmp [bp+var_A], 4
|
||
jb short loc_C944
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+19h], 0
|
||
jnz short loc_C93D
|
||
mov al, 1
|
||
jmp short loc_C93F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C93D:
|
||
mov al, 2
|
||
|
||
loc_C93F:
|
||
mov [bp+var_A], al
|
||
jmp short loc_C958
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C944:
|
||
les bx, dword_F3CE
|
||
cmp byte ptr es:[bx+19h], 0
|
||
jnz short loc_C953
|
||
mov al, 1
|
||
jmp short loc_C955
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C953:
|
||
mov al, 2
|
||
|
||
loc_C955:
|
||
or [bp+var_A], al
|
||
|
||
loc_C958:
|
||
mov al, [bp+var_A]
|
||
mov byte_125A0, al
|
||
|
||
loc_C95E:
|
||
push 100h
|
||
call sub_CF8C
|
||
push ds
|
||
push offset aName ; "name"
|
||
push 600h
|
||
call sub_D112
|
||
push 0
|
||
call sub_CF8C
|
||
push 2
|
||
call palette_black_in
|
||
cmp byte_125B6, 0FFh
|
||
jz loc_CB7F
|
||
mov [bp+var_6], 0
|
||
jmp short loc_C9CB
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C990:
|
||
mov [bp+var_8], 0
|
||
jmp short loc_C9C2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_C997:
|
||
mov ax, [bp+var_8]
|
||
add ax, ax
|
||
add ax, 17h
|
||
push ax
|
||
mov ax, [bp+var_6]
|
||
add ax, 12h
|
||
push ax
|
||
mov bx, [bp+var_6]
|
||
imul bx, 11h
|
||
add bx, [bp+var_8]
|
||
mov al, [bx+82Ch]
|
||
mov ah, 0
|
||
push ax
|
||
push 0E1h
|
||
call gaiji_putca
|
||
inc [bp+var_8]
|
||
|
||
loc_C9C2:
|
||
cmp [bp+var_8], 11h
|
||
jl short loc_C997
|
||
inc [bp+var_6]
|
||
|
||
loc_C9CB:
|
||
cmp [bp+var_6], 3
|
||
jl short loc_C990
|
||
push 170012h
|
||
mov al, gALPHABET
|
||
mov ah, 0
|
||
push ax
|
||
push 85h ; '<27>E
|
||
call gaiji_putca
|
||
xor di, di
|
||
mov [bp+var_2], 0
|
||
call far ptr sub_D48A
|
||
mov [bp+var_4], 1
|
||
|
||
loc_C9F6:
|
||
call sub_D492
|
||
cmp [bp+var_4], 0
|
||
jnz loc_CB3B
|
||
test byte ptr word_10072, 0Fh
|
||
jz short loc_CA6A
|
||
push di
|
||
push [bp+var_2]
|
||
push 0E1h
|
||
call sub_C7E3
|
||
test byte ptr word_10072, 1
|
||
jz short loc_CA1E
|
||
dec [bp+var_2]
|
||
|
||
loc_CA1E:
|
||
test byte ptr word_10072, 2
|
||
jz short loc_CA28
|
||
inc [bp+var_2]
|
||
|
||
loc_CA28:
|
||
test byte ptr word_10072, 4
|
||
jz short loc_CA30
|
||
dec di
|
||
|
||
loc_CA30:
|
||
test byte ptr word_10072, 8
|
||
jz short loc_CA38
|
||
inc di
|
||
|
||
loc_CA38:
|
||
cmp [bp+var_2], 0
|
||
jge short loc_CA45
|
||
mov [bp+var_2], 2
|
||
jmp short loc_CA50
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CA45:
|
||
cmp [bp+var_2], 2
|
||
jle short loc_CA50
|
||
mov [bp+var_2], 0
|
||
|
||
loc_CA50:
|
||
or di, di
|
||
jge short loc_CA59
|
||
mov di, 10h
|
||
jmp short loc_CA60
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CA59:
|
||
cmp di, 10h
|
||
jle short loc_CA60
|
||
xor di, di
|
||
|
||
loc_CA60:
|
||
push di
|
||
push [bp+var_2]
|
||
push 85h ; '<27>E
|
||
call sub_C7E3
|
||
|
||
loc_CA6A:
|
||
test byte ptr word_10072, 20h
|
||
jnz short loc_CA7A
|
||
test byte ptr word_10072+1, 20h
|
||
jz loc_CB03
|
||
|
||
loc_CA7A:
|
||
mov bx, [bp+var_2]
|
||
imul bx, 11h
|
||
mov al, [bx+di+82Ch]
|
||
mov [bp+var_A], al
|
||
mov ah, 0
|
||
sub ax, 0CDh ; '<27>'
|
||
mov bx, ax
|
||
cmp bx, 8
|
||
ja short loc_CABD
|
||
add bx, bx
|
||
jmp cs:off_CB9E[bx]
|
||
|
||
loc_CA9A:
|
||
mov [bp+var_A], 2
|
||
jmp short loc_CABD
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CAA0:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
mov bx, ax
|
||
mov byte ptr [bx+si+3FC6h], 2
|
||
or si, si
|
||
jle short loc_CAF5
|
||
dec si
|
||
jmp short loc_CAF5
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CAB6:
|
||
cmp si, 7
|
||
jge short loc_CAF5
|
||
jmp short loc_CAF4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CABD:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
mov dl, [bp+var_A]
|
||
mov bx, ax
|
||
mov [bx+si+3FC6h], dl
|
||
cmp si, 7
|
||
jnz short loc_CAEF
|
||
push di
|
||
push [bp+var_2]
|
||
push 0E1h
|
||
call sub_C7E3
|
||
mov di, 10h
|
||
mov [bp+var_2], 2
|
||
push di
|
||
push [bp+var_2]
|
||
push 85h ; '<27>E
|
||
call sub_C7E3
|
||
|
||
loc_CAEF:
|
||
cmp si, 7
|
||
jge short loc_CAF5
|
||
|
||
loc_CAF4:
|
||
inc si
|
||
|
||
loc_CAF5:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
push ax
|
||
push word_125B8
|
||
push si
|
||
call sub_C665
|
||
|
||
loc_CB03:
|
||
test byte ptr word_10072, 10h
|
||
jz short loc_CB2C
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
imul ax, 9
|
||
mov bx, ax
|
||
mov byte ptr [bx+si+3FC6h], 2
|
||
or si, si
|
||
jle short loc_CB1E
|
||
dec si
|
||
|
||
loc_CB1E:
|
||
mov al, byte_125B6
|
||
mov ah, 0
|
||
push ax
|
||
push word_125B8
|
||
push si
|
||
call sub_C665
|
||
|
||
loc_CB2C:
|
||
test byte ptr word_10072+1, 10h
|
||
jnz short loc_CB7A
|
||
mov ax, word_10072
|
||
mov [bp+var_4], ax
|
||
jmp short loc_CB6B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB3B:
|
||
mov ax, word_10072
|
||
cmp ax, [bp+var_4]
|
||
jnz short loc_CB59
|
||
inc [bp+var_9]
|
||
cmp [bp+var_9], 1Eh
|
||
jbe short loc_CB6B
|
||
test [bp+var_9], 1
|
||
jnz short loc_CB6B
|
||
mov [bp+var_4], 0
|
||
jmp short loc_CB6B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB59:
|
||
cmp word_10072, 0
|
||
jz short loc_CB62
|
||
jmp short loc_CB67
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB62:
|
||
mov [bp+var_4], 0
|
||
|
||
loc_CB67:
|
||
mov [bp+var_9], 0
|
||
|
||
loc_CB6B:
|
||
call far ptr sub_D48A
|
||
push 1
|
||
call frame_delay
|
||
jmp loc_C9F6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB7A:
|
||
call sub_C316
|
||
jmp short loc_CB89
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CB7F:
|
||
call sub_C316
|
||
push 0
|
||
call sub_CE7A
|
||
|
||
loc_CB89:
|
||
call super_free
|
||
call text_clear
|
||
push 1
|
||
call palette_black_out
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn
|
||
sub_C814 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
off_CB9E dw offset loc_CA9A
|
||
dw offset loc_CAA0
|
||
dw offset loc_CAB6
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CABD
|
||
dw offset loc_CB7A
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CBB0 proc near
|
||
push bp
|
||
mov bp, sp
|
||
mov al, 0
|
||
out 7Ch, al
|
||
mov al, 7
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov al, 5
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov al, 80h
|
||
out 7Ch, al
|
||
mov al, 6
|
||
out 6Ah, al ; PC-98 GDC (6a):
|
||
;
|
||
mov ax, 0FFF0h
|
||
mov dx, 4A0h
|
||
out dx, ax
|
||
mov ax, 0FFh
|
||
mov dx, 4A2h
|
||
out dx, ax
|
||
mov ax, 3100h
|
||
mov dx, 4A4h
|
||
out dx, ax
|
||
mov ax, 0FFFFh
|
||
mov dx, 4A8h
|
||
out dx, ax
|
||
mov ax, 0
|
||
mov dx, 4ACh
|
||
out dx, ax
|
||
mov ax, 0Fh
|
||
mov dx, 4AEh
|
||
out dx, ax
|
||
pop bp
|
||
retn
|
||
sub_CBB0 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CBF3 proc near
|
||
|
||
var_8 = word ptr -8
|
||
var_6 = word ptr -6
|
||
var_4 = word ptr -4
|
||
var_2 = word ptr -2
|
||
arg_0 = word ptr 4
|
||
arg_2 = word ptr 6
|
||
arg_4 = word ptr 8
|
||
arg_6 = word ptr 0Ah
|
||
|
||
enter 8, 0
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_2]
|
||
call sub_CBB0
|
||
mov ax, [bp+arg_6]
|
||
sar ax, 3
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 6
|
||
add ax, dx
|
||
mov dx, [bp+arg_4]
|
||
shl dx, 4
|
||
add ax, dx
|
||
mov [bp+var_6], ax
|
||
mov bx, 10h
|
||
mov ax, di
|
||
cwd
|
||
idiv bx
|
||
mov di, ax
|
||
mov [bp+var_4], 0
|
||
jmp short loc_CC66
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CC29:
|
||
mov [bp+var_2], 0
|
||
mov si, [bp+var_6]
|
||
jmp short loc_CC5A
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CC33:
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
les bx, dword_FC3C
|
||
add bx, si
|
||
mov ax, es:[bx]
|
||
mov [bp+var_8], ax
|
||
mov al, 0
|
||
out dx, al
|
||
mov bx, word ptr dword_FC3C
|
||
add bx, si
|
||
mov ax, [bp+var_8]
|
||
mov es:[bx], ax
|
||
inc [bp+var_2]
|
||
add si, 2
|
||
|
||
loc_CC5A:
|
||
cmp [bp+var_2], di
|
||
jl short loc_CC33
|
||
inc [bp+var_4]
|
||
add [bp+var_6], 50h ; 'P'
|
||
|
||
loc_CC66:
|
||
mov ax, [bp+var_4]
|
||
cmp ax, [bp+arg_0]
|
||
jl short loc_CC29
|
||
call egc_off
|
||
pop di
|
||
pop si
|
||
leave
|
||
retn 8
|
||
sub_CBF3 endp
|
||
db 0
|
||
|
||
seg001 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg002 segment word public 'CODE' use16
|
||
assume cs:seg002
|
||
;org 0Ah
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CC7A proc far
|
||
push bp
|
||
mov bp, sp
|
||
mov dword_FC3C, 0A8000000h
|
||
mov dword_FC40, 0B0000000h
|
||
mov dword_FC44, 0B8000000h
|
||
mov dword_FC48, 0E0000000h
|
||
pop bp
|
||
retf
|
||
sub_CC7A endp
|
||
|
||
include th02/frame_delay.asm
|
||
include th02/formats/pi_slot_palette_apply.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CCDD proc far
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = dword ptr -4
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
mov bx, di
|
||
shl bx, 2
|
||
mov ax, [bx+17A4h]
|
||
mov dx, [bx+17A2h]
|
||
mov word ptr [bp+var_4+2], ax
|
||
mov word ptr [bp+var_4], dx
|
||
mov [bp+var_6], 0
|
||
jmp short loc_CD51
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CD03:
|
||
push [bp+arg_4]
|
||
push si
|
||
pushd [bp+var_4]
|
||
mov bx, di
|
||
imul bx, 48h
|
||
push word ptr [bx+17CEh]
|
||
call graph_pack_put_8
|
||
inc si
|
||
cmp si, 190h
|
||
jl short loc_CD24
|
||
sub si, 190h
|
||
|
||
loc_CD24:
|
||
mov bx, di
|
||
imul bx, 48h
|
||
mov ax, [bx+17CEh]
|
||
shr ax, 1
|
||
add word ptr [bp+var_4], ax
|
||
mov eax, [bp+var_4]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_4]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_4]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_4+2], ax
|
||
mov word ptr [bp+var_4], dx
|
||
inc [bp+var_6]
|
||
|
||
loc_CD51:
|
||
mov bx, di
|
||
imul bx, 48h
|
||
mov ax, [bx+17D0h]
|
||
cmp ax, [bp+var_6]
|
||
ja short loc_CD03
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf 6
|
||
sub_CCDD endp
|
||
|
||
include th02/formats/pi_slot_load.asm
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CDAB proc far
|
||
|
||
var_6 = word ptr -6
|
||
var_4 = dword ptr -4
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
enter 6, 0
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_4]
|
||
mov di, [bp+arg_0]
|
||
mov bx, [bp+arg_2]
|
||
shl bx, 2
|
||
mov ax, [bx+17A4h]
|
||
mov dx, [bx+17A2h]
|
||
mov word ptr [bp+var_4+2], ax
|
||
mov word ptr [bp+var_4], dx
|
||
cmp di, 1
|
||
jnz short loc_CDD7
|
||
add word ptr [bp+var_4], 0A0h
|
||
jmp short loc_CDED
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CDD7:
|
||
cmp di, 2
|
||
jnz short loc_CDE3
|
||
add word ptr [bp+var_4], 0FA00h
|
||
jmp short loc_CDED
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CDE3:
|
||
cmp di, 3
|
||
jnz short loc_CDED
|
||
add word ptr [bp+var_4], 0FAA0h
|
||
|
||
loc_CDED:
|
||
mov eax, [bp+var_4]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_4]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_4]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_4+2], ax
|
||
mov word ptr [bp+var_4], dx
|
||
mov [bp+var_6], 0
|
||
jmp short loc_CE4F
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CE10:
|
||
push [bp+arg_6]
|
||
push si
|
||
pushd [bp+var_4]
|
||
push 140h
|
||
call graph_pack_put_8
|
||
inc si
|
||
cmp si, 190h
|
||
jl short loc_CE2B
|
||
sub si, 190h
|
||
|
||
loc_CE2B:
|
||
add word ptr [bp+var_4], 140h
|
||
mov eax, [bp+var_4]
|
||
shr eax, 10h
|
||
mov dx, word ptr [bp+var_4]
|
||
shr dx, 4
|
||
add ax, dx
|
||
mov dx, word ptr [bp+var_4]
|
||
and dx, 0Fh
|
||
mov word ptr [bp+var_4+2], ax
|
||
mov word ptr [bp+var_4], dx
|
||
inc [bp+var_6]
|
||
|
||
loc_CE4F:
|
||
cmp [bp+var_6], 0C8h
|
||
jl short loc_CE10
|
||
pop di
|
||
pop si
|
||
leave
|
||
retf 8
|
||
sub_CDAB endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push di
|
||
xor ax, ax
|
||
mov di, 196Ah
|
||
xor dl, dl
|
||
jmp short loc_CE71
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CE66:
|
||
xor dl, dl
|
||
mov cx, 8
|
||
|
||
loc_CE6B:
|
||
rol al, 1
|
||
rcr dl, 1
|
||
loop loc_CE6B
|
||
|
||
loc_CE71:
|
||
mov [di], dl
|
||
inc di
|
||
inc al
|
||
jnz short loc_CE66
|
||
pop di
|
||
retf
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CE7A proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_0]
|
||
xor di, di
|
||
|
||
loc_CE84:
|
||
nop
|
||
push cs
|
||
call sub_D48A
|
||
push 1
|
||
nopcall frame_delay
|
||
nopcall sub_D492
|
||
cmp word_10072, 0
|
||
jnz short loc_CE84
|
||
or si, si
|
||
jnz short loc_CEC6
|
||
mov si, 270Fh
|
||
jmp short loc_CEC6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CEA5:
|
||
nop
|
||
push cs
|
||
call sub_D48A
|
||
push 1
|
||
nopcall frame_delay
|
||
nopcall sub_D492
|
||
cmp word_10072, 0
|
||
jnz short loc_CECA
|
||
inc di
|
||
cmp si, 270Fh
|
||
jnz short loc_CEC6
|
||
xor di, di
|
||
|
||
loc_CEC6:
|
||
cmp di, si
|
||
jl short loc_CEA5
|
||
|
||
loc_CECA:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 2
|
||
sub_CE7A endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CED0 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
movsx eax, [bp+arg_2]
|
||
movsx edx, [bp+arg_0]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, [bp+arg_4]
|
||
pop bp
|
||
retf 6
|
||
sub_CED0 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
mov si, [bp+0Eh]
|
||
mov bx, [bp+6]
|
||
add bx, bx
|
||
movsx eax, word ptr [bp+8]
|
||
movsx edx, word ptr [bx+1F4h]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, [bp+0Ch]
|
||
mov [si], ax
|
||
movsx eax, word ptr [bp+8]
|
||
movsx edx, word ptr [bx+174h]
|
||
imul eax, edx
|
||
sar eax, 8
|
||
add ax, [bp+0Ah]
|
||
mov [si+2], ax
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_CF2E proc far
|
||
xor ax, ax
|
||
mov byte_FF9A, 60h
|
||
mov byte_EAD2, al
|
||
mov byte_EAD1, al
|
||
mov byte_EAD0, al
|
||
mov es, ax
|
||
les bx, dword ptr es:[0180h]
|
||
assume es:nothing
|
||
cmp byte ptr es:[bx+2], 50h ; 'P'
|
||
jnz short locret_CF5B
|
||
cmp byte ptr es:[bx+3], 4Dh ; 'M'
|
||
jnz short locret_CF5B
|
||
cmp byte ptr es:[bx+4], 44h ; 'D'
|
||
jnz short locret_CF5B
|
||
inc ax
|
||
|
||
locret_CF5B:
|
||
retf
|
||
sub_CF2E endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_CF5C proc far
|
||
xor ax, ax
|
||
mov es, ax
|
||
les bx, dword ptr es:[0184h]
|
||
assume es:nothing
|
||
cmp byte ptr es:[bx+2], 4Dh ; 'M'
|
||
jnz short loc_CF88
|
||
cmp byte ptr es:[bx+3], 4Dh ; 'M'
|
||
jnz short loc_CF88
|
||
cmp byte ptr es:[bx+4], 44h ; 'D'
|
||
jnz short loc_CF88
|
||
mov byte_FF9A, 61h ; 'a'
|
||
mov byte_EAD2, 1
|
||
mov ax, 1
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CF88:
|
||
xor ax, ax
|
||
retf
|
||
sub_CF5C endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CF8C proc far
|
||
|
||
arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_EAD1, 0
|
||
jz short loc_CFA6
|
||
mov ax, [bp+arg_0]
|
||
cmp byte_EAD1, 3
|
||
jz short loc_CFA4
|
||
int 60h
|
||
jmp short loc_CFA6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CFA4:
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_CFA6:
|
||
pop bp
|
||
retf 2
|
||
sub_CF8C endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_CFAA proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+arg_2]
|
||
mov di, [bp+arg_0]
|
||
nopcall sub_CF2E
|
||
cmp si, 3
|
||
jnz short loc_CFC4
|
||
nopcall sub_CF5C
|
||
|
||
loc_CFC4:
|
||
mov ah, 9
|
||
int 60h
|
||
cmp al, 0FFh
|
||
jnz short loc_CFD3
|
||
mov byte_EAD1, 0
|
||
jmp short loc_CFE3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CFD3:
|
||
or al, al
|
||
jnz short loc_CFDE
|
||
mov byte_EAD1, 1
|
||
jmp short loc_CFE3
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CFDE:
|
||
mov byte_EAD1, 2
|
||
|
||
loc_CFE3:
|
||
cmp di, 1
|
||
jnz short loc_CFFB
|
||
cmp byte_EAD1, 0
|
||
jz short loc_CFF4
|
||
mov ax, 1
|
||
jmp short loc_CFF6
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CFF4:
|
||
xor ax, ax
|
||
|
||
loc_CFF6:
|
||
mov byte_EAD0, al
|
||
jmp short loc_D00C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_CFFB:
|
||
cmp di, 2
|
||
jnz short loc_D007
|
||
mov byte_EAD0, 2
|
||
jmp short loc_D00C
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D007:
|
||
mov byte_EAD0, 0
|
||
|
||
loc_D00C:
|
||
or si, si
|
||
jnz short loc_D017
|
||
mov byte_EAD1, 0
|
||
jmp short loc_D03B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D017:
|
||
cmp si, 3
|
||
jnz short loc_D02A
|
||
cmp byte_EAD2, 0
|
||
jz short loc_D02A
|
||
mov byte_EAD1, 3
|
||
jmp short loc_D03B
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D02A:
|
||
cmp si, 1
|
||
jnz short loc_D03B
|
||
cmp byte_EAD1, 0
|
||
jz short loc_D03B
|
||
mov byte_EAD1, 1
|
||
|
||
loc_D03B:
|
||
mov al, byte_EAD1
|
||
mov ah, 0
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 4
|
||
sub_CFAA endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D046 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
cmp byte_EAD1, 0
|
||
jnz short loc_D05C
|
||
push [bp+arg_0]
|
||
nopcall frame_delay
|
||
pop bp
|
||
retf 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D05C:
|
||
mov ah, 5
|
||
cmp byte_EAD1, 3
|
||
jz short loc_D069
|
||
int 60h ; - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
|
||
; BX = handle
|
||
; Return: CF set on error, DH = error code
|
||
; CF clear if successful
|
||
jmp short loc_D06E
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D069:
|
||
mov dx, 0C0h
|
||
int 61h ; reserved for user interrupt
|
||
|
||
loc_D06E:
|
||
cmp ax, [bp+arg_2]
|
||
jb short loc_D05C
|
||
pop bp
|
||
retf 4
|
||
sub_D046 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
; int __stdcall __far sub_D078(int, int slot, int, int)
|
||
sub_D078 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
@@slot = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov si, [bp+@@slot]
|
||
shl si, 4
|
||
add si, 1B46h
|
||
mov cx, [bp+arg_6]
|
||
mov di, cx
|
||
sar di, 4
|
||
shl di, 1
|
||
add di, [si+6]
|
||
mov ax, [si+8]
|
||
shl ax, 1
|
||
mov byte ptr cs:loc_D0DC+1, al
|
||
and cx, 0Fh
|
||
mov bx, cx
|
||
shl bx, 1
|
||
mov bx, [bx+580h]
|
||
mov word ptr cs:loc_D0E3+1, bx
|
||
mov word ptr cs:loc_D0F0+1, bx
|
||
jmp short $+2
|
||
shl ax, 1
|
||
add ax, 50h ; 'P'
|
||
mov dx, ax
|
||
mov ax, [bp+arg_4]
|
||
mov bx, ax
|
||
shl ax, 2
|
||
add ax, bx
|
||
add ax, 0A800h
|
||
mov es, ax
|
||
push ds
|
||
mov ax, [si+0Eh]
|
||
mov si, [si]
|
||
mov ds, ax
|
||
mov ax, [bp+arg_0]
|
||
mov bp, dx
|
||
mul si
|
||
mov si, ax
|
||
cld
|
||
|
||
loc_D0DC:
|
||
mov ch, 80h
|
||
lodsw
|
||
ror ax, cl
|
||
mov dx, ax
|
||
|
||
loc_D0E3:
|
||
and ax, 1234h
|
||
xor dx, ax
|
||
stosw
|
||
dec ch
|
||
|
||
loc_D0EB:
|
||
lodsw
|
||
ror ax, cl
|
||
mov bx, ax
|
||
|
||
loc_D0F0:
|
||
and ax, 1234h
|
||
xor bx, ax
|
||
or ax, dx
|
||
mov dx, bx
|
||
stosw
|
||
dec ch
|
||
jnz short loc_D0EB
|
||
or dx, dx
|
||
jz short loc_D107
|
||
mov es:[di], dx
|
||
xor dx, dx
|
||
|
||
loc_D107:
|
||
sub di, bp
|
||
jns short loc_D0DC
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 8
|
||
sub_D078 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D112 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = dword ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
xor si, si
|
||
jmp short loc_D127
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D11A:
|
||
les bx, [bp+arg_2]
|
||
add bx, si
|
||
mov al, es:[bx]
|
||
mov [si+1B32h], al
|
||
inc si
|
||
|
||
loc_D127:
|
||
cmp si, 0Dh
|
||
jl short loc_D11A
|
||
xor si, si
|
||
|
||
loc_D12E:
|
||
inc si
|
||
cmp byte ptr [si+1B32h], 0
|
||
jnz short loc_D12E
|
||
mov byte ptr [si+1B36h], 0
|
||
mov byte ptr [si+1B32h], 2Eh ; '.'
|
||
inc si
|
||
cmp [bp+arg_0], 0B00h
|
||
jnz short loc_D17A
|
||
mov byte ptr [si+1B32h], 65h ; 'e'
|
||
mov byte ptr [si+1B33h], 66h ; 'f'
|
||
cmp byte_EAD0, 0
|
||
jz loc_D1F7
|
||
cmp byte_EAD0, 2
|
||
jnz short loc_D173
|
||
mov byte ptr [si+1B34h], 73h ; 's'
|
||
push ds
|
||
push offset unk_10062
|
||
call bgm_read_sdata
|
||
jmp loc_D1F7
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D173:
|
||
mov byte ptr [si+1B34h], 63h ; 'c'
|
||
jmp short loc_D1CA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D17A:
|
||
cmp byte_EAD1, 0
|
||
jz short loc_D1F7
|
||
push 100h
|
||
nopcall sub_CF8C
|
||
mov al, byte_EAD1
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
les bx, [bx+5A4h]
|
||
mov al, es:[bx]
|
||
mov [si+1B32h], al
|
||
mov al, byte_EAD1
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
les bx, [bx+5A4h]
|
||
mov al, es:[bx+1]
|
||
mov [si+1B33h], al
|
||
mov al, byte_EAD1
|
||
mov ah, 0
|
||
shl ax, 2
|
||
mov bx, ax
|
||
les bx, [bx+5A4h]
|
||
mov al, es:[bx+2]
|
||
mov [si+1B34h], al
|
||
|
||
loc_D1CA:
|
||
push ds
|
||
mov dx, 1B32h
|
||
mov ax, 3D00h
|
||
int 21h ; DOS - 2+ - OPEN DISK FILE WITH HANDLE
|
||
; DS:DX -> ASCIZ filename
|
||
; AL = access mode
|
||
; 0 - read
|
||
mov bx, ax
|
||
mov ax, [bp+arg_0]
|
||
cmp ah, 6
|
||
jnz short loc_D1E8
|
||
cmp byte_EAD1, 3
|
||
jnz short loc_D1E8
|
||
int 61h ; reserved for user interrupt
|
||
jmp short loc_D1EA
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D1E8:
|
||
int 60h
|
||
|
||
loc_D1EA:
|
||
mov ax, 3F00h
|
||
mov cx, 5000h
|
||
int 21h ; DOS - 2+ - READ FROM FILE WITH HANDLE
|
||
; BX = file handle, CX = number of bytes to read
|
||
; DS:DX -> buffer
|
||
pop ds
|
||
mov ah, 3Eh
|
||
int 21h ; DOS - 2+ - CLOSE A FILE WITH HANDLE
|
||
; BX = file handle
|
||
|
||
loc_D1F7:
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
sub_D112 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D1FC:
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
mov dx, [bp+0Ah]
|
||
mov al, 0C0h
|
||
pushf
|
||
cli
|
||
out 7Ch, al
|
||
popf
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
shr dx, 1
|
||
sbb al, al
|
||
out 7Eh, al
|
||
mov ax, 0A800h
|
||
mov es, ax
|
||
assume es:nothing
|
||
mov dx, [bp+0Ch]
|
||
shl dx, 6
|
||
mov di, dx
|
||
shr dx, 2
|
||
add di, dx
|
||
mov cx, [bp+0Eh]
|
||
mov al, 0Bh
|
||
out 68h, al
|
||
mov bx, word_EB2C
|
||
add bx, bx
|
||
cmp bx, 8
|
||
jb short loc_D258
|
||
cmp bx, 10h
|
||
jnb short loc_D258
|
||
mov ax, [bx+5CCh]
|
||
mov word ptr cs:loc_D350+3, ax
|
||
mov bx, 8
|
||
|
||
loc_D258:
|
||
mov ax, [bx+5C0h]
|
||
mov word ptr cs:loc_D2BA+1, ax
|
||
mov ax, [bx+5CAh]
|
||
mov word ptr cs:loc_D30C+1, ax
|
||
mov ax, word_EB2E
|
||
mov word ptr cs:loc_D2D9+1, ax
|
||
mov word ptr cs:loc_D320+1, ax
|
||
push ds
|
||
pop fs
|
||
assume fs:dseg
|
||
lds si, [bp+6]
|
||
lodsb
|
||
or al, al
|
||
jz short loc_D2E5
|
||
|
||
loc_D27E:
|
||
mov dx, cx
|
||
shr dx, 3
|
||
add di, dx
|
||
and cx, 7
|
||
mov ah, 9
|
||
test al, 0E0h
|
||
jns short loc_D2F7
|
||
jp short loc_D2F4
|
||
mov ah, al
|
||
lodsb
|
||
shl ah, 1
|
||
cmp al, 9Fh
|
||
jnb short loc_D29E
|
||
cmp al, 80h
|
||
adc ax, 0FEDFh
|
||
|
||
loc_D29E:
|
||
sbb al, 0FEh
|
||
and ax, 7F7Fh
|
||
out 0A1h, al
|
||
mov al, ah
|
||
out 0A3h, al
|
||
nop
|
||
|
||
loc_D2AA:
|
||
mov al, ch
|
||
or al, 20h
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
mov ah, al
|
||
mov al, ch
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
|
||
loc_D2BA:
|
||
call sub_D335
|
||
mov bh, al
|
||
mov bl, 0
|
||
shr ax, cl
|
||
shr bx, cl
|
||
xchg ah, al
|
||
stosw
|
||
mov es:[di], bl
|
||
add di, 4Eh
|
||
inc ch
|
||
cmp ch, 10h
|
||
jb short loc_D2AA
|
||
sub di, 500h
|
||
|
||
loc_D2D9:
|
||
mov dx, 1234h
|
||
|
||
loc_D2DC:
|
||
xor ch, ch
|
||
add cx, dx
|
||
lodsb
|
||
or al, al
|
||
jnz short loc_D27E
|
||
|
||
loc_D2E5:
|
||
mov al, 0Ah
|
||
out 68h, al
|
||
xor al, al
|
||
out 7Ch, al
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 0Ah
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D2F4:
|
||
add ax, 80h
|
||
|
||
loc_D2F7:
|
||
cmp al, 20h ; ' '
|
||
jz short loc_D320
|
||
out 0A1h, al
|
||
mov al, ah
|
||
out 0A3h, al
|
||
nop
|
||
|
||
loc_D302:
|
||
mov al, ch
|
||
or al, 20h
|
||
out 0A5h, al
|
||
in al, 0A9h
|
||
xor ah, ah
|
||
|
||
loc_D30C:
|
||
call sub_D335
|
||
ror ax, cl
|
||
stosw
|
||
add di, 4Eh ; 'N'
|
||
inc ch
|
||
cmp ch, 10h
|
||
jb short loc_D302
|
||
sub di, 500h
|
||
|
||
loc_D320:
|
||
mov dx, 1234h
|
||
shr dx, 1
|
||
jmp short loc_D2DC
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
mov dx, ax
|
||
add dx, dx
|
||
or ax, dx
|
||
retn
|
||
; ---------------------------------------------------------------------------
|
||
mov dx, ax
|
||
shl dx, 1
|
||
or ax, dx
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D335 proc near
|
||
mov dx, ax
|
||
mov bp, ax
|
||
add bp, bp
|
||
or ax, bp
|
||
xor dx, ax
|
||
add dx, dx
|
||
not dx
|
||
and ax, dx
|
||
retn
|
||
sub_D335 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
call sub_D335
|
||
mov bl, ch
|
||
and bx, 3
|
||
add bx, bx
|
||
|
||
loc_D350:
|
||
and ax, fs:[bx+1234h]
|
||
retn
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D356 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push ds
|
||
cli
|
||
mov al, 0C0h
|
||
out 7Ch, al
|
||
mov dx, 7Eh ; '~'
|
||
xor al, al
|
||
out dx, al
|
||
out dx, al
|
||
out dx, al
|
||
out dx, al
|
||
sti
|
||
mov si, [bp+arg_0]
|
||
shl si, 4
|
||
add si, 1B46h
|
||
mov ax, [si+0Eh]
|
||
mov word ptr cs:loc_D3CD+1, ax
|
||
jmp short $+2
|
||
mov ax, [bp+arg_2]
|
||
mov bx, ax
|
||
shl ax, 2
|
||
add ax, bx
|
||
add ax, 0A800h
|
||
mov es, ax
|
||
assume es:nothing
|
||
push 0
|
||
add ax, 3800h
|
||
push ax
|
||
sub ax, 2800h
|
||
push ax
|
||
sub ax, 800h
|
||
push ax
|
||
mov ax, [bp+arg_4]
|
||
shr ax, 3
|
||
add ax, [si+6]
|
||
mov di, ax
|
||
mov bx, ax
|
||
mov ax, [si+8]
|
||
mov bp, ax
|
||
shl ax, 2
|
||
add ax, 50h ; 'P'
|
||
mov dx, ax
|
||
mov ax, [si+0Ch]
|
||
mov ds, ax
|
||
xor si, si
|
||
cld
|
||
nop
|
||
|
||
loc_D3BE:
|
||
mov cx, bp
|
||
rep movsd
|
||
sub di, dx
|
||
jns short loc_D3BE
|
||
xor al, al
|
||
out 7Ch, al
|
||
xor si, si
|
||
|
||
loc_D3CD:
|
||
mov ax, 1234h
|
||
mov ds, ax
|
||
assume ds:nothing
|
||
|
||
loc_D3D2:
|
||
mov di, bx
|
||
|
||
loc_D3D4:
|
||
mov cx, bp
|
||
|
||
loc_D3D6:
|
||
lodsd
|
||
or es:[di], eax
|
||
add di, 4
|
||
loop loc_D3D6
|
||
sub di, dx
|
||
jns short loc_D3D4
|
||
pop ax
|
||
mov es, ax
|
||
or ax, ax
|
||
jnz short loc_D3D2
|
||
pop ds
|
||
assume ds:dseg
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
sub_D356 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D3F4 proc far
|
||
push bp
|
||
mov bp, sp
|
||
call pfend
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 1
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
call graph_clear
|
||
mov dx, 0A6h ; '<27>'
|
||
mov al, 0
|
||
out dx, al
|
||
mov dx, 0A4h
|
||
out dx, al
|
||
call mem_unassign
|
||
call vsync_end
|
||
call text_clear
|
||
call js_end
|
||
call egc_start
|
||
call bgm_finish
|
||
pop bp
|
||
retf
|
||
sub_D3F4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D43C proc far
|
||
|
||
arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push word_10070
|
||
call mem_assign_dos
|
||
or ax, ax
|
||
jz short loc_D453
|
||
mov ax, 1
|
||
pop bp
|
||
retf 4
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D453:
|
||
mov bbufsiz, 1000h
|
||
nopcall sub_CC7A
|
||
call vsync_start
|
||
call egc_start
|
||
call graph_400line
|
||
call sub_2B6E
|
||
pushd [bp+arg_0]
|
||
call pfstart
|
||
push 800h
|
||
call bgm_init
|
||
xor ax, ax
|
||
pop bp
|
||
retf 4
|
||
sub_D43C endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
db 0
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D48A proc near
|
||
xor ax, ax
|
||
mov word_10072, ax
|
||
mov word_F3F6, ax
|
||
sub_D48A endp ; sp-analysis failed
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D492 proc far
|
||
xor ax, ax
|
||
mov es, ax
|
||
mov ah, byte ptr es:[531h]
|
||
test ah, 4
|
||
jz short loc_D4A5
|
||
or word_10072, 1
|
||
|
||
loc_D4A5:
|
||
test ah, 20h
|
||
jz short loc_D4AF
|
||
or word_10072, 2
|
||
|
||
loc_D4AF:
|
||
test ah, 8
|
||
jz short loc_D4B9
|
||
or word_10072, 4
|
||
|
||
loc_D4B9:
|
||
test ah, 10h
|
||
jz short loc_D4C3
|
||
or word_10072, 8
|
||
|
||
loc_D4C3:
|
||
mov ah, byte ptr es:[533h]
|
||
test ah, 1
|
||
jz short loc_D4D2
|
||
or word_10072, 8
|
||
|
||
loc_D4D2:
|
||
test ah, 4
|
||
jz short loc_D4DD
|
||
or word_10072, 400h
|
||
|
||
loc_D4DD:
|
||
test ah, 8
|
||
jz short loc_D4E7
|
||
or word_10072, 2
|
||
|
||
loc_D4E7:
|
||
test ah, 10h
|
||
jz short loc_D4F2
|
||
or word_10072, 800h
|
||
|
||
loc_D4F2:
|
||
mov ah, byte ptr es:[532h]
|
||
test ah, 40h
|
||
jz short loc_D501
|
||
or word_10072, 4
|
||
|
||
loc_D501:
|
||
test ah, 4
|
||
jz short loc_D50C
|
||
or word_10072, 100h
|
||
|
||
loc_D50C:
|
||
test ah, 8
|
||
jz short loc_D516
|
||
or word_10072, 1
|
||
|
||
loc_D516:
|
||
test ah, 10h
|
||
jz short loc_D521
|
||
or word_10072, 200h
|
||
|
||
loc_D521:
|
||
mov ah, byte ptr es:[52Fh]
|
||
test ah, 2
|
||
jz short loc_D530
|
||
or word_10072, 20h
|
||
|
||
loc_D530:
|
||
test ah, 4
|
||
jz short loc_D53A
|
||
or word_10072, 10h
|
||
|
||
loc_D53A:
|
||
mov ah, byte ptr es:[52Ch]
|
||
test ah, 1
|
||
jz short loc_D54A
|
||
or word_10072, 4000h
|
||
|
||
loc_D54A:
|
||
mov ah, byte ptr es:[52Ah]
|
||
test ah, 1
|
||
jz short loc_D55A
|
||
or word_10072, 1000h
|
||
|
||
loc_D55A:
|
||
mov ah, byte ptr es:[52Dh]
|
||
test ah, 10h
|
||
jz short loc_D56A
|
||
or word_10072, 2000h
|
||
|
||
loc_D56A:
|
||
mov ah, byte ptr es:[530h]
|
||
test ah, 10h
|
||
jz short loc_D579
|
||
or word_10072, 20h
|
||
|
||
loc_D579:
|
||
mov ah, 2
|
||
int 18h ; TRANSFER TO ROM BASIC
|
||
; causes transfer to ROM-based BASIC (IBM-PC)
|
||
; often reboots a compatible; often has no effect at all
|
||
and al, 1
|
||
mov byte_10074, al
|
||
cmp word_E658, 0
|
||
jz short locret_D592
|
||
call sub_2CFC
|
||
or word_10072, ax
|
||
|
||
locret_D592:
|
||
retf
|
||
sub_D492 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D594 proc far
|
||
mov byte_EB31, 0
|
||
mov byte_EB30, 0FFh
|
||
retf
|
||
sub_D594 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D5A0 proc far
|
||
mov bx, sp
|
||
mov dx, ss:[bx+4]
|
||
cmp byte_EAD0, 0
|
||
jz short locret_D5D6
|
||
cmp byte_EB30, 0FFh
|
||
jnz short loc_D5BB
|
||
mov byte_EB30, dl
|
||
retf 2
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D5BB:
|
||
mov bl, byte_EB30
|
||
xor bh, bh
|
||
mov al, [bx+55Eh]
|
||
mov bx, dx
|
||
cmp al, [bx+55Eh]
|
||
ja short locret_D5D6
|
||
mov byte_EB30, dl
|
||
mov byte_EB31, 0
|
||
|
||
locret_D5D6:
|
||
retf 2
|
||
sub_D5A0 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D5DA proc far
|
||
cmp byte_EAD0, 0
|
||
jz short locret_D625
|
||
cmp byte_EB30, 0FFh
|
||
jz short locret_D625
|
||
cmp byte_EB31, 0
|
||
jnz short loc_D607
|
||
mov al, byte_EB30
|
||
cmp byte_EAD0, 2
|
||
jz short loc_D5FF
|
||
mov ah, 0Ch
|
||
int 60h ; - Banyan VINES, 3com - GET STATION ADDRESS
|
||
; Return: AL = status, 00h successful, ES:SI -> 6-byte station address
|
||
; 02h semaphore service is unavailable
|
||
jmp short loc_D607
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D5FF:
|
||
xor ah, ah
|
||
push ax
|
||
call bgm_sound
|
||
|
||
loc_D607:
|
||
inc byte_EB31
|
||
mov bl, byte_EB30
|
||
xor bh, bh
|
||
mov al, [bx+56Fh]
|
||
cmp al, byte_EB31
|
||
jnb short locret_D625
|
||
mov byte_EB31, 0
|
||
mov byte_EB30, 0FFh
|
||
|
||
locret_D625:
|
||
retf
|
||
sub_D5DA endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D626 proc far
|
||
push si
|
||
push di
|
||
cmp word_EB32, 0
|
||
jnz short loc_D65B
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB32, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB34, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB36, ax
|
||
push 7D00h
|
||
call hmem_allocbyte
|
||
mov word_EB38, ax
|
||
|
||
loc_D65B:
|
||
mov dl, 4
|
||
push ds
|
||
push 0E000h
|
||
push word_EB38
|
||
push 0B800h
|
||
push word_EB36
|
||
push 0B000h
|
||
push word_EB34
|
||
push 0A800h
|
||
push word_EB32
|
||
|
||
loc_D67A:
|
||
pop es
|
||
assume es:nothing
|
||
pop ds
|
||
xor si, si
|
||
xor di, di
|
||
mov cx, 1F40h
|
||
rep movsd
|
||
dec dl
|
||
jnz short loc_D67A
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
retf
|
||
sub_D626 endp ; sp-analysis failed
|
||
|
||
; ---------------------------------------------------------------------------
|
||
push si
|
||
push di
|
||
mov dl, 4
|
||
push ds
|
||
push 0E000h
|
||
push word_EB38
|
||
push 0B800h
|
||
push word_EB36
|
||
push 0B000h
|
||
push word_EB34
|
||
push 0A800h
|
||
push word_EB32
|
||
|
||
loc_D6AF:
|
||
pop ds
|
||
pop es
|
||
xor si, si
|
||
xor di, di
|
||
mov cx, 1F40h
|
||
rep movsd
|
||
dec dl
|
||
jnz short loc_D6AF
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
retf
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D6C4 proc far
|
||
cmp word_EB32, 0
|
||
jz short locret_D6F5
|
||
push word_EB32
|
||
call hmem_free
|
||
push word_EB34
|
||
call hmem_free
|
||
push word_EB36
|
||
call hmem_free
|
||
push word_EB38
|
||
call hmem_free
|
||
mov word_EB32, 0
|
||
|
||
locret_D6F5:
|
||
retf
|
||
sub_D6C4 endp
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D6F6 proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = word ptr 8
|
||
arg_4 = word ptr 0Ah
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push di
|
||
push si
|
||
push ds
|
||
cld
|
||
mov ax, [bp+arg_6]
|
||
mov dx, [bp+arg_4]
|
||
mov bx, ax
|
||
sar bx, 4
|
||
shl bx, 1
|
||
shl dx, 6
|
||
add bx, dx
|
||
shr dx, 2
|
||
add bx, dx
|
||
mov word ptr cs:loc_D75B+1, bx
|
||
and ax, 0Fh
|
||
mov cx, ax
|
||
add ax, [bp+arg_2]
|
||
shr ax, 4
|
||
or cx, cx
|
||
jz short loc_D729
|
||
inc ax
|
||
|
||
loc_D729:
|
||
mov word ptr cs:loc_D760+1, ax
|
||
jmp short $+2
|
||
mov cx, 28h ; '('
|
||
sub cx, ax
|
||
shl cx, 1
|
||
mov ax, [bp+arg_0]
|
||
mov bp, cx
|
||
push 0E000h
|
||
push word_EB38
|
||
push 0B800h
|
||
push word_EB36
|
||
push 0B000h
|
||
push word_EB34
|
||
push 0A800h
|
||
push word_EB32
|
||
mov dl, 4
|
||
|
||
loc_D759:
|
||
mov bx, ax
|
||
|
||
loc_D75B:
|
||
mov di, 1234h
|
||
pop ds
|
||
pop es
|
||
|
||
loc_D760:
|
||
mov cx, 1234h
|
||
mov si, di
|
||
rep movsw
|
||
add di, bp
|
||
dec bx
|
||
jns short loc_D760
|
||
dec dl
|
||
jnz short loc_D759
|
||
pop ds
|
||
pop si
|
||
pop di
|
||
pop bp
|
||
retf 8
|
||
sub_D6F6 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D778 proc near
|
||
mov byte_EB3A, 1
|
||
nop
|
||
sub_D778 endp ; sp-analysis failed
|
||
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
; Attributes: bp-based frame
|
||
|
||
sub_D77E proc far
|
||
|
||
arg_0 = word ptr 6
|
||
arg_2 = dword ptr 8
|
||
arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov di, [bp+arg_6]
|
||
push di
|
||
nopcall sub_D898
|
||
shl di, 4
|
||
add di, 1B46h
|
||
pushd [bp+arg_2]
|
||
call file_ropen
|
||
push ds
|
||
push di
|
||
push 10h
|
||
call file_read
|
||
mov ax, [di]
|
||
mov dx, ax
|
||
cmp byte ptr [di+0Bh], 0
|
||
jz short loc_D7BA
|
||
shl ax, 2
|
||
cmp byte ptr [di+0Bh], 2
|
||
jz short loc_D7BA
|
||
add ax, dx
|
||
|
||
loc_D7BA:
|
||
mul [bp+arg_0]
|
||
movzx eax, ax
|
||
push eax
|
||
push 1
|
||
call file_seek
|
||
call sub_D7DE
|
||
call file_close
|
||
mov byte_EB3A, 0
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 8
|
||
sub_D77E endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D7DE proc near
|
||
mov al, [di+0Bh]
|
||
or al, al
|
||
jz short loc_D813
|
||
cmp al, 2
|
||
jz short loc_D7F0
|
||
cmp byte_EB3A, 0
|
||
jnz short loc_D806
|
||
|
||
loc_D7F0:
|
||
push word ptr [di]
|
||
call hmem_allocbyte
|
||
mov [di+0Ch], ax
|
||
push ax
|
||
push 0
|
||
push word ptr [di]
|
||
call file_read
|
||
jmp short loc_D813
|
||
; ---------------------------------------------------------------------------
|
||
|
||
loc_D806:
|
||
movzx eax, word ptr [di]
|
||
push eax
|
||
push 1
|
||
call file_seek
|
||
|
||
loc_D813:
|
||
cmp byte ptr [di+0Bh], 2
|
||
jz short locret_D835
|
||
mov ax, [di]
|
||
shl ax, 2
|
||
push ax
|
||
call hmem_allocbyte
|
||
mov [di+0Eh], ax
|
||
push ax
|
||
push 0
|
||
mov ax, [di]
|
||
shl ax, 2
|
||
push ax
|
||
call file_read
|
||
|
||
locret_D835:
|
||
retn
|
||
sub_D7DE endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
mov byte_EB3A, 1
|
||
nop
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
pushd dword ptr [bp+6]
|
||
call file_ropen
|
||
mov di, [bp+0Ah]
|
||
shl di, 4
|
||
add di, 1B46h
|
||
push ds
|
||
push di
|
||
push 10h
|
||
call file_read
|
||
mov si, di
|
||
mov bp, [bp+0Ah]
|
||
mov al, [si+0Ah]
|
||
mov byte_10476, al
|
||
push ds
|
||
pop es
|
||
assume es:dseg
|
||
|
||
loc_D86A:
|
||
push bp
|
||
call sub_D898
|
||
mov cx, 3
|
||
rep movsd
|
||
sub si, 0Ch
|
||
sub di, 0Ch
|
||
call sub_D7DE
|
||
inc bp
|
||
add di, 10h
|
||
dec byte_10476
|
||
jnz short loc_D86A
|
||
call file_close
|
||
mov byte_EB3A, 0
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf 6
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D898 proc far
|
||
mov bx, sp
|
||
push di
|
||
mov di, ss:[bx+4]
|
||
shl di, 4
|
||
add di, 1B52h
|
||
cmp word ptr [di], 0
|
||
jz short loc_D8B6
|
||
push word ptr [di]
|
||
call hmem_free
|
||
mov word ptr [di], 0
|
||
|
||
loc_D8B6:
|
||
add di, 2
|
||
cmp word ptr [di], 0
|
||
jz short loc_D8C9
|
||
push word ptr [di]
|
||
call hmem_free
|
||
mov word ptr [di], 0
|
||
|
||
loc_D8C9:
|
||
pop di
|
||
retf 2
|
||
sub_D898 endp
|
||
|
||
; ---------------------------------------------------------------------------
|
||
nop
|
||
|
||
; =============== S U B R O U T I N E =======================================
|
||
|
||
|
||
sub_D8CE proc far
|
||
push si
|
||
mov si, 3Fh ; '?'
|
||
|
||
loc_D8D2:
|
||
push si
|
||
call sub_D898
|
||
dec si
|
||
jge short loc_D8D2
|
||
pop si
|
||
retf
|
||
sub_D8CE endp
|
||
|
||
seg002 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure code
|
||
seg003 segment byte public 'CODE' use16
|
||
assume cs:seg003
|
||
;org 0Ch
|
||
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
|
||
|
||
include libs/BorlandC/ctor2[textc].asm
|
||
include libs/BorlandC/ctor3[textc].asm
|
||
include libs/BorlandC/strings[textc].asm
|
||
dd 0, 0, 0
|
||
seg003 ends
|
||
|
||
; ===========================================================================
|
||
|
||
; Segment type: Pure data
|
||
dseg segment para public 'DATA' use16
|
||
assume cs:dseg
|
||
|
||
include libs/BorlandC/c0[data].asm
|
||
|
||
off_E5C0 dd a_ed000_txt
|
||
; "_ED000.TXT"
|
||
aMiko_cfg db 'MIKO.CFG',0
|
||
a_ed000_txt db '_ED000.TXT',0
|
||
aCong00_pi db 'CONG00.pi',0
|
||
aMSzlEd_dat db '<27><><EFBFBD>z<EFBFBD><7A>ed.dat',0
|
||
aGameft_bft db 'GAMEFT.bft',0
|
||
; char arg0[]
|
||
arg0 db 'op',0
|
||
db 0
|
||
include libs/master.lib/atrtcmod[data].asm
|
||
include libs/master.lib/bfnt_id[data].asm
|
||
include libs/master.lib/clip[data].asm
|
||
include libs/master.lib/fil[data].asm
|
||
include libs/master.lib/dos_ropen[data].asm
|
||
include libs/master.lib/get_machine_98[data].asm
|
||
include libs/master.lib/get_machine_at[data].asm
|
||
include libs/master.lib/gaiji_backup[data].asm
|
||
include libs/master.lib/gaiji_entry_bfnt[data].asm
|
||
include libs/master.lib/grp[data].asm
|
||
word_E658 dw 0
|
||
dw 0
|
||
dw 0
|
||
dw 0
|
||
include libs/master.lib/machine[data].asm
|
||
include libs/master.lib/pal[data].asm
|
||
include libs/master.lib/pf[data].asm
|
||
include libs/master.lib/rand[data].asm
|
||
include libs/master.lib/sin8[data].asm
|
||
include libs/master.lib/tx[data].asm
|
||
include libs/master.lib/vs[data].asm
|
||
include libs/master.lib/wordmask[data].asm
|
||
include libs/master.lib/mem[data].asm
|
||
include libs/master.lib/super_entry_bfnt[data].asm
|
||
include libs/master.lib/superpa[data].asm
|
||
include th02/formats/pfopen[data].asm
|
||
include libs/master.lib/bgm_timerhook[data].asm
|
||
include libs/master.lib/bgm[data].asm
|
||
dw 0
|
||
db 20h
|
||
db 10h
|
||
db 2
|
||
db 12h
|
||
db 12h
|
||
db 40h
|
||
db 10h
|
||
db 11h
|
||
db 2
|
||
db 12h
|
||
db 20h
|
||
db 20h
|
||
db 20h
|
||
db 20h
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 24h ; $
|
||
db 10h
|
||
db 4
|
||
db 10h
|
||
db 8
|
||
db 30h ; 0
|
||
db 50h ; P
|
||
db 11h
|
||
db 4
|
||
db 0Bh
|
||
db 50h ; P
|
||
db 50h ; P
|
||
db 50h ; P
|
||
db 20h
|
||
db 0
|
||
db 0FFh
|
||
db 0FFh
|
||
db 7Fh
|
||
db 0FFh
|
||
db 3Fh ; ?
|
||
db 0FFh
|
||
db 1Fh
|
||
db 0FFh
|
||
db 0Fh
|
||
db 0FFh
|
||
db 7
|
||
db 0FFh
|
||
db 3
|
||
db 0FFh
|
||
db 1
|
||
db 0FFh
|
||
db 0
|
||
db 0FFh
|
||
db 0
|
||
db 7Fh
|
||
db 0
|
||
db 3Fh ; ?
|
||
db 0
|
||
db 1Fh
|
||
db 0
|
||
db 0Fh
|
||
db 0
|
||
db 7
|
||
db 0
|
||
db 3
|
||
db 0
|
||
db 1
|
||
byte_EAD0 db 0
|
||
byte_EAD1 db 0
|
||
byte_EAD2 db 0
|
||
db 0
|
||
dd aM26 ; "m26"
|
||
dd aM26 ; "m26"
|
||
dd aM86 ; "m86"
|
||
dd aMmd ; "mmd"
|
||
aM26 db 'm26',0
|
||
aM86 db 'm86',0
|
||
aMmd db 'mmd',0
|
||
db 71h ; q
|
||
db 0
|
||
db 6Bh ; k
|
||
db 0
|
||
db 78h ; x
|
||
db 0
|
||
db 72h ; r
|
||
db 0
|
||
db 89h
|
||
db 0
|
||
db 1Fh
|
||
db 0
|
||
db 19h
|
||
db 0
|
||
db 26h ; &
|
||
db 0
|
||
db 20h
|
||
db 0
|
||
db 37h ; 7
|
||
db 0
|
||
db 0DCh
|
||
db 5
|
||
db 0E4h ; <20>E
|
||
db 5
|
||
db 0ECh
|
||
db 5
|
||
db 0F4h
|
||
db 5
|
||
db 88h
|
||
db 88h
|
||
db 0
|
||
db 0
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 0
|
||
db 0
|
||
db 88h
|
||
db 88h
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
word_EB2C dw 2
|
||
word_EB2E dw 10h
|
||
byte_EB30 db 0FFh
|
||
byte_EB31 db 0
|
||
word_EB32 dw 0
|
||
word_EB34 dw 0
|
||
word_EB36 dw 0
|
||
word_EB38 dw 0
|
||
byte_EB3A db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 11h
|
||
db 11h
|
||
db 0
|
||
db 0
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 88h
|
||
db 88h
|
||
db 11h
|
||
db 11h
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0EEh
|
||
db 0EEh
|
||
db 77h ; w
|
||
db 77h ; w
|
||
db 0BBh ; <20>
|
||
db 0BBh ; <20>
|
||
db 0DDh
|
||
db 0DDh
|
||
db 88h
|
||
db 88h
|
||
db 0
|
||
db 0
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 0
|
||
db 0
|
||
db 88h
|
||
db 88h
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 22h ; "
|
||
db 22h ; "
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 11h
|
||
db 11h
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 44h ; D
|
||
db 44h ; D
|
||
db 0AAh ; <20>
|
||
db 0AAh ; <20>
|
||
db 55h ; U
|
||
db 55h ; U
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 0FFh
|
||
db 20h
|
||
db 20h
|
||
db 0
|
||
db 0
|
||
aSff1_pi db 'sff1.pi',0
|
||
aStaff db 'staff',0
|
||
aSff1_cdg db 'sff1.cdg',0
|
||
aSff1b_cdg db 'sff1b.cdg',0
|
||
aSff2_cdg db 'sff2.cdg',0
|
||
aSff2b_cdg db 'sff2b.cdg',0
|
||
aSff3_cdg db 'sff3.cdg',0
|
||
aSff3b_cdg db 'sff3b.cdg',0
|
||
aSff2_pi db 'sff2.pi',0
|
||
aSff4_cdg db 'sff4.cdg',0
|
||
aSff4b_cdg db 'sff4b.cdg',0
|
||
aSff5_cdg db 'sff5.cdg',0
|
||
aSff5b_cdg db 'sff5b.cdg',0
|
||
aSff8_cdg db 'sff8.cdg',0
|
||
aSff8b_cdg db 'sff8b.cdg',0
|
||
aSff9_cdg db 'sff9.cdg',0
|
||
aSff9b_cdg db 'sff9b.cdg',0
|
||
aSff6_cdg db 'sff6.cdg',0
|
||
aSff6b_cdg db 'sff6b.cdg',0
|
||
aSff7_cdg db 'sff7.cdg',0
|
||
aSff7b_cdg db 'sff7b.cdg',0
|
||
db 0
|
||
byte_EC4A db 0
|
||
include th04/strings/verdict[data].asm
|
||
byte_EC73 db 0
|
||
aU_ db '<27>_',0
|
||
aBd db '<27>D',0
|
||
aBu db '<27><>',0
|
||
aBd_0 db '<27>D',0
|
||
aBu_0 db '<27><>',0
|
||
aB@b@b@b@b@b@b@ db '<27>@<40>@<40>@<40>@<40>@<40>@<40>@ <20>r<EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>',0
|
||
aUqiUx db '<27><><EFBFBD>Փx',0
|
||
aNPiuU_ db '<27>ŏI<C58F><49><EFBFBD>_',0
|
||
aGGxi db '<27>~<7E>X<EFBFBD><58><EFBFBD><EFBFBD>',0
|
||
aGGaogcpi db '<27>{<7B><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD>',0
|
||
aGqbGatbrmcj db '<27>Q<EFBFBD>[<5B><><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD>',0
|
||
aIlcSObcj db '<27><><EFBFBD><EFBFBD><EFBFBD>ގ<EFBFBD><DE8E><EFBFBD>',0
|
||
aGagcgegai db '<27>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aUU_gagcgeganNv db '<27><><EFBFBD>_<EFBFBD>A<EFBFBD>C<EFBFBD>e<EFBFBD><65><EFBFBD>ō<EFBFBD><C58D>_<EFBFBD><5F>',0
|
||
aLcnzvv db '<27>C<EFBFBD><43><EFBFBD><EFBFBD>',0
|
||
aPicacovCj db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
||
aVavVVSrso db '<27><><EFBFBD>Ȃ<EFBFBD><C882>̘r<CC98>O',0
|
||
aTimes db '<27><>',0
|
||
aTimes_0 db '<27><>',0
|
||
aPoint db '<27>_',0
|
||
a_ude_txt db '_ude.txt',0
|
||
aBhbhbhbhbhbhu_ db '<27>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>H<EFBFBD>_',0
|
||
aPicacovVVcvsfT db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982>锻<EFBFBD><E994BB><EFBFBD>s<EFBFBD><73>',0
|
||
aUde_pi db 'ude.pi',0
|
||
db 0
|
||
gALPHABET db 0AAh, 0ABh, 0ACh, 0ADh, 0AEh, 0AFh, 0B0h, 0B1h, 0B2h
|
||
db 0B3h, 0B4h, 0B5h, 0B6h, 0B7h, 0B8h, 0B9h, 0BAh, 0BBh
|
||
db 0BCh, 0BDh, 0BEh, 0BFh, 0C0h, 0C1h, 0C2h, 0C3h, 0C4h
|
||
db 0C5h, 3, 6, 7, 8, 0Ch, 0Fh, 0A0h, 0A1h, 0A2h, 0A3h
|
||
db 0A4h, 0A5h, 0A6h, 0A7h, 0A8h, 0A9h, 0E6h, 0E7h, 0E8h
|
||
db 0CEh, 0CFh, 0CDh, 0D5h
|
||
aGensou_scr db 'GENSOU.SCR',0
|
||
aGensou_scr_0 db 'GENSOU.SCR',0
|
||
aGensou_scr_1 db 'GENSOU.SCR',0
|
||
aGensou_scr_2 db 'GENSOU.SCR',0
|
||
aHi01_pi db 'hi01.pi',0
|
||
aScnum2_bft db 'scnum2.bft',0
|
||
aGxgnbGvbGhvVGv db '<27>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>^<5E><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aGxgnbGvbGhvV_1 db '<27>X<EFBFBD><58><EFBFBD>[<5B><><EFBFBD>[<5B>h<EFBFBD>ł̃v<CC83><76><EFBFBD>C<EFBFBD>ł́A<CD81>X<EFBFBD>R<EFBFBD>A<EFBFBD>͋L<CD8B>^<5E><><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>',0
|
||
aName db 'name',0
|
||
db 0
|
||
include libs/BorlandC/_abort[data].asm
|
||
include libs/BorlandC/atexit[data].asm
|
||
include libs/BorlandC/exit[data].asm
|
||
include libs/BorlandC/files[data].asm
|
||
include libs/BorlandC/ioerror[data].asm
|
||
include libs/BorlandC/new[data].asm
|
||
include libs/BorlandC/stklen[data].asm
|
||
include libs/BorlandC/ctype[data].asm
|
||
include libs/BorlandC/xxv[data].asm
|
||
include libs/BorlandC/cputype[data].asm
|
||
include libs/BorlandC/fbrk[data].asm
|
||
include libs/BorlandC/signal[data].asm
|
||
include libs/BorlandC/pathops[data].asm
|
||
include libs/BorlandC/srchenv[data].asm
|
||
include libs/BorlandC/srchstr[data].asm
|
||
include libs/BorlandC/setvbuf[data].asm
|
||
include libs/BorlandC/sysnerr[data].asm
|
||
include libs/BorlandC/xx[data].asm
|
||
include libs/BorlandC/setenvp[data].asm
|
||
include libs/BorlandC/strings[data].asm
|
||
include libs/BorlandC/loadprog[data].asm
|
||
|
||
InitStart label byte
|
||
include libs/BorlandC/new[initdata].asm
|
||
include libs/BorlandC/setupio[initdata].asm
|
||
include libs/BorlandC/cputype[initdata].asm
|
||
include libs/BorlandC/pathops[initdata].asm
|
||
include libs/BorlandC/setenvp[initdata].asm
|
||
InitEnd label byte
|
||
|
||
ExitStart label byte
|
||
include libs/BorlandC/new[exitdata].asm
|
||
ExitEnd label byte
|
||
|
||
bdata@ label byte
|
||
; TODO: Missing clip[bss].asm (8 bytes) somewhere in there...
|
||
dword_F3CE dd 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
include libs/master.lib/fil[bss].asm
|
||
word_F3F6 dw 0
|
||
db 0
|
||
db 0
|
||
include libs/master.lib/pal[bss].asm
|
||
include libs/master.lib/vs[bss].asm
|
||
include libs/master.lib/vsync[bss].asm
|
||
include libs/master.lib/mem[bss].asm
|
||
include libs/master.lib/superpa[bss].asm
|
||
dword_FC3C dd 0
|
||
dword_FC40 dd 0
|
||
dword_FC44 dd 0
|
||
dword_FC48 dd 0
|
||
include libs/master.lib/pfint21[bss].asm
|
||
include th02/formats/pi_slots[bss].asm
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
db 0
|
||
byte_FF9A db 0
|
||
db 0
|
||
include libs/master.lib/bgm[bss].asm
|
||
unk_10062 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
word_10070 dw ?
|
||
word_10072 dw ?
|
||
byte_10074 db ?
|
||
db ? ;
|
||
dw ?
|
||
word_10078 dw ?
|
||
word_1007A dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
word_10098 dw ?
|
||
word_1009A dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_10476 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
word_12478 dw ?
|
||
dword_1247A dd ?
|
||
byte_1247E db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
word_124BC dw ?
|
||
word_124BE dw ?
|
||
word_124C0 dw ?
|
||
byte_124C2 db ?
|
||
db ? ;
|
||
word_124C4 dw ?
|
||
byte_124C6 db ?
|
||
byte_124C7 db ?
|
||
fp_124C8 dw ?
|
||
dw ?
|
||
byte_124CC db ?
|
||
db ? ;
|
||
dword_124CE dd ?
|
||
byte_124D2 db ?
|
||
unk_124D3 db ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
db ? ;
|
||
byte_124EF db ?
|
||
db ? ;
|
||
db ? ;
|
||
byte_124F2 db ?
|
||
byte_124F3 db ?
|
||
word_124F4 dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
db ? ;
|
||
word_12530 dw ?
|
||
word_12532 dw ?
|
||
dword_12534 dd ?
|
||
word_12538 dw ?
|
||
word_1253A dw ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
byte_125A0 db ?
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
dd ? ;
|
||
db ? ;
|
||
byte_125B6 db ?
|
||
byte_125B7 db ?
|
||
word_125B8 dw ?
|
||
include libs/BorlandC/atexit[bss].asm
|
||
include libs/BorlandC/sigdata[bss].asm
|
||
include libs/BorlandC/xxv[bss].asm
|
||
include libs/BorlandC/signal[bss].asm
|
||
include libs/BorlandC/xx[bss].asm
|
||
edata@ label byte
|
||
|
||
dseg ends
|
||
|
||
include libs/BorlandC/stack.asm
|
||
|
||
end startx
|