; ; +-------------------------------------------------------------------------+ ; | This file has been generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2009 by Hex-Rays, | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 492DA6ACEE8714C252630BCE0D3C12FD ; File Name : th04/OP.EXE ; Format : MS-DOS executable (EXE) ; Base Address: 0h Range: 0h-133E0h Loaded length: 11A40h ; Entry Point : 0:0 ; OS type : MS DOS ; Application type: Executable 16bit CGROUP00 group seg000 CGROUP01 group seg001 CGROUP02 group seg002 CGROUP03 group seg003 .386 .model large include ReC98.inc ; =========================================================================== ; Segment type: Pure code seg000 segment word public 'CODE' use16 assume cs:seg000 assume es:nothing, ss:seg005, 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_keyclear.asm include libs/master.lib/dos_puts2.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_write.asm include libs/master.lib/dos_close.asm include libs/master.lib/dos_ropen.asm include libs/master.lib/grcg_boxfill.asm include libs/master.lib/grcg_byteboxfill_x.asm include libs/master.lib/grcg_hline.asm include libs/master.lib/grcg_polygon_c.asm include libs/master.lib/grcg_round_boxfill.asm include libs/master.lib/grcg_setcolor.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_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_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_show.asm include libs/master.lib/graph_start.asm include libs/master.lib/js_end.asm include libs/master.lib/keybeep.asm include libs/master.lib/make_linework.asm include libs/master.lib/palette_init.asm include libs/master.lib/palette_show.asm include libs/master.lib/pfclose.asm include libs/master.lib/pfgetc.asm db 0 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/BorlandC/text_clear.asm include libs/BorlandC/txesc.asm db 0 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/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_rect.asm include libs/master.lib/super_put.asm include libs/master.lib/respal_exist.asm include libs/master.lib/respal_free.asm ; --------------------------------------------------------------------------- dword_2FDC dd 0 byte_2FE0 db 0, 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_2FE2 proc far arg_0 = dword ptr 6 push bp mov bp, sp cld mov ax, word ptr cs:dword_2FDC or ax, word ptr cs:dword_2FDC+2 jz short loc_2FF4 jmp loc_3075 ; --------------------------------------------------------------------------- loc_2FF4: push di push si push word ptr [bp+arg_0+2] push word ptr [bp+arg_0] call file_ropen push 10h call hmem_allocbyte mov di, ax push ax push 0 push 10h call file_read mov ax, di mov es, ax mov di, es:0 mov si, es:6 push ax call hmem_free push di call hmem_allocbyte mov word_116AE, ax push ax push 0 push di call file_read call file_close mov cx, di mov ax, word_116AE mov es, ax mov ax, si xor bx, bx loc_3043: xor es:[bx], al sub al, es:[bx] inc bx loop loc_3043 pop si pop di mov ax, 3521h int 21h ; DOS - 2+ - GET INTERRUPT VECTOR ; AL = interrupt number ; Return: ES:BX = value of interrupt vector mov word ptr cs:dword_2FDC, bx mov word ptr cs:dword_2FDC+2, es mov word_116AA, 0 mov word_116AC, 0FFFFh push ds push cs pop ds assume ds:seg000 mov dx, 30D6h mov ax, 2521h int 21h ; DOS - SET INTERRUPT VECTOR ; AL = interrupt number ; DS:DX = new vector to be used for specified interrupt pop ds assume ds:dseg loc_3075: push si push di push ds mov cx, 0FFFFh mov al, 0 les di, [bp+arg_0] repne scasb not cx sub di, cx mov si, di mov di, 22EAh push ds push es pop ds pop es shr cx, 1 rep movsw adc cx, cx rep movsb pop ds pop di pop si pop bp retf 4 sub_2FE2 endp ; =============== S U B R O U T I N E ======================================= sub_309E proc far mov ax, word ptr cs:dword_2FDC or ax, word ptr cs:dword_2FDC+2 jz short locret_30D5 push ds lds dx, cs:dword_2FDC mov ax, 2521h int 21h ; DOS - SET INTERRUPT VECTOR ; AL = interrupt number ; DS:DX = new vector to be used for specified interrupt pop ds xor ax, ax mov word ptr cs:dword_2FDC, ax mov word ptr cs:dword_2FDC+2, ax cmp word_116AA, ax jz short locret_30D5 push word_116AA call pfclose push word_116AE call hmem_free locret_30D5: retf sub_309E endp ; --------------------------------------------------------------------------- cmp cs:byte_2FE0, 0 jz short loc_30E3 jmp cs:dword_2FDC ; --------------------------------------------------------------------------- loc_30E3: pusha push ds push es mov bp, sp mov di, seg dseg mov ds, di inc cs:byte_2FE0 push word ptr [bp+18h] popf mov cs:byte_313A, ah mov si, 310Ah loc_30FE: add si, 4 cmp ah, cs:[si] jnz short loc_30FE mov di, word_116AC jmp word ptr cs:[si+2] ; --------------------------------------------------------------------------- db 3Dh, 0, 3Eh, 31h, 3Eh, 0, 73h, 31h, 3Fh, 0, 91h, 31h db 42h, 0, 0A5h, 31h, 46h, 0, 6, 32h, 40h, 0, 0Ah, 32h db 45h, 0, 0Ah, 32h, 4Ch, 0, 0E8h, 31h, 57h, 0, 0Ah, 32h db 5Ch, 0, 0Ah, 32h, 44h, 0, 0F4h, 31h byte_313A db 0 db 0 db 0Eh, 32h, 0A8h, 0Fh, 74h, 3, 0E9h, 0C9h, 0, 0Bh, 0FFh db 78h, 3, 0E9h, 0C2h, 0, 1Eh, 68h, 0EAh, 22h, 0FFh, 76h db 2, 52h, 0Eh, 0E8h, 0DEh, 1, 0Bh, 0C0h, 75h, 3, 0E9h db 0AFh, 0, 0A3h, 6Ah, 23h, 8Eh, 0C0h, 26h, 8Eh, 6, 2 dup(0) db 26h, 0A1h, 2 dup(0), 0A3h, 6Ch, 23h, 0E9h, 0B6h, 0 db 3Bh, 0DFh, 74h, 3, 0E9h, 94h, 0, 0FFh, 36h, 6Ah, 23h db 0Eh, 0E8h, 68h, 0EDh, 0C7h, 6, 6Ah, 23h, 2 dup(0), 0C7h db 6, 6Ch, 23h, 2 dup(0FFh), 0E9h, 98h, 0, 3Bh, 0DFh, 75h db 79h, 0FFh, 76h, 2, 52h, 51h, 0FFh, 36h, 6Ah, 23h, 0Eh db 0E8h, 12h, 0EEh, 0E9h, 84h, 0, 3Bh, 0DFh, 75h, 65h db 0Bh, 0C9h, 7Ch, 73h, 3Ch, 1, 74h, 28h, 7Ch, 1Ah, 8Eh db 6, 6Ah, 23h, 26h, 8Bh, 2 dup(16h), 0, 26h, 8Bh, 0Eh db 18h, 0, 26h, 2Bh, 16h, 12h, 0, 26h, 1Bh, 0Eh, 14h, 0 db 0EBh, 0Ch, 51h, 52h, 0FFh, 36h, 6Ah, 23h, 0Eh, 0E8h db 0Bh, 0EEh, 5Ah, 59h, 0FFh, 36h, 6Ah, 23h, 51h, 52h db 0Eh, 0E8h, 3Bh, 0EEh, 89h, 56h, 0Eh, 0EBh, 41h, 2Eh db 0C5h, 16h, 0DCh, 2Fh, 0B8h, 21h, 25h, 0CDh, 21h, 0EBh db 1Ah, 8Ah, 0C8h, 0B8h, 1, 0, 0D3h, 0E0h, 2Eh, 85h, 6 db 4, 32h, 75h, 8, 0EBh, 0Ah, 0CFh, 14h, 8Bh, 0CFh, 74h db 16h, 3Bh, 0DFh, 74h, 12h, 2Eh, 0FEh, 0Eh, 0E0h, 2Fh db 0FFh, 76h, 18h, 9Dh, 7, 1Fh, 61h, 0FAh, 2Eh, 0FFh, 2Eh db 0DCh, 2Fh, 80h, 4Eh, 18h, 1, 0B8h, 1, 0, 0EBh, 4, 80h db 66h, 18h, 0FEh, 89h, 46h, 12h, 2Eh, 0FEh, 0Eh, 0E0h db 2Fh, 7, 1Fh, 61h, 0CFh, 0 ; =============== S U B R O U T I N E ======================================= sub_323A proc far mov cx, 100h mov dx, 188h loc_3240: in al, dx inc al jnz short loc_324B loop loc_3240 xor ax, ax jmp short loc_325F ; --------------------------------------------------------------------------- loc_324B: 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_325F: mov word_F8BC, ax retf sub_323A endp ; --------------------------------------------------------------------------- nop include libs/master.lib/draw_trapezoid.asm db 0C8h, 3 dup(0), 56h, 57h, 0C7h db 6, 64h, 8, 7, 0, 6Ah, 1Fh, 0Eh, 0E8h, 0Ah, 0F4h, 0Fh db 82h, 0F6h, 0, 8Bh, 0F0h, 0FFh, 76h, 0Ch, 0FFh, 76h db 0Ah, 0Eh, 0E8h, 4Ch, 0D3h, 0Bh, 0C0h, 0Fh, 84h, 0DDh db 0, 8Eh, 0C6h, 26h, 0A3h, 2 dup(0), 0A1h, 6Eh, 23h, 8Eh db 0E0h, 33h, 0C0h, 8Bh, 0F8h, 64h, 8Ah, 5, 0BBh, 2, 0 db 0Ah, 0C0h, 74h, 18h, 0BBh, 3, 0, 3, 0DFh, 0FFh, 76h db 8, 0FFh, 76h, 6, 0Fh, 0A0h, 53h, 0E8h, 0C8h, 0, 75h db 7, 83h, 0C7h, 20h, 0EBh, 0DEh, 8Bh, 0C3h, 8Eh, 0C6h db 64h, 8Bh, 45h, 14h, 64h, 8Bh, 55h, 16h, 26h, 0A3h, 0Eh db 0, 26h, 89h, 16h, 10h, 0, 26h, 0FFh, 36h, 2 dup(0) db 52h, 50h, 6Ah, 0, 0Eh, 0E8h, 0B9h, 0D3h, 0B8h, 62h db 1Fh, 64h, 8Ah, 55h, 2, 8Eh, 0C6h, 0Ah, 0D2h, 74h, 8 db 26h, 88h, 16h, 1Eh, 0, 0B8h, 0A6h, 1Fh, 26h, 0A3h, 4 db 0, 8Eh, 0C1h, 64h, 8Bh, 5, 8Eh, 0C6h, 3Dh, 88h, 0F3h db 74h, 0Ah, 3Dh, 2 dup(95h), 74h, 0Fh, 0B8h, 5, 0, 0EBh db 4Fh, 26h, 0A1h, 4, 0, 26h, 0A3h, 2, 0, 0EBh, 15h, 26h db 0C7h, 6, 2, 0, 14h, 1Fh, 26h, 0C7h, 6, 1Ah, 3 dup(0) db 26h, 0C7h, 6, 1Ch, 0, 2 dup(0FFh), 64h, 8Bh, 5Dh, 10h db 64h, 8Bh, 55h, 12h, 33h, 0C0h, 26h, 89h, 1Eh, 6, 0 db 26h, 0A3h, 8, 0, 26h, 89h, 2 dup(16h), 0, 26h, 0A3h db 18h, 0, 26h, 0A3h, 0Ah, 0, 26h, 0A3h, 0Ch, 0, 26h, 0A3h db 12h, 0, 26h, 0A3h, 14h, 0, 8Bh, 0C6h, 0EBh, 1Ah, 0A3h db 0C0h, 5, 26h, 0FFh, 36h, 2 dup(0), 0Eh, 0E8h, 23h, 0D1h db 56h, 0Eh, 0E8h, 16h, 0F4h, 0EBh, 5, 0C6h, 6, 0C0h, 5 db 3, 33h, 0C0h, 5Fh, 5Eh, 0C9h, 0CAh, 8, 0, 90h ; --------------------------------------------------------------------------- push bp mov bp, sp push si push ds cld les bx, [bp+8] lds si, [bp+4] loc_345C: mov ah, es:[bx] inc bx lodsb sub al, 61h ; 'a' cmp al, 19h ja short loc_3469 sub al, 20h ; ' ' loc_3469: sub ah, 61h ; 'a' cmp ah, 19h ja short loc_3474 sub ah, 20h ; ' ' loc_3474: cmp ah, al jnz short loc_347E add al, 61h ; 'a' jnz short loc_345C jmp short loc_3480 ; --------------------------------------------------------------------------- loc_347E: xor ax, ax loc_3480: test ax, ax pop ds pop si pop bp retn 8 ; =============== S U B R O U T I N E ======================================= sub_3488 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_3488 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_349A proc far pushf cli mov bl, 80h call sub_3488 and ax, 3Fh popf retf sub_349A 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 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/f_scopy.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/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/getch.asm include libs/BorlandC/kbhit.asm include libs/BorlandC/loadprog.asm seg000 ends ; =========================================================================== ; Segment type: Pure code seg001 segment byte public 'CODE' use16 assume cs:seg001 ;org 0Ch 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_A74C proc near var_C = word ptr -0Ch var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = word ptr -4 enter 0Ch, 0 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 ax, [bp+var_4] mov [bp+var_C], ax mov word ptr dword_10DA4+2, ax mov word ptr dword_10DA4, 0 les bx, dword_10DA4 mov al, [bp+var_A] mov es:[bx+0Fh], al mov al, [bp+var_9] mov es:[bx+3Ah], al mov al, [bp+var_8] mov es:[bx+3Bh], al mov al, [bp+var_7] mov es:[bx+10h], al mov al, [bp+var_6] mov es:[bx+18h], al mov al, [bp+var_5] mov es:[bx+49h], al cmp byte ptr es:[bx+3Ah], 6 ja short loc_A7B5 cmp byte ptr es:[bx+3Ah], 0 jnz short loc_A7BE loc_A7B5: les bx, dword_10DA4 mov byte ptr es:[bx+3Ah], 3 loc_A7BE: les bx, dword_10DA4 cmp byte ptr es:[bx+3Bh], 2 jbe short loc_A7CE mov byte ptr es:[bx+3Bh], 2 loc_A7CE: les bx, dword_10DA4 cmp byte ptr es:[bx+10h], 3 jb short loc_A7DE mov byte ptr es:[bx+10h], 0 loc_A7DE: les bx, dword_10DA4 cmp byte ptr es:[bx+18h], 3 jb short locret_A7EE mov byte ptr es:[bx+18h], 0 locret_A7EE: leave retn sub_A74C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A7F0 proc near var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 enter 8, 0 push ds push offset aMiko_cfg ; "MIKO.CFG" call file_append push large 0 push 0 call file_seek les bx, dword_10DA4 mov al, es:[bx+0Fh] mov [bp+var_8], al mov al, es:[bx+3Ah] mov [bp+var_7], al mov al, es:[bx+3Bh] mov [bp+var_6], al mov al, es:[bx+10h] mov [bp+var_5], al mov al, es:[bx+18h] mov [bp+var_4], al mov al, es:[bx+49h] mov [bp+var_3], al push ss lea ax, [bp+var_8] push ax push 6 call file_write push large 9 push 0 call file_seek mov al, [bp+var_8] add al, [bp+var_7] add al, [bp+var_6] add al, [bp+var_5] add al, [bp+var_4] add al, [bp+var_3] mov [bp+var_2], al push ss lea ax, [bp+var_2] push ax push 1 call file_write call file_close leave retn sub_A7F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A873 proc near var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_1 = byte ptr -1 enter 0Ah, 0 lea ax, [bp+var_A] push ss push ax push ds push offset unk_F3D1 mov cx, 0Ah call SCOPY@ push ds push offset aMiko_cfg ; "MIKO.CFG" call file_append push large 0 push 0 call file_seek les bx, dword_10DA4 mov al, es:[bx+0Fh] mov [bp+var_A], al mov al, es:[bx+3Ah] mov [bp+var_9], al mov al, es:[bx+3Bh] mov [bp+var_8], al mov al, es:[bx+10h] mov [bp+var_7], al mov al, es:[bx+18h] mov [bp+var_6], al mov al, es:[bx+49h] mov [bp+var_5], al mov al, [bp+var_A] add al, [bp+var_9] add al, [bp+var_8] add al, [bp+var_7] add al, [bp+var_6] add al, [bp+var_5] mov [bp+var_1], al push ss lea ax, [bp+var_A] push ax push 0Ah call file_write call file_close leave retn sub_A873 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A8F1 proc near push bp mov bp, sp les bx, dword_10DA4 mov byte ptr es:[bx+11h], 0 mov al, es:[bx+3Ah] mov es:[bx+0Ch], al mov al, es:[bx+3Bh] mov es:[bx+0Eh], al mov byte ptr es:[bx+12h], 30h ; '0' mov byte ptr es:[bx+13h], 30h ; '0' call sub_D708 or ax, ax jnz short loc_A96A les bx, dword_10DA4 mov byte ptr es:[bx+3Eh], 0 call sub_CCC8 call sub_A7F0 call gaiji_restore push 20Ah call sub_DC74 call sub_E0AC les bx, dword_10DA4 cmp byte ptr es:[bx+1Ah], 0 jnz short loc_A957 push large 0 push ds push offset aMain ; "main" push ds push offset aMain ; "main" jmp short loc_A962 ; --------------------------------------------------------------------------- loc_A957: push large 0 push ds push offset path ; "deb" push ds push offset path ; "deb" loc_A962: call _execl add sp, 0Ch loc_A96A: pop bp retn sub_A8F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A96C proc near push bp mov bp, sp les bx, dword_10DA4 mov byte ptr es:[bx+11h], 6 mov byte ptr es:[bx+0Ch], 3 mov byte ptr es:[bx+0Eh], 2 mov byte ptr es:[bx+12h], 30h ; '0' mov byte ptr es:[bx+13h], 36h ; '6' call sub_D708 or ax, ax jnz short loc_A9C7 les bx, dword_10DA4 mov byte ptr es:[bx+3Eh], 0 call sub_CCC8 call sub_A7F0 call gaiji_restore push 20Ah call sub_DC74 call sub_E0AC push large 0 push ds push offset aMain ; "main" push ds push offset aMain ; "main" call _execl add sp, 0Ch loc_A9C7: pop bp retn sub_A96C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_A9C9 proc near push bp mov bp, sp les bx, dword_10DA4 mov byte ptr es:[bx+11h], 0 mov byte ptr es:[bx+0Ch], 3 mov byte ptr es:[bx+0Eh], 3 inc byte ptr es:[bx+3Eh] cmp byte ptr es:[bx+3Eh], 4 jbe short loc_A9EF mov byte ptr es:[bx+3Eh], 1 loc_A9EF: les bx, dword_10DA4 mov al, es:[bx+3Eh] mov ah, 0 dec ax mov bx, ax cmp bx, 3 ja short loc_AA6E add bx, bx jmp cs:off_AAAD[bx] loc_AA08: les bx, dword_10DA4 mov byte ptr es:[bx+12h], 30h ; '0' mov byte ptr es:[bx+13h], 33h ; '3' mov byte ptr es:[bx+19h], 0 mov byte ptr es:[bx+3Ch], 3 jmp short loc_AA6E ; --------------------------------------------------------------------------- loc_AA22: les bx, dword_10DA4 mov byte ptr es:[bx+12h], 31h ; '1' mov byte ptr es:[bx+13h], 30h ; '0' mov byte ptr es:[bx+19h], 0 mov byte ptr es:[bx+3Ch], 0 jmp short loc_AA6E ; --------------------------------------------------------------------------- loc_AA3C: les bx, dword_10DA4 mov byte ptr es:[bx+12h], 30h ; '0' mov byte ptr es:[bx+13h], 32h ; '2' mov byte ptr es:[bx+19h], 1 mov byte ptr es:[bx+3Ch], 2 jmp short loc_AA6E ; --------------------------------------------------------------------------- loc_AA56: les bx, dword_10DA4 mov byte ptr es:[bx+12h], 31h ; '1' mov byte ptr es:[bx+13h], 31h ; '1' mov byte ptr es:[bx+19h], 1 mov byte ptr es:[bx+3Ch], 1 loc_AA6E: push 1 call palette_black_out call super_free push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free call sub_CCC8 call sub_A7F0 call gaiji_restore call sub_E0AC push large 0 push ds push offset aMain ; "main" push ds push offset aMain ; "main" call _execl add sp, 0Ch pop bp retn sub_A9C9 endp ; --------------------------------------------------------------------------- off_AAAD dw offset loc_AA08 dw offset loc_AA22 dw offset loc_AA3C dw offset loc_AA56 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_AAB5 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] mov ax, si imul ax, 14h add ax, 0E0h mov di, ax push 100h push ax push large 800010h call sub_E378 push 0C0h push [bp+arg_0] call grcg_setcolor mov [bp+var_2], si mov bx, si cmp bx, 5 ja short loc_AB59 add bx, bx jmp cs:off_ABCB[bx] loc_AAF3: push large 11000E0h push 0Ah call far ptr loc_DC92 les bx, dword_10DA4 mov al, es:[bx+0Fh] mov ah, 0 add ax, 16h mov [bp+var_2], ax jmp short loc_AB59 ; --------------------------------------------------------------------------- loc_AB12: cmp byte_13286, 0 jnz short loc_AB24 push large 0C0000Ch call grcg_setcolor loc_AB24: push large 11000F4h push 0Bh jmp short loc_AB54 ; --------------------------------------------------------------------------- loc_AB2E: push large 1100108h push 0Ch jmp short loc_AB54 ; --------------------------------------------------------------------------- loc_AB38: push large 110011Ch push 0Dh jmp short loc_AB54 ; --------------------------------------------------------------------------- loc_AB42: push large 1100130h push 0Eh jmp short loc_AB54 ; --------------------------------------------------------------------------- loc_AB4C: push large 1100144h push 0Fh loc_AB54: call far ptr loc_DC92 loc_AB59: mov dx, 7Ch ; '|' mov al, 0 out dx, al cmp [bp+arg_0], 8 jnz short loc_ABC4 push 100h push di push 23h ; '#' call far ptr loc_E00E push 160h push di push 24h ; '$' call far ptr loc_E00E push large 180h push large 2800010h call sub_E378 mov word_FD7C, 2 mov bx, [bp+var_2] shl bx, 2 push large dword ptr [bx+9Eh] ; s call _strlen add sp, 4 shl ax, 3 mov dx, 270h sub dx, ax push dx push large 180000Fh mov bx, [bp+var_2] shl bx, 2 push large dword ptr [bx+9Eh] call far ptr loc_DEB4 loc_ABC4: pop di pop si leave retn 4 sub_AAB5 endp ; --------------------------------------------------------------------------- db 0 off_ABCB dw offset loc_AAF3 dw offset loc_AB12 dw offset loc_AB2E dw offset loc_AB38 dw offset loc_AB42 dw offset loc_AB4C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_ABD7 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 di, 0E0h mov ax, [bp+arg_2] shl ax, 4 add ax, 0E0h mov [bp+var_4], ax cmp [bp+arg_2], 7 jnz short loc_ABF7 mov [bp+var_4], 154h loc_ABF7: push 0E0h push [bp+var_4] push large 0C00010h call sub_E378 loc_AC08: push 0C0h push [bp+arg_0] call grcg_setcolor mov bx, [bp+arg_2] cmp bx, 7 ja loc_AD9A add bx, bx jmp cs:off_AE18[bx] loc_AC24: push large 0E000E0h push 10h call far ptr loc_DC92 push large 14000E0h les bx, dword_10DA4 mov al, es:[bx+0Fh] mov ah, 0 add ax, 15h push ax call far ptr loc_DC92 les bx, dword_10DA4 mov al, es:[bx+0Fh] mov ah, 0 add ax, 6 loc_AC57: mov si, ax jmp loc_AD9A ; --------------------------------------------------------------------------- loc_AC5C: push large 0E000F0h push 11h call far ptr loc_DC92 push large 14000F0h les bx, dword_10DA4 mov al, es:[bx+3Ah] mov ah, 0 push ax call far ptr loc_DC92 mov si, 0Ah jmp loc_AD9A ; --------------------------------------------------------------------------- loc_AC85: push large 0E00100h push 12h call far ptr loc_DC92 push large 1400100h les bx, dword_10DA4 mov al, es:[bx+3Bh] mov ah, 0 push ax call far ptr loc_DC92 mov si, 0Bh jmp loc_AD9A ; --------------------------------------------------------------------------- loc_ACAE: push large 0E00110h push 13h call far ptr loc_DC92 les bx, dword_10DA4 cmp byte ptr es:[bx+10h], 0 jnz short loc_ACCB mov ax, 1Ch jmp short loc_ACD8 ; --------------------------------------------------------------------------- loc_ACCB: les bx, dword_10DA4 mov al, es:[bx+10h] mov ah, 0 add ax, 18h loc_ACD8: mov [bp+var_2], ax push large 1400110h push ax call far ptr loc_DC92 les bx, dword_10DA4 mov al, es:[bx+10h] mov ah, 0 add ax, 0Ch jmp loc_AC57 ; --------------------------------------------------------------------------- loc_ACF7: push large 0E00120h push 14h call far ptr loc_DC92 les bx, dword_10DA4 cmp byte ptr es:[bx+18h], 0 jnz short loc_AD14 mov ax, 1Ch jmp short loc_AD25 ; --------------------------------------------------------------------------- loc_AD14: les bx, dword_10DA4 mov al, es:[bx+18h] mov ah, 0 push ax mov ax, 1Fh pop dx sub ax, dx loc_AD25: mov [bp+var_2], ax push large 1400120h push ax call far ptr loc_DC92 les bx, dword_10DA4 mov al, es:[bx+18h] mov ah, 0 add ax, 0Fh jmp loc_AC57 ; --------------------------------------------------------------------------- loc_AD44: push large 1100130h les bx, dword_10DA4 mov al, es:[bx+49h] mov ah, 0 mov dx, 21h ; '!' sub dx, ax push dx call far ptr loc_DC92 mov di, 100h les bx, dword_10DA4 mov al, es:[bx+49h] mov ah, 0 add ax, 12h jmp loc_AC57 ; --------------------------------------------------------------------------- loc_AD72: push large 1100140h push 1Fh call far ptr loc_DC92 mov di, 100h mov si, 14h jmp short loc_AD9A ; --------------------------------------------------------------------------- loc_AD87: push large 1100154h push 0Fh call far ptr loc_DC92 mov di, 100h mov si, 15h loc_AD9A: mov dx, 7Ch ; '|' mov al, 0 out dx, al cmp [bp+arg_0], 8 jnz short loc_AE11 push di push [bp+var_4] push 23h ; '#' call far ptr loc_E00E cmp di, 100h jnz short loc_ADBD lea ax, [di+60h] push ax jmp short loc_ADC0 ; --------------------------------------------------------------------------- loc_ADBD: push 180h loc_ADC0: push [bp+var_4] push 24h ; '$' call far ptr loc_E00E push large 180h push large 2800010h call sub_E378 mov word_FD7C, 2 mov bx, si shl bx, 2 push large dword ptr [bx+9Eh] ; s call _strlen add sp, 4 shl ax, 3 mov dx, 270h sub dx, ax push dx push large 180000Fh mov bx, si shl bx, 2 push large dword ptr [bx+9Eh] call far ptr loc_DEB4 loc_AE11: pop di pop si leave retn 4 sub_ABD7 endp ; --------------------------------------------------------------------------- db 0 off_AE18 dw offset loc_AC24 dw offset loc_AC5C dw offset loc_AC85 dw offset loc_ACAE dw offset loc_ACF7 dw offset loc_AD44 dw offset loc_AD72 dw offset loc_AD87 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_AE28 proc near arg_0 = byte ptr 4 arg_2 = byte ptr 6 push bp mov bp, sp mov al, byte_F3DB cbw push ax push 1 call word_10DAA mov al, [bp+arg_0] add byte_F3DB, al mov al, byte_F3DB cbw or ax, ax jge short loc_AE4B mov al, [bp+arg_2] mov byte_F3DB, al loc_AE4B: mov al, byte_F3DB cmp al, [bp+arg_2] jle short loc_AE58 mov byte_F3DB, 0 loc_AE58: cmp byte_13286, 0 jnz short loc_AE76 mov al, byte_F3DB cbw cmp ax, 1 jnz short loc_AE76 cmp byte_10DA8, 0 jnz short loc_AE76 mov al, [bp+arg_0] add byte_F3DB, al loc_AE76: mov al, byte_F3DB cbw push ax push 8 call word_10DAA call sub_E2E6 push 1 call sub_E2F2 call sub_E32C pop bp retn 4 sub_AE28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_AE96 proc near push bp mov bp, sp push si cmp byte_F446, 0 jnz short loc_AEEB mov byte_F3DD, 0 mov byte_10DAC, 0 push large 0C000E0h push large 12000A0h call sub_E378 xor si, si jmp short loc_AED6 ; --------------------------------------------------------------------------- loc_AEC0: push si mov al, byte_F3DB cbw cmp ax, si jnz short loc_AECE mov ax, 8 jmp short loc_AED1 ; --------------------------------------------------------------------------- loc_AECE: mov ax, 1 loc_AED1: push ax call sub_AAB5 inc si loc_AED6: cmp si, 6 jl short loc_AEC0 mov word_10DAA, 375h mov byte_F446, 1 mov byte_10DAC, 0 loc_AEEB: cmp word_11A50, 0 jnz short loc_AEF7 mov byte_10DAC, 1 loc_AEF7: cmp byte_10DAC, 0 jz loc_B043 test byte ptr word_11A50, 1 jz short loc_AF0E push 5 push 0FFFFh call sub_AE28 loc_AF0E: test byte ptr word_11A50, 2 jz short loc_AF1C push 5 push 1 call sub_AE28 loc_AF1C: test byte ptr word_11A50+1, 20h jnz short loc_AF2C test byte ptr word_11A50, 20h jz loc_B02B loc_AF2C: call sub_E2E6 push 0Bh call sub_E2F2 call sub_E32C mov al, byte_F3DB cbw mov bx, ax cmp bx, 5 ja loc_B02B add bx, bx jmp cs:off_B046[bx] loc_AF51: call sub_A8F1 jmp short loc_AFBD ; --------------------------------------------------------------------------- loc_AF56: call sub_A96C mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aOp1_pi ; "op1.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push 0 call graph_copy_page mov PaletteTone, 64h ; 'd' call far ptr palette_show mov byte_F446, 0 mov byte_10DA8, 0 mov byte_F3DB, 1 jmp loc_B043 ; --------------------------------------------------------------------------- loc_AFAD: call sub_CA94 mov byte_F446, 0 jmp short loc_B02B ; --------------------------------------------------------------------------- loc_AFB7: call sub_C3B7 call sub_CC97 loc_AFBD: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aOp1_pi ; "op1.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push 0 call graph_copy_page mov PaletteTone, 64h ; 'd' call far ptr palette_show mov byte_F446, 0 mov byte_10DA8, 0 mov byte_F3DB, 0 jmp short loc_B043 ; --------------------------------------------------------------------------- loc_B010: mov byte_F446, 0 mov byte_10DA8, 1 mov byte_F3DB, 0 jmp short loc_B02B ; --------------------------------------------------------------------------- loc_B021: mov byte_F446, 0 mov byte_F3DC, 1 loc_B02B: test byte ptr word_11A50+1, 10h jz short loc_B037 mov byte_F3DC, 1 loc_B037: cmp word_11A50, 0 jz short loc_B043 mov byte_10DAC, 0 loc_B043: pop si pop bp retn sub_AE96 endp ; --------------------------------------------------------------------------- off_B046 dw offset loc_AF51 dw offset loc_AF56 dw offset loc_AFAD dw offset loc_AFB7 dw offset loc_B010 dw offset loc_B021 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B052 proc near push bp mov bp, sp push si cmp byte_F447, 0 jnz short loc_B0A2 mov byte_10DAD, 0 push large 11000E0h push large 0A00090h call sub_E378 xor si, si jmp short loc_B08D ; --------------------------------------------------------------------------- loc_B077: push si mov al, byte_F3DB cbw cmp ax, si jnz short loc_B085 mov ax, 8 jmp short loc_B088 ; --------------------------------------------------------------------------- loc_B085: mov ax, 1 loc_B088: push ax call sub_ABD7 inc si loc_B08D: cmp si, 8 jl short loc_B077 mov word_10DAA, 497h mov byte_F447, 1 mov byte_10DAD, 0 loc_B0A2: cmp word_11A50, 0 jnz short loc_B0AE mov byte_10DAD, 1 loc_B0AE: cmp byte_10DAD, 0 jz loc_B35B test byte ptr word_11A50, 1 jz short loc_B0C5 push 7 push 0FFFFh call sub_AE28 loc_B0C5: test byte ptr word_11A50, 2 jz short loc_B0D3 push 7 push 1 call sub_AE28 loc_B0D3: test byte ptr word_11A50+1, 20h jnz short loc_B0E3 test byte ptr word_11A50, 20h jz loc_B16F loc_B0E3: mov al, byte_F3DB cbw cmp ax, 6 jz short loc_B0F4 cmp ax, 7 jz short loc_B14F jmp loc_B178 ; --------------------------------------------------------------------------- loc_B0F4: les bx, dword_10DA4 mov byte ptr es:[bx+0Fh], 1 mov byte ptr es:[bx+3Ah], 3 mov byte ptr es:[bx+3Bh], 2 mov byte ptr es:[bx+10h], 2 mov byte ptr es:[bx+18h], 1 mov byte ptr es:[bx+49h], 1 push 100h call sub_DC74 les bx, dword_10DA4 mov al, es:[bx+10h] mov ah, 0 push ax mov al, es:[bx+18h] mov ah, 0 push ax call sub_DCE4 push ds push offset aOp ; "op" push 600h call sub_DDCA push 0 call sub_DC74 mov byte_F447, 0 jmp short loc_B16F ; --------------------------------------------------------------------------- loc_B14F: call sub_E2E6 push 0Bh call sub_E2F2 call sub_E32C mov byte_F447, 0 mov byte_F3DB, 4 mov byte_10DA8, 0 loc_B16F: test byte ptr word_11A50, 8 jz loc_B250 loc_B178: mov al, byte_F3DB cbw mov bx, ax cmp bx, 5 ja loc_B246 add bx, bx jmp cs:off_B36B[bx] loc_B18C: les bx, dword_10DA4 inc byte ptr es:[bx+0Fh] cmp byte ptr es:[bx+0Fh], 3 jbe loc_B246 mov byte ptr es:[bx+0Fh], 0 jmp loc_B246 ; --------------------------------------------------------------------------- loc_B1A5: les bx, dword_10DA4 inc byte ptr es:[bx+3Ah] cmp byte ptr es:[bx+3Ah], 6 jbe loc_B246 mov byte ptr es:[bx+3Ah], 1 jmp loc_B246 ; --------------------------------------------------------------------------- loc_B1BE: les bx, dword_10DA4 inc byte ptr es:[bx+3Bh] cmp byte ptr es:[bx+3Bh], 2 jbe short loc_B246 mov byte ptr es:[bx+3Bh], 0 jmp short loc_B246 ; --------------------------------------------------------------------------- loc_B1D4: les bx, dword_10DA4 inc byte ptr es:[bx+10h] cmp byte ptr es:[bx+10h], 3 jb short loc_B1E8 mov byte ptr es:[bx+10h], 0 loc_B1E8: push 100h call sub_DC74 les bx, dword_10DA4 mov al, es:[bx+10h] mov ah, 0 push ax mov al, es:[bx+18h] mov ah, 0 push ax call sub_DCE4 push ds push offset aOp ; "op" push 600h call sub_DDCA push 0 call sub_DC74 jmp short loc_B246 ; --------------------------------------------------------------------------- loc_B21C: les bx, dword_10DA4 cmp byte ptr es:[bx+18h], 0 jnz short loc_B22E mov byte ptr es:[bx+18h], 2 jmp short loc_B246 ; --------------------------------------------------------------------------- loc_B22E: les bx, dword_10DA4 dec byte ptr es:[bx+18h] jmp short loc_B246 ; --------------------------------------------------------------------------- loc_B238: les bx, dword_10DA4 mov al, 1 sub al, es:[bx+49h] mov es:[bx+49h], al loc_B246: mov al, byte_F3DB cbw push ax push 8 call sub_ABD7 loc_B250: test byte ptr word_11A50, 4 jz loc_B339 mov al, byte_F3DB cbw mov bx, ax cmp bx, 5 ja loc_B32F add bx, bx jmp cs:off_B35F[bx] loc_B26D: les bx, dword_10DA4 cmp byte ptr es:[bx+0Fh], 0 jnz short loc_B27D mov byte ptr es:[bx+0Fh], 4 loc_B27D: les bx, dword_10DA4 dec byte ptr es:[bx+0Fh] jmp loc_B32F ; --------------------------------------------------------------------------- loc_B288: les bx, dword_10DA4 cmp byte ptr es:[bx+3Ah], 1 jnz short loc_B298 mov byte ptr es:[bx+3Ah], 7 loc_B298: les bx, dword_10DA4 dec byte ptr es:[bx+3Ah] jmp loc_B32F ; --------------------------------------------------------------------------- loc_B2A3: les bx, dword_10DA4 cmp byte ptr es:[bx+3Bh], 0 jnz short loc_B2B3 mov byte ptr es:[bx+3Bh], 3 loc_B2B3: les bx, dword_10DA4 dec byte ptr es:[bx+3Bh] jmp short loc_B32F ; --------------------------------------------------------------------------- loc_B2BD: les bx, dword_10DA4 cmp byte ptr es:[bx+10h], 0 jnz short loc_B2CF mov byte ptr es:[bx+10h], 2 jmp short loc_B2D7 ; --------------------------------------------------------------------------- loc_B2CF: les bx, dword_10DA4 dec byte ptr es:[bx+10h] loc_B2D7: push 100h call sub_DC74 les bx, dword_10DA4 mov al, es:[bx+10h] mov ah, 0 push ax mov al, es:[bx+18h] mov ah, 0 push ax call sub_DCE4 push ds push offset aOp ; "op" push 600h call sub_DDCA push 0 call sub_DC74 jmp short loc_B32F ; --------------------------------------------------------------------------- loc_B30B: les bx, dword_10DA4 inc byte ptr es:[bx+18h] cmp byte ptr es:[bx+18h], 3 jb short loc_B32F mov byte ptr es:[bx+18h], 0 jmp short loc_B32F ; --------------------------------------------------------------------------- loc_B321: les bx, dword_10DA4 mov al, 1 sub al, es:[bx+49h] mov es:[bx+49h], al loc_B32F: mov al, byte_F3DB cbw push ax push 8 call sub_ABD7 loc_B339: test byte ptr word_11A50+1, 10h jz short loc_B34F mov byte_F447, 0 mov byte_F3DB, 4 mov byte_10DA8, 0 loc_B34F: cmp word_11A50, 0 jz short loc_B35B mov byte_10DAD, 0 loc_B35B: pop si pop bp retn sub_B052 endp ; --------------------------------------------------------------------------- db 0 off_B35F dw offset loc_B26D dw offset loc_B288 dw offset loc_B2A3 dw offset loc_B2BD dw offset loc_B30B dw offset loc_B321 off_B36B dw offset loc_B18C dw offset loc_B1A5 dw offset loc_B1BE dw offset loc_B1D4 dw offset loc_B21C dw offset loc_B238 ; =============== 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 _argc = word ptr 6 _argv = dword ptr 8 _envp = dword ptr 0Ch push bp mov bp, sp push si xor si, si call text_clear call respal_create mov word_11A4E, 5208h push ds push offset aMSzlEd_dat ; "幻想郷ed.dat" call sub_E0F4 add sp, 4 or ax, ax jz short loc_B3AB push ds push offset asc_F7F7 ; "\n空きメモリ不足です。メモリ空きを増やし"... call dos_puts2 call getch loc_B3AB: call gaiji_backup push ds push offset aGameft_bft ; "GAMEFT.bft" call gaiji_entry_bfnt call sub_A74C les bx, dword_10DA4 cmp byte ptr es:[bx+0Fh], 0FFh jnz short loc_B3D3 call sub_B9CE les bx, dword_10DA4 mov byte ptr es:[bx+0Fh], 1 loc_B3D3: les bx, dword_10DA4 mov al, es:[bx+10h] mov ah, 0 push ax mov al, es:[bx+18h] mov ah, 0 push ax call sub_DCE4 push ds push offset aMiko ; "miko" push 0B00h call sub_DDCA les bx, dword_10DA4 cmp byte ptr es:[bx+48h], 0 jnz short loc_B40D call sub_BC35 les bx, dword_10DA4 mov byte ptr es:[bx+48h], 1 loc_B40D: les bx, dword_10DA4 cmp byte ptr es:[bx+3Eh], 0 jnz short loc_B420 push 100h call sub_DC74 loc_B420: call sub_CCD2 call sub_CBE3 call sub_CC97 mov byte_10DA8, 0 mov byte_F3DC, 0 mov byte_F3DB, 0 jmp short loc_B47B ; --------------------------------------------------------------------------- loc_B43A: call far ptr sub_E1DC mov al, byte_10DA8 cbw or ax, ax jz short loc_B44E cmp ax, 1 jz short loc_B45C jmp short loc_B45F ; --------------------------------------------------------------------------- loc_B44E: call sub_AE96 cmp si, 280h jl short loc_B45F call sub_A9C9 jmp short loc_B45F ; --------------------------------------------------------------------------- loc_B45C: call sub_B052 loc_B45F: cmp word_11A50, 0 jnz short loc_B469 inc si jmp short loc_B46B ; --------------------------------------------------------------------------- loc_B469: xor si, si loc_B46B: les bx, dword_10DA4 inc dword ptr es:[bx+14h] push 1 call sub_DA3B loc_B47B: cmp byte_F3DC, 0 jz short loc_B43A call sub_CCC8 call sub_A873 call gaiji_restore call text_clear call sub_DDB1 call respal_free pop si pop bp retf _main endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B49F 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] mov di, [bp+arg_0] push si push di mov ax, word_11E88 shl ax, 4 push ax push 10h call sub_E378 push si push di push 2 call super_put push si lea ax, [di+8] push ax push 6 call super_put add si, 10h mov [bp+var_2], 1 jmp short loc_B4F5 ; --------------------------------------------------------------------------- loc_B4DA: push si push di push 0 call super_put push si lea ax, [di+8] push ax push 3 call super_put inc [bp+var_2] add si, 10h loc_B4F5: mov ax, word_11E88 dec ax cmp ax, [bp+var_2] jg short loc_B4DA push si push di push 4 call super_put push si lea ax, [di+8] push ax push 7 call super_put pop di pop si leave retn 4 sub_B49F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B519 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] mov di, [bp+arg_0] push si lea ax, [di+8] push ax mov ax, word_11E88 shl ax, 4 push ax push 10h call sub_E378 push si push di push 6 call super_put add si, 10h mov [bp+var_2], 1 jmp short loc_B55A ; --------------------------------------------------------------------------- loc_B54B: push si push di push 3 call super_put inc [bp+var_2] add si, 10h loc_B55A: mov ax, word_11E88 dec ax cmp ax, [bp+var_2] jg short loc_B54B push si push di push 7 call super_put pop di pop si leave retn 4 sub_B519 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B572 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 ax, [bp+arg_2] mov [bp+var_2], ax mov si, [bp+arg_0] push ax push si push 5 call super_put add [bp+var_2], 10h mov di, 1 jmp short loc_B5A3 ; --------------------------------------------------------------------------- loc_B593: push [bp+var_2] push si push 1 call super_put inc di add [bp+var_2], 10h loc_B5A3: mov ax, word_11E88 dec ax cmp ax, di jg short loc_B593 push [bp+var_2] push si push 8 call super_put add si, 10h mov di, 1 jmp short loc_B5D0 ; --------------------------------------------------------------------------- loc_B5BE: push [bp+arg_2] push si call sub_B49F push 1 call sub_DA3B inc di add si, 8 loc_B5D0: mov ax, word_11E8A add ax, ax add ax, 0FFFDh cmp ax, di jg short loc_B5BE pop di pop si leave retn 4 sub_B572 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B5E2 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] mov di, [bp+arg_0] push si push di mov ax, word_11E88 shl ax, 4 push ax push 20h ; ' ' call sub_E378 push si push di push 5 call super_put push si lea ax, [di+10h] push ax push 6 call super_put add si, 10h mov [bp+var_2], 1 jmp short loc_B638 ; --------------------------------------------------------------------------- loc_B61D: push si push di push 1 call super_put push si lea ax, [di+10h] push ax push 3 call super_put inc [bp+var_2] add si, 10h loc_B638: mov ax, word_11E88 dec ax cmp ax, [bp+var_2] jg short loc_B61D push si push di push 8 call super_put push si lea ax, [di+10h] push ax push 7 call super_put pop di pop si leave retn 4 sub_B5E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B65C proc near arg_0 = word ptr 4 arg_2 = word ptr 6 push bp mov bp, sp push si push di mov si, [bp+arg_0] mov ax, word_11E8A shl ax, 4 add ax, 0FFF0h add si, ax mov di, 1 jmp short loc_B686 ; --------------------------------------------------------------------------- loc_B674: push [bp+arg_2] push si call sub_B519 push 1 call sub_DA3B inc di sub si, 8 loc_B686: mov ax, word_11E8A add ax, ax add ax, 0FFFEh cmp ax, di jg short loc_B674 pop di pop si pop bp retn 4 sub_B65C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B698 proc near var_4 = dword ptr -4 arg_0 = word ptr 4 arg_2 = word ptr 6 enter 4, 0 push si mov si, 88h mov ax, [bp+arg_2] or ax, ax jz short loc_B6C8 cmp ax, 1 jz short loc_B6BB cmp ax, 2 jnz short loc_B6D3 mov word ptr [bp+var_4+2], ds mov word ptr [bp+var_4], 0DB3h jmp short loc_B6D3 ; --------------------------------------------------------------------------- loc_B6BB: mov word ptr [bp+var_4+2], ds mov word ptr [bp+var_4], 0DC4h add si, 10h jmp short loc_B6D3 ; --------------------------------------------------------------------------- loc_B6C8: mov word ptr [bp+var_4+2], ds mov word ptr [bp+var_4], 0DD5h add si, 20h ; ' ' loc_B6D3: push 30h ; '0' push si push [bp+arg_0] push large [bp+var_4] call far ptr loc_DEB4 pop si leave retn 4 sub_B698 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B6E7 proc near var_4 = dword ptr -4 arg_0 = word ptr 4 arg_2 = word ptr 6 enter 4, 0 push si mov si, 88h mov ax, [bp+arg_2] or ax, ax jz short loc_B719 cmp ax, 1 jz short loc_B702 cmp ax, 2 jz short loc_B70C jmp short loc_B724 ; --------------------------------------------------------------------------- loc_B702: mov word ptr [bp+var_4+2], ds mov word ptr [bp+var_4], 0DE6h jmp short loc_B724 ; --------------------------------------------------------------------------- loc_B70C: mov word ptr [bp+var_4+2], ds mov word ptr [bp+var_4], 0DF7h add si, 10h jmp short loc_B724 ; --------------------------------------------------------------------------- loc_B719: mov word ptr [bp+var_4+2], ds mov word ptr [bp+var_4], 0E08h add si, 20h ; ' ' loc_B724: push 30h ; '0' push si push [bp+arg_0] push large [bp+var_4] call far ptr loc_DEB4 pop si leave retn 4 sub_B6E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B738 proc near push bp mov bp, sp push si push di mov di, 88h xor si, si jmp short loc_B75D ; --------------------------------------------------------------------------- loc_B744: push 0D0h ; 'ミ' push di push 0Fh mov bx, si shl bx, 2 push large dword ptr [bx+0A4Ch] call far ptr loc_DEB4 inc si add di, 10h loc_B75D: cmp si, 9 jl short loc_B744 pop di pop si pop bp retn sub_B738 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B766 proc near push bp mov bp, sp push si push di mov di, 88h xor si, si jmp short loc_B78B ; --------------------------------------------------------------------------- loc_B772: push 0D0h ; 'ミ' push di push 0Fh mov bx, si shl bx, 2 push large dword ptr [bx+0A70h] call far ptr loc_DEB4 inc si add di, 10h loc_B78B: cmp si, 9 jl short loc_B772 pop di pop si pop bp retn sub_B766 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B794 proc near var_2 = word ptr -2 enter 2, 0 mov word_11E88, 1Ch push large 600050h call sub_B5E2 push large 700058h push 0Fh push ds push offset aB@b@b@b@b@ogcp ; "     使用する音源を選択して下さい・... call far ptr loc_DEB4 mov word_11E88, 0Ah mov word_11E8A, 4 push large 200080h call sub_B572 mov [bp+var_2], 0 jmp short loc_B7EB ; --------------------------------------------------------------------------- loc_B7D4: push [bp+var_2] cmp [bp+var_2], 2 jnz short loc_B7E2 mov ax, 0Fh jmp short loc_B7E4 ; --------------------------------------------------------------------------- loc_B7E2: xor ax, ax loc_B7E4: push ax call sub_B698 inc [bp+var_2] loc_B7EB: cmp [bp+var_2], 3 jl short loc_B7D4 mov word_11E88, 19h mov word_11E8A, 0Ah push large 0C00080h call sub_B572 call sub_B738 mov [bp+var_2], 2 loc_B80E: push 0 call sub_DB62 push 1 call sub_DA3B test byte ptr word_11A50+1, 20h jnz short loc_B87A test byte ptr word_11A50, 20h jnz short loc_B87A test byte ptr word_11A50, 1 jz short loc_B851 push [bp+var_2] push 0 call sub_B698 cmp [bp+var_2], 2 jnz short loc_B846 mov [bp+var_2], 0 jmp short loc_B849 ; --------------------------------------------------------------------------- loc_B846: inc [bp+var_2] loc_B849: push [bp+var_2] push 0Fh call sub_B698 loc_B851: test byte ptr word_11A50, 2 jz short loc_B80E push [bp+var_2] push 0 call sub_B698 cmp [bp+var_2], 0 jnz short loc_B86D mov [bp+var_2], 2 jmp short loc_B870 ; --------------------------------------------------------------------------- loc_B86D: dec [bp+var_2] loc_B870: push [bp+var_2] push 0Fh call sub_B698 jmp short loc_B80E ; --------------------------------------------------------------------------- loc_B87A: mov word_11E88, 19h mov word_11E8A, 0Ah push large 0C00080h call sub_B65C mov word_11E88, 0Ah mov word_11E8A, 4 push large 200080h call sub_B65C les bx, dword_10DA4 mov al, byte ptr [bp+var_2] mov es:[bx+10h], al leave retn sub_B794 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B8B1 proc near var_2 = word ptr -2 enter 2, 0 mov word_11E88, 1Ch push large 600050h call sub_B5E2 push large 700058h push 0Fh push ds push offset aB@b@b@b@m ; "    効果音に使用する音源を選択して・... call far ptr loc_DEB4 mov word_11E88, 0Ah mov word_11E8A, 4 push large 200080h call sub_B572 mov [bp+var_2], 0 jmp short loc_B908 ; --------------------------------------------------------------------------- loc_B8F1: push [bp+var_2] cmp [bp+var_2], 1 jnz short loc_B8FF mov ax, 0Fh jmp short loc_B901 ; --------------------------------------------------------------------------- loc_B8FF: xor ax, ax loc_B901: push ax call sub_B6E7 inc [bp+var_2] loc_B908: cmp [bp+var_2], 3 jl short loc_B8F1 mov word_11E88, 19h mov word_11E8A, 0Ah push large 0C00080h call sub_B572 call sub_B766 mov [bp+var_2], 1 loc_B92B: push 0 call sub_DB62 push 1 call sub_DA3B test byte ptr word_11A50+1, 20h jnz short loc_B997 test byte ptr word_11A50, 20h jnz short loc_B997 test byte ptr word_11A50, 2 jz short loc_B96E push [bp+var_2] push 0 call sub_B6E7 cmp [bp+var_2], 2 jnz short loc_B963 mov [bp+var_2], 0 jmp short loc_B966 ; --------------------------------------------------------------------------- loc_B963: inc [bp+var_2] loc_B966: push [bp+var_2] push 0Fh call sub_B6E7 loc_B96E: test byte ptr word_11A50, 1 jz short loc_B92B push [bp+var_2] push 0 call sub_B6E7 cmp [bp+var_2], 0 jnz short loc_B98A mov [bp+var_2], 2 jmp short loc_B98D ; --------------------------------------------------------------------------- loc_B98A: dec [bp+var_2] loc_B98D: push [bp+var_2] push 0Fh call sub_B6E7 jmp short loc_B92B ; --------------------------------------------------------------------------- loc_B997: mov word_11E88, 19h mov word_11E8A, 0Ah push large 0C00080h call sub_B65C mov word_11E88, 0Ah mov word_11E8A, 4 push large 200080h call sub_B65C les bx, dword_10DA4 mov al, byte ptr [bp+var_2] mov es:[bx+18h], al leave retn sub_B8B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_B9CE proc near push bp mov bp, sp mov PaletteTone, 0 call far ptr palette_show push ds push offset aMswin_bft ; "mswin.bft" call super_entry_bfnt mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aMs_pi ; "ms.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push 0 call graph_copy_page push 1 call palette_black_in call sub_B794 push 1 call sub_DA3B push 0 call graph_copy_page call sub_B8B1 push 1 call palette_black_out call super_free pop bp retn sub_B9CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BA45 proc near var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = byte ptr 4 arg_2 = word ptr 6 arg_4 = word ptr 8 arg_6 = word ptr 0Ah enter 4, 0 push si push di mov di, [bp+arg_6] mov [bp+var_4], 0 mov ax, 10h imul [bp+arg_4] mov [bp+arg_4], ax mov ax, 10h imul di mov di, ax mov si, 2B7Ch mov [bp+var_2], 0 jmp short loc_BABC ; --------------------------------------------------------------------------- loc_BA6D: cmp byte ptr [si], 0 jnz short loc_BAB6 mov byte ptr [si], 1 mov byte ptr [si+1], 0 mov [si+2], di mov ax, [bp+arg_4] mov [si+4], ax mov word ptr [si+8], 0 mov word ptr [si+6], 0 call IRand mov bx, 0E0h cwd idiv bx add dx, 40h mov [si+0Ah], dx call IRand mov [si+0Ch], al mov al, [bp+arg_0] mov [si+0Dh], al inc [bp+var_4] mov ax, [bp+var_4] cmp ax, [bp+arg_2] jge short loc_BAC3 loc_BAB6: inc [bp+var_2] add si, 0Eh loc_BABC: cmp [bp+var_2], 100h jl short loc_BA6D loc_BAC3: pop di pop si leave retn 8 sub_BA45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BAC9 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 mov si, 2B7Ch xor di, di jmp loc_BBE8 ; --------------------------------------------------------------------------- loc_BAD7: cmp byte ptr [si], 1 jnz loc_BBE4 inc byte ptr [si+1] mov al, [si+1] mov ah, 0 mov bx, 4 cwd idiv bx mov [bp+var_2], ax mov al, [si+0Dh] mov ah, 0 add ax, [bp+var_2] mov [bp+var_8], ax cmp byte ptr [si+1], 28h ; '(' jb short loc_BB0A mov byte ptr [si], 0 mov byte ptr [si+1], 0 jmp loc_BBE4 ; --------------------------------------------------------------------------- loc_BB0A: cmp byte ptr [si+1], 10h jnb short loc_BB29 mov ax, [si+2] mov bx, 10h cwd idiv bx add ax, 0FFF8h push ax mov ax, [si+4] cwd idiv bx add ax, 0FFF8h jmp loc_BBDB ; --------------------------------------------------------------------------- loc_BB29: cmp byte ptr [si+1], 20h ; ' ' jnb short loc_BB83 cmp byte ptr [si+1], 10h jnz short loc_BB3C push 0Fh call sub_E2F2 loc_BB3C: mov ax, [si+8] mov [si+6], ax mov ax, [si+0Ah] add [si+8], ax push word ptr [si+2] push word ptr [si+8] mov al, [si+0Ch] mov ah, 0 add ax, ax mov bx, ax push word ptr [bx+648h] call sub_DBB8 add ax, 0FF80h mov [bp+var_4], ax push word ptr [si+4] push word ptr [si+8] mov al, [si+0Ch] mov ah, 0 add ax, ax mov bx, ax push word ptr [bx+5C8h] call sub_DBB8 add ax, 0FF80h jmp short loc_BBC8 ; --------------------------------------------------------------------------- loc_BB83: mov ax, [si+8] mov [si+6], ax mov ax, [si+0Ah] add [si+8], ax push word ptr [si+2] push word ptr [si+8] mov al, [si+0Ch] mov ah, 0 add ax, ax mov bx, ax push word ptr [bx+648h] call sub_DBB8 add ax, 0FF00h mov [bp+var_4], ax push word ptr [si+4] push word ptr [si+8] mov al, [si+0Ch] mov ah, 0 add ax, ax mov bx, ax push word ptr [bx+5C8h] call sub_DBB8 add ax, 0FF00h loc_BBC8: mov [bp+var_6], ax mov ax, [bp+var_4] mov bx, 10h cwd idiv bx push ax mov ax, [bp+var_6] cwd idiv bx loc_BBDB: push ax push [bp+var_8] call super_put_rect loc_BBE4: inc di add si, 0Eh loc_BBE8: cmp di, 100h jl loc_BAD7 pop di pop si leave retn sub_BAC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BBF4 proc near arg_0 = word ptr 4 push bp mov bp, sp push si push di xor si, si jmp short loc_BC25 ; --------------------------------------------------------------------------- loc_BBFD: xor di, di jmp short loc_BC1F ; --------------------------------------------------------------------------- loc_BC01: mov bx, si imul bx, 3 mov al, [bx+di+2B4Ch] mov ah, 0 imul [bp+arg_0] mov bx, 64h ; 'd' cwd idiv bx mov bx, si imul bx, 3 mov [bx+di+1A96h], al inc di loc_BC1F: cmp di, 3 jl short loc_BC01 inc si loc_BC25: cmp si, 0Fh jl short loc_BBFD call far ptr palette_show pop di pop si pop bp retn 2 sub_BBF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BC35 proc near var_8 = word ptr -8 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 enter 8, 0 push si push di mov [bp+var_2], 0 mov [bp+var_3], 0 mov [bp+var_4], 64h ; 'd' mov PaletteTone, 0 call far ptr palette_show mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aZun00_pi ; "zun00.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push 0 call graph_copy_page call sub_E428 mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call graph_clear mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al call graph_clear xor si, si jmp short loc_BCFD ; --------------------------------------------------------------------------- loc_BCA8: mov bx, si imul bx, 3 mov al, [bx+1A96h] mov bx, si imul bx, 3 mov [bx+2B4Ch], al mov bx, si imul bx, 3 mov al, [bx+1A97h] mov bx, si imul bx, 3 mov [bx+2B4Dh], al mov bx, si imul bx, 3 mov al, [bx+1A98h] mov bx, si imul bx, 3 mov [bx+2B4Eh], al mov bx, si imul bx, 3 mov byte ptr [bx+1A96h], 0 mov bx, si imul bx, 3 mov byte ptr [bx+1A97h], 0 mov bx, si imul bx, 3 mov byte ptr [bx+1A98h], 0 inc si loc_BCFD: cmp si, 0Fh jl short loc_BCA8 push ds push offset aLogo ; "logo" push 600h call sub_DDCA push 0 call sub_DC74 mov [bp+var_6], 2B7Ch xor si, si jmp short loc_BD2A ; --------------------------------------------------------------------------- loc_BD1E: mov bx, [bp+var_6] mov word ptr [bx], 0 inc si add [bp+var_6], 0Eh loc_BD2A: cmp si, 100h jl short loc_BD1E push large 20000h call sub_DD80 mov PaletteTone, 64h ; 'd' call far ptr palette_show push ds push offset aZun02_bft ; "zun02.bft" call super_entry_bfnt push ds push offset aZun04_bft ; "zun04.bft" call super_entry_bfnt push ds push offset aZun01_bft ; "zun01.bft" call super_entry_bfnt push ds push offset aZun03_bft ; "zun03.bft" call super_entry_bfnt mov [bp+var_1], 0 mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al mov dx, 0A4h ; '、' mov al, 0 out dx, al call far ptr sub_E1DC xor di, di jmp loc_BE87 ; --------------------------------------------------------------------------- loc_BD84: call sub_E1E4 cmp word_11A50, 0 jz short loc_BD94 mov [bp+var_2], 1 loc_BD94: mov [bp+var_8], di mov cx, 0Ch ; switch 12 cases mov bx, offset word_BEA5 loc_BD9D: mov ax, cs:[bx] cmp ax, [bp+var_8] jz short loc_BDAC add bx, 2 loop loc_BD9D jmp short loc_BE15 ; default ; --------------------------------------------------------------------------- loc_BDAC: jmp word ptr cs:[bx+18h] ; switch jump loc_BDB0: push large 0B400B4h ; jumptable 0000BDAC case 0 jmp short loc_BDEE ; --------------------------------------------------------------------------- loc_BDB8: push large 1CC00DCh ; jumptable 0000BDAC case 16 jmp short loc_BDF8 ; --------------------------------------------------------------------------- loc_BDC0: push large 0DC00A0h ; jumptable 0000BDAC case 24 jmp short loc_BDEE ; --------------------------------------------------------------------------- loc_BDC8: push large 17C00F0h ; jumptable 0000BDAC case 32 jmp short loc_BDF8 ; --------------------------------------------------------------------------- loc_BDD0: push large 15400C8h ; jumptable 0000BDAC case 44 jmp short loc_BDF8 ; --------------------------------------------------------------------------- loc_BDD8: push large 11800AAh ; jumptable 0000BDAC case 48 jmp short loc_BDEE ; --------------------------------------------------------------------------- loc_BDE0: push large 17C0104h ; jumptable 0000BDAC case 52 jmp short loc_BDF8 ; --------------------------------------------------------------------------- loc_BDE8: push large 0C800BEh ; jumptable 0000BDAC cases 40,56 loc_BDEE: push 14h jmp short loc_BE04 ; --------------------------------------------------------------------------- loc_BDF2: push large 1B800D2h ; jumptable 0000BDAC case 60 loc_BDF8: push 14h jmp short loc_BE10 ; --------------------------------------------------------------------------- loc_BDFC: push large 14000C8h ; jumptable 0000BDAC case 64 push 40h loc_BE04: push 0 jmp short loc_BE12 ; --------------------------------------------------------------------------- loc_BE08: push large 14000C8h ; jumptable 0000BDAC case 68 push 40h loc_BE10: push 0Ah loc_BE12: call sub_BA45 loc_BE15: call sub_E490 ; default call sub_BAC9 call far ptr sub_E1DC loc_BE22: cmp vsync_Count1, 2 jb short loc_BE22 mov vsync_Count1, 0 mov dx, 0A6h ; 'ヲ' mov al, [bp+var_1] out dx, al mov al, 1 sub al, [bp+var_1] mov [bp+var_1], al mov dx, 0A4h ; '、' out dx, al cmp [bp+var_2], 0 jnz short loc_BE66 cmp di, 10h jl short loc_BE5B cmp [bp+var_3], 64h ; 'd' jnb short loc_BE5B mov al, [bp+var_3] add al, 2 mov [bp+var_3], al loc_BE5B: mov al, [bp+var_3] mov ah, 0 push ax call sub_BBF4 jmp short loc_BE81 ; --------------------------------------------------------------------------- loc_BE66: cmp [bp+var_4], 0 jbe short loc_BE96 mov al, [bp+var_4] add al, 0FEh mov [bp+var_4], al mov al, [bp+var_4] mov ah, 0 mov PaletteTone, ax call far ptr palette_show loc_BE81: call sub_E32C inc di loc_BE87: cmp di, 0AAh ; 'ェ' jl loc_BD84 push 1 call palette_black_out loc_BE96: call super_free call sub_E4C6 pop di pop si leave retn sub_BC35 endp ; --------------------------------------------------------------------------- db 0 word_BEA5 dw 0, 10h, 18h, 20h dw 28h, 2Ch, 30h, 34h ; value table for switch statement dw 38h, 3Ch, 40h, 44h dw offset loc_BDB0 ; jump table for switch statement dw offset loc_BDB8 dw offset loc_BDC0 dw offset loc_BDC8 dw offset loc_BDE8 dw offset loc_BDD0 dw offset loc_BDD8 dw offset loc_BDE0 dw offset loc_BDE8 dw offset loc_BDF2 dw offset loc_BDFC dw offset loc_BE08 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BED5 proc near var_1 = byte ptr -1 arg_0 = byte ptr 4 arg_2 = byte ptr 6 enter 2, 0 mov al, 1 sub al, byte ptr word_12DBC+1 mov [bp+var_1], al mov dx, 0A6h ; 'ヲ' out dx, al push 10h mov al, [bp+arg_2] mov ah, 0 shl ax, 4 add ax, 8 push ax mov al, [bp+arg_0] mov ah, 0 push ax mov al, [bp+arg_2] mov ah, 0 shl ax, 2 mov bx, ax push large dword ptr [bx+0EB6h] call far ptr loc_DEB4 mov dx, 0A6h ; 'ヲ' mov al, byte ptr word_12DBC+1 out dx, al push 10h mov al, [bp+arg_2] mov ah, 0 shl ax, 4 add ax, 8 push ax mov al, [bp+arg_0] mov ah, 0 push ax mov al, [bp+arg_2] mov ah, 0 shl ax, 2 mov bx, ax push large dword ptr [bx+0EB6h] call far ptr loc_DEB4 leave retn 4 sub_BED5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BF41 proc near arg_0 = byte ptr 4 push bp mov bp, sp push si xor si, si jmp short loc_BF5E ; --------------------------------------------------------------------------- loc_BF49: push si mov al, [bp+arg_0] mov ah, 0 cmp ax, si jnz short loc_BF57 mov al, 3 jmp short loc_BF59 ; --------------------------------------------------------------------------- loc_BF57: mov al, 5 loc_BF59: push ax call sub_BED5 inc si loc_BF5E: cmp si, 18h jl short loc_BF49 pop si pop bp retn 2 sub_BF41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BF68 proc near push bp mov bp, sp push si push 7D00h call hmem_allocbyte mov word_12DC0, ax xor si, si jmp short loc_BF90 ; --------------------------------------------------------------------------- loc_BF7B: les bx, dword_1161A add bx, si mov eax, es:[bx] mov es, word_12DC0 mov es:[si], eax add si, 4 loc_BF90: cmp si, 7D00h jl short loc_BF7B pop si pop bp retn sub_BF68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BF99 proc near push bp mov bp, sp push word_12DC0 call hmem_free pop bp retn sub_BF99 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BFA7 proc near push bp mov bp, sp push si push di push ds mov ax, 0A800h mov es, ax assume es:nothing mov ax, word_12DC0 mov ds, ax xor di, di xor si, si mov cx, 3E80h rep movsw pop ds pop di pop si pop bp retn sub_BFA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_BFC5 proc near var_3 = byte ptr -3 var_2 = word ptr -2 arg_0 = byte ptr 4 arg_2 = word ptr 6 arg_4 = word ptr 8 arg_6 = word ptr 0Ah arg_8 = word ptr 0Ch arg_A = word ptr 0Eh enter 4, 0 push si push di mov di, [bp+arg_A] sar [bp+arg_6], 4 mov [bp+var_2], 0 jmp short loc_C02A ; --------------------------------------------------------------------------- loc_BFD9: mov ax, [bp+var_2] shl ax, 8 cwd idiv [bp+arg_2] add al, [bp+arg_0] mov [bp+var_3], al push [bp+arg_8] push [bp+arg_4] mov ah, 0 add ax, ax mov bx, ax push word ptr [bx+648h] call sub_DBB8 mov bx, [bp+var_2] shl bx, 2 mov [bx+di], ax push [bp+arg_6] push [bp+arg_4] mov al, [bp+var_3] mov ah, 0 add ax, ax mov bx, ax push word ptr [bx+5C8h] call sub_DBB8 mov bx, [bp+var_2] shl bx, 2 mov [bx+di+2], ax inc [bp+var_2] loc_C02A: mov ax, [bp+var_2] cmp ax, [bp+arg_2] jl short loc_BFD9 mov bx, [bp+var_2] shl bx, 2 mov ax, [di] mov [bx+di], ax mov bx, [bp+var_2] shl bx, 2 mov ax, [di+2] mov [bx+di+2], ax pop di pop si leave retn 0Ch sub_BFC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C04E proc near push bp mov bp, sp push si cmp byte_102AE, 0 jnz loc_C0FD xor si, si jmp loc_C0F1 ; --------------------------------------------------------------------------- loc_C060: call IRand mov bx, 280h cwd idiv bx mov bx, si shl bx, 2 mov [bx+39DCh], dx call IRand mov bx, 1900h cwd idiv bx mov bx, si shl bx, 2 mov [bx+39DEh], dx call IRand and ax, 7 mov dx, 4 sub dx, ax mov bx, si shl bx, 2 mov [bx+3A1Ch], dx mov bx, si shl bx, 2 cmp word ptr [bx+3A1Ch], 0 jnz short loc_C0B5 mov bx, si shl bx, 2 mov word ptr [bx+3A1Ch], 1 loc_C0B5: call IRand and ax, 3 shl ax, 4 add ax, 20h ; ' ' mov bx, si shl bx, 2 mov [bx+3A1Eh], ax call IRand mov [si+3A5Ch], al call IRand and al, 7 mov dl, 4 sub dl, al mov [si+3A6Ch], dl cmp byte ptr [si+3A6Ch], 0 jnz short loc_C0F0 mov byte ptr [si+3A6Ch], 4 loc_C0F0: inc si loc_C0F1: cmp si, 10h jl loc_C060 mov byte_102AE, 1 loc_C0FD: xor si, si jmp loc_C23A ; --------------------------------------------------------------------------- loc_C102: push 39B4h mov bx, si shl bx, 2 push word ptr [bx+39DCh] mov bx, si shl bx, 2 push word ptr [bx+39DEh] mov ax, si and ax, 3 shl ax, 4 add ax, 40h push ax mov ax, si mov bx, 4 cwd idiv bx add ax, 3 push ax mov al, [si+3A5Ch] push ax call sub_BFC5 mov bx, si shl bx, 2 mov ax, [bx+3A1Ch] mov bx, si shl bx, 2 add [bx+39DCh], ax mov bx, si shl bx, 2 mov ax, [bx+3A1Eh] mov bx, si shl bx, 2 add [bx+39DEh], ax mov al, [si+3A6Ch] add [si+3A5Ch], al mov bx, si shl bx, 2 cmp word ptr [bx+39DCh], 0 jle short loc_C17C mov bx, si shl bx, 2 cmp word ptr [bx+39DCh], 27Fh jl short loc_C18E loc_C17C: mov bx, si shl bx, 2 mov dx, 0FFFFh mov ax, [bx+3A1Ch] imul dx mov [bx+3A1Ch], ax loc_C18E: mov bx, si shl bx, 2 cmp word ptr [bx+39DEh], 1F40h jl loc_C224 call IRand mov bx, 280h cwd idiv bx mov bx, si shl bx, 2 mov [bx+39DCh], dx mov bx, si shl bx, 2 mov word ptr [bx+39DEh], 0F9C0h call IRand and ax, 0Fh mov dx, 8 sub dx, ax mov bx, si shl bx, 2 mov [bx+3A1Ch], dx mov bx, si shl bx, 2 cmp word ptr [bx+3A1Ch], 0 jnz short loc_C1E9 mov bx, si shl bx, 2 mov word ptr [bx+3A1Ch], 1 loc_C1E9: call IRand and ax, 3 shl ax, 4 add ax, 20h ; ' ' mov bx, si shl bx, 2 mov [bx+3A1Eh], ax call IRand mov [si+3A5Ch], al call IRand and al, 7 mov dl, 4 sub dl, al mov [si+3A6Ch], dl cmp byte ptr [si+3A6Ch], 0 jnz short loc_C224 mov byte ptr [si+3A6Ch], 4 loc_C224: push ds push offset unk_12CF4 mov ax, si mov bx, 4 cwd idiv bx add ax, 3 push ax call grcg_polygon_c inc si loc_C23A: cmp si, 10h jl loc_C102 pop si pop bp retn sub_C04E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C244 proc near push bp mov bp, sp call sub_BFA7 push large 0CE000Fh call grcg_setcolor call sub_C04E mov dx, 7Ch ; '|' mov al, 0 out dx, al mov dx, 0A4h ; '、' mov al, byte ptr word_12DBC+1 out dx, al mov al, 1 sub al, byte ptr word_12DBC+1 mov byte ptr word_12DBC+1, al mov dx, 0A6h ; 'ヲ' out dx, al push 1 call sub_E6DE pop bp retn sub_C244 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C27B proc near arg_0 = word ptr 4 push bp mov bp, sp push si push ds push offset a_music_txt ; "_MUSIC.TXT" call file_ropen mov ax, [bp+arg_0] imul ax, 320h cwde push eax push 0 call file_seek push ds push offset unk_12DD2 push 320h call file_read call file_close xor si, si jmp short loc_C2BA ; --------------------------------------------------------------------------- loc_C2AF: mov bx, si imul bx, 28h mov byte ptr [bx+3AB8h], 0 inc si loc_C2BA: cmp si, 14h jl short loc_C2AF pop si pop bp retn 2 sub_C27B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C2C4 proc near push bp mov bp, sp push si push large 1400040h push 7 push ds push offset unk_12DD2 call far ptr loc_DEB4 mov si, 1 jmp short loc_C306 ; --------------------------------------------------------------------------- loc_C2DE: mov bx, si imul bx, 28h cmp byte ptr [bx+3A92h], 3Bh ; ';' jz short loc_C305 push 140h lea ax, [si+4] shl ax, 4 push ax push 7 push ds mov ax, si imul ax, 28h add ax, 3A92h push ax call far ptr loc_DEB4 loc_C305: inc si loc_C306: cmp si, 14h jl short loc_C2DE pop si pop bp retn sub_C2C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C30E proc near push bp mov bp, sp push si mov si, 4 jmp short loc_C328 ; --------------------------------------------------------------------------- loc_C317: mov word_FD7C, si call sub_C2C4 call sub_C244 call sub_C2C4 call sub_C244 inc si loc_C328: cmp si, 8 jl short loc_C317 mov word_FD7C, 2 call sub_C2C4 call sub_C244 call sub_C2C4 pop si pop bp retn sub_C30E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C33F proc near push bp mov bp, sp mov word_FD7C, 2 push large 1400040h push large 1400140h call far ptr loc_E4F8 call sub_C244 push large 1400040h push large 1400140h call far ptr loc_E4F8 pop bp retn sub_C33F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C36F proc near arg_0 = word ptr 4 push bp mov bp, sp cmp byte_12DBE, 0 jz short loc_C37C call sub_C33F loc_C37C: push [bp+arg_0] call sub_C27B call sub_BFA7 push large 1400040h push large 1400140h call far ptr loc_E4F8 cmp byte_12DBE, 0 jz short loc_C3A2 call sub_C30E jmp short loc_C3B0 ; --------------------------------------------------------------------------- loc_C3A2: mov byte_12DBE, 1 call sub_C2C4 call sub_C244 call sub_C2C4 loc_C3B0: call sub_BFA7 pop bp retn 2 sub_C36F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C3B7 proc near push bp mov bp, sp mov byte_12DBE, 0 call sub_E6D0 call text_clear mov byte ptr word_12DBC+1, 1 mov PaletteTone, 0 call far ptr palette_show mov dx, 0A4h ; '、' mov al, 0 out dx, al mov dx, 0A6h ; 'ヲ' out dx, al call graph_clear mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aMusic_pi ; "music.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free mov al, byte_102AF mov byte ptr word_12DBC, al push word_12DBC call sub_BF41 push 0 call graph_copy_page call sub_E428 mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al mov dx, 0A4h ; '、' mov al, 0 out dx, al call sub_BF68 mov al, byte_102AF mov ah, 0 push ax call sub_C36F mov PaletteTone, 64h ; 'd' call far ptr palette_show loc_C454: call far ptr sub_E1DC cmp word_11A50, 0 jz short loc_C465 call sub_C244 jmp short loc_C454 ; --------------------------------------------------------------------------- loc_C465: call far ptr sub_E1DC test byte ptr word_11A50, 1 jz short loc_C4A0 push word_12DBC push 5 call sub_BED5 cmp byte ptr word_12DBC, 0 jbe short loc_C487 dec byte ptr word_12DBC jmp short loc_C48C ; --------------------------------------------------------------------------- loc_C487: mov byte ptr word_12DBC, 17h loc_C48C: cmp byte ptr word_12DBC, 16h jnz short loc_C497 dec byte ptr word_12DBC loc_C497: push word_12DBC push 3 call sub_BED5 loc_C4A0: test byte ptr word_11A50, 2 jz short loc_C4D6 push word_12DBC push 5 call sub_BED5 cmp byte ptr word_12DBC, 17h jnb short loc_C4BD inc byte ptr word_12DBC jmp short loc_C4C2 ; --------------------------------------------------------------------------- loc_C4BD: mov byte ptr word_12DBC, 0 loc_C4C2: cmp byte ptr word_12DBC, 16h jnz short loc_C4CD inc byte ptr word_12DBC loc_C4CD: push word_12DBC push 3 call sub_BED5 loc_C4D6: test byte ptr word_11A50, 20h jnz short loc_C4E4 test byte ptr word_11A50+1, 20h jz short loc_C51D loc_C4E4: cmp byte ptr word_12DBC, 17h jz short loc_C533 push 220h call sub_DC74 mov al, byte ptr word_12DBC mov byte_102AF, al mov ah, 0 push ax call sub_C36F mov al, byte ptr word_12DBC mov ah, 0 shl ax, 2 mov bx, ax push large dword ptr [bx+0F16h] push 600h call sub_DDCA push 0 call sub_DC74 loc_C51D: test byte ptr word_11A50+1, 10h jnz short loc_C533 cmp word_11A50, 0 jnz loc_C454 call sub_C244 jmp loc_C465 ; --------------------------------------------------------------------------- loc_C533: call far ptr sub_E1DC cmp word_11A50, 0 jz short loc_C544 call sub_C244 jmp short loc_C533 ; --------------------------------------------------------------------------- loc_C544: push 210h call sub_DC74 call sub_BF99 mov dx, 0A4h ; '、' mov al, 0 out dx, al mov dx, 0A6h ; 'ヲ' out dx, al push 1 call palette_black_out call sub_E4C6 push ds push offset aOp_2 ; "op" push 600h call sub_DDCA push 0 call sub_DC74 pop bp retn sub_C3B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C57A proc near var_1 = byte ptr -1 enter 2, 0 push si mov si, 4 jmp short loc_C5A7 ; --------------------------------------------------------------------------- loc_C584: mov al, [si+3DB3h] mov [bp+var_1], al mov al, byte_130F3 ror [bp+var_1], 3 xor [bp+var_1], al mov al, [si+3DB2h] mov dl, byte_130F2 add dl, [bp+var_1] add al, dl mov [si+3DB2h], al inc si loc_C5A7: cmp si, 0C3h ; 'テ' jl short loc_C584 mov al, byte_130F2 add [si+3DB2h], al xor cx, cx mov si, 4 jmp short loc_C5C4 ; --------------------------------------------------------------------------- loc_C5BB: mov al, [si+3DB2h] mov ah, 0 add cx, ax inc si loc_C5C4: cmp si, 0C4h ; 'ト' jl short loc_C5BB cmp word_130F4, cx jz short loc_C5D4 mov al, 1 jmp short loc_C624 ; --------------------------------------------------------------------------- loc_C5D4: mov si, 4 jmp short loc_C5FC ; --------------------------------------------------------------------------- loc_C5D9: mov al, [si+3E77h] mov [bp+var_1], al mov al, byte_131B7 ror [bp+var_1], 3 xor [bp+var_1], al mov al, [si+3E76h] mov dl, byte_131B6 add dl, [bp+var_1] add al, dl mov [si+3E76h], al inc si loc_C5FC: cmp si, 0C3h ; 'テ' jl short loc_C5D9 mov al, byte_131B6 add [si+3E76h], al xor cx, cx mov si, 4 jmp short loc_C619 ; --------------------------------------------------------------------------- loc_C610: mov al, [si+3E76h] mov ah, 0 add cx, ax loc_C618: inc si loc_C619: cmp si, 0C4h ; 'ト' jl short loc_C610 mov al, byte_131B8 sub al, cl loc_C624: pop si leave retn sub_C57A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C627 proc near var_1 = byte ptr -1 enter 2, 0 push si mov word_130F4, 0 mov si, 4 jmp short loc_C642 ; --------------------------------------------------------------------------- loc_C637: mov al, [si+3DB2h] mov ah, 0 add word_130F4, ax inc si loc_C642: cmp si, 0C4h ; 'ト' jl short loc_C637 call IRand mov byte_130F2, al call IRand mov byte_130F3, al mov [bp+var_1], 0 mov si, 0C3h ; 'テ' jmp short loc_C684 ; --------------------------------------------------------------------------- loc_C661: mov al, [si+3DB2h] mov dl, byte_130F2 add dl, [bp+var_1] sub al, dl mov [si+3DB2h], al mov al, [si+3DB2h] mov [bp+var_1], al mov al, byte_130F3 ror [bp+var_1], 3 xor [bp+var_1], al dec si loc_C684: cmp si, 4 jge short loc_C661 pop si leave retn sub_C627 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C68C proc near var_1 = byte ptr -1 enter 2, 0 push si push di mov [bp+var_1], 0A9h ; 'ゥ' xor si, si jmp short loc_C700 ; --------------------------------------------------------------------------- loc_C69A: mov byte_131A0, 19h xor di, di jmp short loc_C6AE ; --------------------------------------------------------------------------- loc_C6A3: mov bx, si shl bx, 3 mov byte ptr [bx+di+3E10h], 0A0h inc di loc_C6AE: cmp di, 8 jl short loc_C6A3 or si, si jnz short loc_C6C3 mov bx, si shl bx, 3 mov byte ptr [bx+3E15h], 0A1h ; '。' jmp short loc_C6D2 ; --------------------------------------------------------------------------- loc_C6C3: mov bx, si shl bx, 3 mov al, [bp+var_1] mov [bx+3E14h], al dec [bp+var_1] loc_C6D2: mov ax, si cwd sub ax, dx sar ax, 1 mov dl, 0A5h ; '・' sub dl, al mov [si+3E62h], dl xor di, di jmp short loc_C6F0 ; --------------------------------------------------------------------------- loc_C6E5: mov bx, si imul bx, 9 mov byte ptr [bx+di+3DB6h], 0C4h ; 'ト' inc di loc_C6F0: cmp di, 8 jl short loc_C6E5 mov bx, si imul bx, 9 mov byte ptr [bx+3DBEh], 0 inc si loc_C700: cmp si, 0Ah jl short loc_C69A push ds push offset aGensou_scr ; "GENSOU.SCR" call file_create xor si, si jmp short loc_C725 ; --------------------------------------------------------------------------- loc_C712: call sub_C627 push ds push offset byte_130F2 push 0C4h ; 'ト' call file_write call sub_C57A inc si loc_C725: cmp si, 0Ah jl short loc_C712 call file_close pop di pop si leave retn sub_C68C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C733 proc near push bp mov bp, sp push ds push offset aGensou_scr ; "GENSOU.SCR" call file_exist or ax, ax jz short loc_C793 push ds push offset aGensou_scr ; "GENSOU.SCR" call file_ropen mov al, byte_1327B mov ah, 0 imul ax, 0C4h movzx eax, ax push eax push 0 call file_seek push ds push offset byte_130F2 push 0C4h ; 'ト' call file_read push large 310h push 1 call file_seek push ds push offset byte_131B6 push 0C4h ; 'ト' call file_read call file_close call sub_C57A or al, al jz short loc_C79A loc_C793: call sub_C68C mov al, 1 pop bp retn ; --------------------------------------------------------------------------- loc_C79A: mov al, 0 pop bp retn sub_C733 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C79E 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 di, [bp+arg_2] mov si, [bp+arg_0] mov [bp+var_4], 10h mov bx, si shl bx, 3 mov al, [bx+3E17h] mov ah, 0 add ax, 0FF60h cmp ax, 0Ah jl short loc_C7E0 push 8Ch push di mov bx, si shl bx, 3 mov al, [bx+3E17h] mov ah, 0 add ax, 0FF60h mov bx, 0Ah cwd idiv bx push ax call super_put loc_C7E0: mov bx, si shl bx, 3 mov al, [bx+3EDBh] mov ah, 0 add ax, 0FF60h cmp ax, 0Ah jl short loc_C811 push 1C0h push di mov bx, si shl bx, 3 mov al, [bx+3EDBh] mov ah, 0 add ax, 0FF60h mov bx, 0Ah cwd idiv bx push ax call super_put loc_C811: push 9Ch push di mov bx, si shl bx, 3 mov al, [bx+3E17h] mov ah, 0 add ax, 0FF60h mov bx, 0Ah cwd idiv bx push dx call super_put push 1D0h push di mov bx, si shl bx, 3 mov al, [bx+3EDBh] mov ah, 0 add ax, 0FF60h mov bx, 0Ah cwd idiv bx push dx call super_put mov [bp+var_2], 6 jmp short loc_C899 ; --------------------------------------------------------------------------- loc_C854: mov ax, [bp+var_4] add ax, 9Ch push ax push di mov bx, si shl bx, 3 add bx, [bp+var_2] mov al, [bx+3E10h] mov ah, 0 add ax, 0FF60h push ax call super_put mov ax, [bp+var_4] add ax, 1D0h push ax push di mov bx, si shl bx, 3 add bx, [bp+var_2] mov al, [bx+3ED4h] mov ah, 0 add ax, 0FF60h push ax call super_put dec [bp+var_2] add [bp+var_4], 10h loc_C899: cmp [bp+var_2], 0 jge short loc_C854 pop di pop si leave retn 4 sub_C79E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C8A5 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] cmp [bp+arg_0], 0FFh jz short loc_C8D0 lea ax, [si+2] push ax lea ax, [di+2] push ax push [bp+arg_0] push 0Eh call graph_gaiji_putc push si push di push [bp+arg_0] jmp short loc_C8E8 ; --------------------------------------------------------------------------- loc_C8D0: lea ax, [si+2] push ax lea ax, [di+2] push ax push large 0EF000Eh call graph_gaiji_putc push si push di push 0EFh loc_C8E8: push 7 call graph_gaiji_putc pop di pop si pop bp retn 6 sub_C8A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_C8F5 proc near arg_0 = word ptr 4 push bp mov bp, sp push si push di mov si, [bp+arg_0] or si, si jnz loc_C989 push large 0A0062h push 10h mov ax, si imul ax, 9 add ax, 3DB6h push ds push ax push 0Eh call graph_gaiji_puts push large 80060h push 10h mov ax, si imul ax, 9 add ax, 3DB6h push ds push ax push 7 call graph_gaiji_puts push large 1420062h push 10h mov ax, si imul ax, 9 add ax, 3E7Ah push ds push ax push 0Eh call graph_gaiji_puts push large 1400060h push 10h mov ax, si imul ax, 9 add ax, 3E7Ah push ds push ax push 7 call graph_gaiji_puts push large 600000h call sub_C79E push large 1240060h mov al, [si+3E62h] mov ah, 0 push ax call sub_C8A5 push large 2580060h jmp loc_CA0A ; --------------------------------------------------------------------------- loc_C989: mov ax, si shl ax, 4 add ax, 70h ; 'p' mov di, ax push 0Ah add ax, 2 push ax push 10h mov ax, si imul ax, 9 add ax, 3DB6h push ds push ax push 0Eh call graph_gaiji_puts push 8 push di push 10h mov ax, si imul ax, 9 add ax, 3DB6h push ds push ax push 2 call graph_gaiji_puts push 142h lea ax, [di+2] push ax push 10h mov ax, si imul ax, 9 add ax, 3E7Ah push ds push ax push 0Eh call graph_gaiji_puts push 140h push di push 10h mov ax, si imul ax, 9 add ax, 3E7Ah push ds push ax push 2 call graph_gaiji_puts push di push si call sub_C79E push 124h push di mov al, [si+3E62h] mov ah, 0 push ax call sub_C8A5 push 258h push di loc_CA0A: mov al, [si+3F26h] mov ah, 0 push ax call sub_C8A5 pop di pop si pop bp retn 2 sub_C8F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CA1A proc near push bp mov bp, sp push si mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 call sub_DA50 push large 0 push 0 call sub_DA75 mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push 0 call sub_C8F5 mov si, 1 jmp short loc_CA5B ; --------------------------------------------------------------------------- loc_CA56: push si call sub_C8F5 inc si loc_CA5B: cmp si, 9 jl short loc_CA56 push 9 call sub_C8F5 push large 1F00178h mov al, byte_1327B mov ah, 0 add ax, ax add ax, 0Ah push ax call super_put push large 2300178h mov al, byte_1327B mov ah, 0 add ax, ax add ax, 0Bh push ax call super_put pop si pop bp retn sub_CA1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CA94 proc near push bp mov bp, sp push 100h call sub_DC74 push ds push offset aName ; "name" push 600h call sub_DDCA push 0 call sub_DC74 push 280h call sub_DC74 push 1 call palette_black_out les bx, dword_10DA4 assume es:nothing mov al, es:[bx+0Fh] mov byte_1327B, al call sub_C733 push 0 push ds push offset aHi01_pi ; "hi01.pi" call sub_DAFD loc_CADA: call sub_CA1A push 1 call palette_black_in loc_CAE4: call far ptr sub_E1DC push 1 call sub_DA3B test byte ptr word_11A50+1, 20h jnz short loc_CB58 test byte ptr word_11A50, 20h jnz short loc_CB58 test byte ptr word_11A50+1, 10h jnz short loc_CB58 test byte ptr word_11A50+1, 20h jnz short loc_CB58 test byte ptr word_11A50, 4 jz short loc_CB36 cmp byte_1327B, 0 jz short loc_CB36 dec byte_1327B mov PaletteTone, 0 call far ptr palette_show call sub_C733 call sub_CA1A push 1 call palette_black_in loc_CB36: test byte ptr word_11A50, 8 jz short loc_CAE4 cmp byte_1327B, 4 jnb short loc_CAE4 inc byte_1327B mov PaletteTone, 0 call far ptr palette_show call sub_C733 jmp short loc_CADA ; --------------------------------------------------------------------------- loc_CB58: push 201h call sub_DC74 push 1 call palette_black_out push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aOp1_pi_0 ; "op1.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push 0 call graph_copy_page push 1 call palette_black_in loc_CBB3: call far ptr sub_E1DC push 1 call sub_DA3B cmp word_11A50, 0 jnz short loc_CBB3 push 100h call sub_DC74 push ds push offset aOp_0 ; "op" push 600h call sub_DDCA push 0 call sub_DC74 pop bp retn sub_CA94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CBE3 proc near push bp mov bp, sp mov byte_1327B, 0 jmp loc_CC6F ; --------------------------------------------------------------------------- loc_CBEE: call sub_C733 or al, al jnz loc_CC78 mov al, byte_1327B mov ah, 0 mov dl, byte_131A0 mov bx, ax mov [bx+3F3Ch], dl mov al, byte_1327B mov ah, 0 mov dl, byte_13264 mov bx, ax mov [bx+3F41h], dl mov al, byte_1327B mov ah, 0 mov bx, ax cmp byte ptr [bx+3F3Ch], 3 jbe short loc_CC2F mov al, byte_1327B mov ah, 0 mov bx, ax mov byte ptr [bx+3F3Ch], 0 loc_CC2F: mov al, byte_1327B mov ah, 0 mov bx, ax cmp byte ptr [bx+3F41h], 3 jbe short loc_CC49 mov al, byte_1327B mov ah, 0 mov bx, ax mov byte ptr [bx+3F41h], 0 loc_CC49: cmp byte_1327B, 0 jz short loc_CC6B mov al, byte_1327B mov ah, 0 mov bx, ax mov al, [bx+3F3Ch] mov dl, byte_1327B mov dh, 0 mov bx, dx or al, [bx+3F41h] or byte_13286, al loc_CC6B: inc byte_1327B loc_CC6F: cmp byte_1327B, 5 jb loc_CBEE loc_CC78: les bx, dword_10DA4 mov al, es:[bx+0Fh] mov byte_1327B, al push ds push offset aScnum_bft ; "scnum.bft" call super_entry_bfnt push ds push offset aHi_m_bft ; "hi_m.bft" call super_entry_bfnt pop bp retn sub_CBE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CC97 proc near push bp mov bp, sp push 0 push ds push offset aSft1_cd2 ; "sft1.cd2" call sub_E63E push 0Ah push ds push offset aSft2_cd2 ; "sft2.cd2" call sub_E63E push 23h ; '#' push ds push offset aCar_cd2 ; "car.cd2" call sub_E63E push 28h ; '(' push ds push offset aSl_cd2 ; "sl.cd2" call far ptr sub_E638 pop bp retn sub_CC97 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CCC8 proc near push bp mov bp, sp call sub_E6D0 pop bp retn sub_CCC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CCD2 proc near var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = word ptr -2 enter 4, 0 push si push di mov PaletteTone, 0 call far ptr palette_show mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push large 0C0000Fh call grcg_setcolor push large 0 push large 4F018Fh call grcg_byteboxfill_x mov dx, 7Ch ; '|' mov al, 0 out dx, al push 0 call graph_copy_page push 0 push ds push offset aOp5b_pi ; "op5b.pi" call sub_DAFD push 1 push ds push offset aOp4b_pi ; "op4b.pi" call sub_DAFD push 2 push ds push offset aOp3b_pi ; "op3b.pi" call sub_DAFD push 3 push ds push offset aOp2b_pi ; "op2b.pi" call sub_DAFD push 4 push ds push offset aOp1b_pi ; "op1b.pi" call sub_DAFD push 5 push ds push offset aOp0b_pi ; "op0b.pi" call sub_DAFD push 0 call sub_DA50 push 4 call palette_black_in mov dx, 0A4h ; '、' mov al, 0 out dx, al mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al xor si, si mov [bp+var_3], 0 mov di, 64h ; 'd' mov [bp+var_4], 0 jmp short loc_CDC4 ; --------------------------------------------------------------------------- loc_CD7A: mov ax, si mov bx, 4 cwd idiv bx or dx, dx jnz short loc_CDB0 cmp [bp+var_3], 6 jnb short loc_CDB0 push large 26h ; '&' mov al, [bp+var_3] mov ah, 0 push ax call sub_DA75 inc [bp+var_3] mov dx, 0A6h ; 'ヲ' mov al, [bp+var_4] out dx, al mov al, 1 sub al, [bp+var_4] mov [bp+var_4], al mov dx, 0A4h ; '、' out dx, al loc_CDB0: mov PaletteTone, di call far ptr palette_show add di, 2 push 1 call sub_DA3B inc si loc_CDC4: cmp si, 1Ch jl short loc_CD7A mov PaletteTone, 0C8h ; 'ネ' call far ptr palette_show mov dx, 0A4h ; '、' mov al, 0 out dx, al mov dx, 0A6h ; 'ヲ' out dx, al push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push ds push offset unk_11710 push large [dword_116B4] call graph_pi_free push ds push offset unk_11758 push large [dword_116B8] call graph_pi_free push ds push offset unk_117A0 push large [dword_116BC] call graph_pi_free push ds push offset unk_117E8 push large [dword_116C0] call graph_pi_free push ds push offset unk_11830 push large [dword_116C4] call graph_pi_free les bx, dword_10DA4 cmp byte ptr es:[bx+3Eh], 0 jnz short loc_CE50 push ds push offset aOp_1 ; "op" push 600h call sub_DDCA push 0 call sub_DC74 loc_CE50: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al push 0 push ds push offset aOp1_pi_1 ; "op1.pi" call sub_DAFD push 0 call sub_DA50 push large 0 push 0 call sub_DA75 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free push 0 call graph_copy_page xor si, si jmp short loc_CEAA ; --------------------------------------------------------------------------- loc_CE8B: mov bx, si imul bx, 3 mov byte ptr [bx+1A96h], 0FFh mov bx, si imul bx, 3 mov byte ptr [bx+1A97h], 0FFh mov bx, si imul bx, 3 mov byte ptr [bx+1A98h], 0FFh inc si loc_CEAA: cmp si, 10h jl short loc_CE8B call far ptr palette_show mov PaletteTone, 64h ; 'd' call far ptr palette_show xor si, si mov [bp+var_3], 0F0h jmp short loc_CEE8 ; --------------------------------------------------------------------------- loc_CEC7: mov al, [bp+var_3] mov Palettes, al mov Palettes+1, al mov Palettes+2, al call far ptr palette_show push 1 call sub_DA3B inc si mov al, [bp+var_3] add al, 0F0h mov [bp+var_3], al loc_CEE8: cmp si, 0Fh jl short loc_CEC7 xor si, si mov [bp+var_3], 0FCh jmp short loc_CF4E ; --------------------------------------------------------------------------- loc_CEF5: mov di, 1 jmp short loc_CF34 ; --------------------------------------------------------------------------- loc_CEFA: mov [bp+var_2], 0 jmp short loc_CF2D ; --------------------------------------------------------------------------- loc_CF01: mov bx, di imul bx, 3 add bx, [bp+var_2] mov al, [bx+23A0h] mov bx, di imul bx, 3 add bx, [bp+var_2] cmp al, [bx+1A96h] jnb short loc_CF2A mov bx, di imul bx, 3 add bx, [bp+var_2] mov al, [bp+var_3] mov [bx+1A96h], al loc_CF2A: inc [bp+var_2] loc_CF2D: cmp [bp+var_2], 3 jl short loc_CF01 inc di loc_CF34: cmp di, 10h jl short loc_CEFA call far ptr palette_show push 1 call sub_DA3B inc si mov al, [bp+var_3] add al, 0FCh mov [bp+var_3], al loc_CF4E: cmp si, 3Fh ; '?' jl short loc_CEF5 push 0 call sub_DA50 pop di pop si leave retn sub_CCD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_CF5E proc near var_A = word ptr -0Ah 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 push 7D0h call hmem_allocbyte mov word ptr dword_132BA+2, ax mov word ptr dword_132BA, 0 push 7D0h call hmem_allocbyte mov word ptr dword_132BE+2, ax mov word ptr dword_132BE, 0 mov di, 0DC5h mov [bp+var_8], 0DE9h mov [bp+var_2], 0 xor si, si jmp loc_D050 ; --------------------------------------------------------------------------- loc_CF98: mov [bp+var_4], 0 mov [bp+var_6], di mov ax, [bp+var_8] mov [bp+var_A], ax jmp loc_D03E ; --------------------------------------------------------------------------- loc_CFA9: les bx, dword_1161A add bx, [bp+var_6] mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_1161A add bx, [bp+var_A] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si les bx, dword_1161E add bx, [bp+var_6] mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_1161E add bx, [bp+var_A] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si les bx, dword_11622 add bx, [bp+var_6] mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_11622 add bx, [bp+var_A] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si les bx, dword_11626 add bx, [bp+var_6] mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_11626 add bx, [bp+var_A] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si inc [bp+var_4] inc [bp+var_6] inc [bp+var_A] loc_D03E: cmp [bp+var_4], 20h ; ' ' jl loc_CFA9 inc [bp+var_2] add di, 50h ; 'P' add [bp+var_8], 50h ; 'P' loc_D050: cmp [bp+var_2], 8 jl loc_CF98 mov [bp+var_2], 0 jmp loc_D0F2 ; --------------------------------------------------------------------------- loc_D060: les bx, dword_1161A add bx, di mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_1161A add bx, [bp+var_8] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si les bx, dword_1161E add bx, di mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_1161E add bx, [bp+var_8] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si les bx, dword_11622 add bx, di mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_11622 add bx, [bp+var_8] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si les bx, dword_11626 add bx, di mov al, es:[bx] les bx, dword_132BA mov es:[bx+si], al les bx, dword_11626 add bx, [bp+var_8] mov al, es:[bx] les bx, dword_132BE mov es:[bx+si], al inc si inc [bp+var_2] add di, 50h ; 'P' add [bp+var_8], 50h ; 'P' loc_D0F2: cmp [bp+var_2], 0F4h jl loc_D060 pop di pop si leave retn sub_CF5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D0FF proc near var_6 = dword ptr -6 var_2 = word ptr -2 arg_0 = byte ptr 4 enter 6, 0 push si push di cmp [bp+arg_0], 0 jnz short loc_D114 mov dx, 0DC5h mov eax, dword_132BA jmp short loc_D11B ; --------------------------------------------------------------------------- loc_D114: mov dx, 0DE9h mov eax, dword_132BE loc_D11B: mov [bp+var_6], eax xor cx, cx jmp short loc_D18A ; --------------------------------------------------------------------------- loc_D123: mov [bp+var_2], 0 mov di, dx jmp short loc_D180 ; --------------------------------------------------------------------------- loc_D12C: les bx, dword_1161A add bx, di push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] les bx, dword_1161E add bx, di push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] les bx, dword_11622 add bx, di push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] les bx, dword_11626 add bx, di push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] inc [bp+var_2] inc di loc_D180: cmp [bp+var_2], 20h ; ' ' jl short loc_D12C inc cx add dx, 50h ; 'P' loc_D18A: cmp cx, 8 jl short loc_D123 xor cx, cx jmp short loc_D1E7 ; --------------------------------------------------------------------------- loc_D193: les bx, dword_1161A add bx, dx push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] les bx, dword_1161E add bx, dx push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] les bx, dword_11622 add bx, dx push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] les bx, dword_11626 add bx, dx push es les si, [bp+var_6] mov al, es:[si] pop es mov es:[bx], al inc word ptr [bp+var_6] inc cx add dx, 50h ; 'P' loc_D1E7: cmp cx, 0F4h jl short loc_D193 pop di pop si leave retn 2 sub_D0FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D1F3 proc near push bp mov bp, sp push word ptr dword_132BA+2 call hmem_free push word ptr dword_132BE+2 call hmem_free pop bp retn sub_D1F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D20A proc near var_6 = dword ptr -6 var_2 = word ptr -2 arg_0 = byte ptr 4 enter 6, 0 push si push di cmp [bp+arg_0], 0 jnz short loc_D21B mov si, 1046h jmp short loc_D21E ; --------------------------------------------------------------------------- loc_D21B: mov si, 106Ah loc_D21E: push large 0C00001h call grcg_setcolor mov [bp+var_6], 0AAAAAAAAh xor di, di jmp short loc_D273 ; --------------------------------------------------------------------------- loc_D235: test di, 1 jnz short loc_D243 mov eax, 0AAAAAAAAh jmp short loc_D249 ; --------------------------------------------------------------------------- loc_D243: mov eax, 55555555h loc_D249: mov [bp+var_6], eax mov [bp+var_2], 0 jmp short loc_D269 ; --------------------------------------------------------------------------- loc_D254: les bx, dword_1161A add bx, si mov eax, [bp+var_6] mov es:[bx], eax add [bp+var_2], 4 add si, 4 loc_D269: cmp [bp+var_2], 20h ; ' ' jl short loc_D254 inc di add si, 30h ; '0' loc_D273: cmp di, 0F4h jl short loc_D235 mov dx, 7Ch ; '|' mov al, 0 out dx, al pop di pop si leave retn 2 sub_D20A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D285 proc near var_2 = word ptr -2 arg_0 = word ptr 4 enter 2, 0 push si push di mov si, [bp+arg_0] mov ax, si or ax, ax jz short loc_D29B cmp ax, 1 jz short loc_D2A0 jmp short loc_D2A3 ; --------------------------------------------------------------------------- loc_D29B: mov di, 50h ; 'P' jmp short loc_D2A3 ; --------------------------------------------------------------------------- loc_D2A0: mov di, 170h loc_D2A3: mov [bp+var_2], 138h lea ax, [di+8] push ax mov ax, [bp+var_2] add ax, 8 push ax push 0Fh mov bx, si shl bx, 3 push large dword ptr [bx+13D4h] call far ptr loc_DEB4 lea ax, [di+8] push ax mov ax, [bp+var_2] add ax, 28h ; '(' push ax push 0Fh mov bx, si shl bx, 3 push large dword ptr [bx+13D8h] call far ptr loc_DEB4 mov ax, 1 sub ax, si mov si, ax or ax, ax jz short loc_D2F2 cmp ax, 1 jz short loc_D2F7 jmp short loc_D2FA ; --------------------------------------------------------------------------- loc_D2F2: mov di, 50h ; 'P' jmp short loc_D2FA ; --------------------------------------------------------------------------- loc_D2F7: mov di, 170h loc_D2FA: lea ax, [di+8] push ax mov ax, [bp+var_2] add ax, 8 push ax push 3 mov bx, si shl bx, 3 push large dword ptr [bx+13D4h] call far ptr loc_DEB4 lea ax, [di+8] push ax mov ax, [bp+var_2] add ax, 28h ; '(' push ax push 3 mov bx, si shl bx, 3 push large dword ptr [bx+13D8h] call far ptr loc_DEB4 pop di pop si leave retn 2 sub_D285 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D338 proc near arg_0 = word ptr 4 push bp mov bp, sp push si push di mov ax, [bp+arg_0] or ax, ax jz short loc_D34B cmp ax, 1 jz short loc_D350 jmp short loc_D353 ; --------------------------------------------------------------------------- loc_D34B: mov si, 50h ; 'P' jmp short loc_D353 ; --------------------------------------------------------------------------- loc_D350: mov si, 170h loc_D353: mov di, 138h push large 0C00001h call grcg_setcolor lea ax, [si+8] push ax lea ax, [di+8] push ax lea ax, [si+0C8h] push ax lea ax, [di+48h] push ax push 8 call grcg_round_boxfill push large 0C00002h call grcg_setcolor push si push di lea ax, [si+0C0h] push ax lea ax, [di+40h] push ax push 8 call grcg_round_boxfill mov dx, 7Ch ; '|' mov al, 0 out dx, al pop di pop si pop bp retn 2 sub_D338 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D3A2 proc near push bp mov bp, sp cmp byte_132B8, 0 jnz short loc_D407 push large 28002Ch push 28h ; '(' call sub_E176 push 1 call sub_D0FF push large 1500034h push 29h ; ')' call sub_E176 push 1 call sub_D20A push large 0C00001h call grcg_setcolor push large 250034h push large 25011Fh call grcg_byteboxfill_x push large 60120h push large 250127h call grcg_byteboxfill_x mov dx, 7Ch ; '|' mov al, 0 out dx, al push 0 jmp short loc_D460 ; --------------------------------------------------------------------------- loc_D407: push large 148002Ch push 29h ; ')' call sub_E176 push 0 call sub_D0FF push large 300034h push 28h ; '(' call sub_E176 push 0 call sub_D20A push large 0C00001h call grcg_setcolor push large 490034h push large 49011Fh call grcg_byteboxfill_x push large 2A0120h push large 490127h call grcg_byteboxfill_x mov dx, 7Ch ; '|' mov al, 0 out dx, al push 1 loc_D460: call sub_D285 pop bp retn sub_D3A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D465 proc near var_5 = byte ptr -5 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = word ptr 4 enter 6, 0 push si push di mov di, [bp+arg_0] les bx, dword_10DA4 cmp byte ptr es:[bx+11h], 6 jnz short loc_D47E mov ax, 4 jmp short loc_D488 ; --------------------------------------------------------------------------- loc_D47E: les bx, dword_10DA4 mov al, es:[bx+0Fh] mov ah, 0 loc_D488: mov [bp+var_4], ax mov ax, di or ax, ax jz short loc_D498 cmp ax, 1 jz short loc_D4A1 jmp short loc_D4A8 ; --------------------------------------------------------------------------- loc_D498: mov si, 138h mov [bp+var_5], 1 jmp short loc_D4A8 ; --------------------------------------------------------------------------- loc_D4A1: mov si, 150h mov [bp+var_5], 2 loc_D4A8: mov [bp+var_2], 140h mov al, byte_132B8 mov ah, 0 imul ax, 5 add ax, [bp+var_4] mov dl, [bp+var_5] mov bx, ax test [bx+3F3Ch], dl jz short loc_D4E5 mov word_FD7C, 0 mov ax, [bp+var_2] add ax, 0FFF8h push ax lea ax, [si+4] push ax push 0Fh push ds push offset aStar call far ptr loc_DEB4 mov word_FD7C, 2 loc_D4E5: mov ax, [bp+var_2] add ax, 8 push ax lea ax, [si+4] push ax push 0Fh mov al, byte_132B8 mov ah, 0 shl ax, 3 mov dx, di shl dx, 2 add ax, dx mov bx, ax push large dword ptr [bx+13E4h] call far ptr loc_DEB4 mov ax, 1 sub ax, di mov di, ax or ax, ax jz short loc_D51F cmp ax, 1 jz short loc_D528 jmp short loc_D52F ; --------------------------------------------------------------------------- loc_D51F: mov si, 138h mov [bp+var_5], 1 jmp short loc_D52F ; --------------------------------------------------------------------------- loc_D528: mov si, 150h mov [bp+var_5], 2 loc_D52F: mov al, byte_132B8 mov ah, 0 imul ax, 5 add ax, [bp+var_4] mov dl, [bp+var_5] mov bx, ax test [bx+3F3Ch], dl jz short loc_D567 mov word_FD7C, 0 mov ax, [bp+var_2] add ax, 0FFF8h push ax lea ax, [si+4] push ax push 0Fh push ds push offset aStar call far ptr loc_DEB4 mov word_FD7C, 2 loc_D567: mov ax, [bp+var_2] add ax, 8 push ax lea ax, [si+4] push ax push 3 mov al, byte_132B8 mov ah, 0 shl ax, 3 mov dx, di shl dx, 2 add ax, dx mov bx, ax push large dword ptr [bx+13E4h] call far ptr loc_DEB4 pop di pop si leave retn 2 sub_D465 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D595 proc near push bp mov bp, sp push si push di mov si, 138h mov di, 140h push large 0C00001h call grcg_setcolor lea ax, [di+8] push ax lea ax, [si+8] push ax lea ax, [di+0C7h] push ax lea ax, [si+1Fh] push ax push 8 call grcg_round_boxfill lea ax, [di+8] push ax lea ax, [si+20h] push ax lea ax, [di+0C7h] push ax lea ax, [si+37h] push ax push 8 call grcg_round_boxfill push 88h lea ax, [si+8] push ax push 147h lea ax, [si+1Fh] push ax push 8 call grcg_round_boxfill push large 0C00002h call grcg_setcolor push di push si lea ax, [di+0C0h] push ax lea ax, [si+17h] push ax push 8 call grcg_round_boxfill push di lea ax, [si+18h] push ax lea ax, [di+0C0h] push ax lea ax, [si+2Fh] push ax push 8 call grcg_round_boxfill push 80h push si push 13Fh lea ax, [si+17h] push ax push 8 call grcg_round_boxfill mov dx, 7Ch ; '|' mov al, 0 out dx, al push 98h lea ax, [si+4] push ax push 3 push ds push offset aGtgugegfgGuvSi ; "サブウェポンの選択" call far ptr loc_DEB4 pop di pop si pop bp retn sub_D595 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D650 proc near push bp mov bp, sp cmp byte_132B8, 0 jnz short loc_D664 push large 0B8002Ch push 28h ; '(' jmp short loc_D66C ; --------------------------------------------------------------------------- loc_D664: push large 0B8002Ch push 29h ; ')' loc_D66C: call sub_E176 push large 0C00001h call grcg_setcolor push large 370034h push large 37011Fh call grcg_byteboxfill_x push large 180120h push large 370127h call grcg_byteboxfill_x mov dx, 7Ch ; '|' mov al, 0 out dx, al call sub_D595 mov al, byte_132B9 mov ah, 0 push ax call sub_D465 pop bp retn sub_D650 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D6B2 proc near push bp mov bp, sp mov PaletteTone, 0 call far ptr palette_show push 0 push ds push offset aSlb1_pi ; "slb1.pi" call sub_DAFD mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al mov dx, 0A4h ; '、' mov al, 0 out dx, al push 0 call sub_DA50 push large 0 push 0 call sub_DA75 call sub_CF5E push 0 call sub_D338 push 1 call sub_D338 call sub_D3A2 push 0 call graph_copy_page push 1 call palette_black_in pop bp retn sub_D6B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_D708 proc near var_2 = byte ptr -2 var_1 = byte ptr -1 enter 2, 0 push si push di les bx, dword_10DA4 cmp byte ptr es:[bx+11h], 6 jnz short loc_D78D xor di, di jmp short loc_D786 ; --------------------------------------------------------------------------- loc_D71D: mov [bp+var_2], 0 mov si, 1 jmp short loc_D735 ; --------------------------------------------------------------------------- loc_D726: mov bx, di imul bx, 5 mov al, [bx+si+3F3Ch] and al, 1 or [bp+var_2], al inc si loc_D735: cmp si, 4 jl short loc_D726 mov bx, di add bx, bx push bx cmp [bp+var_2], 0 jz short loc_D74A mov ax, 1 jmp short loc_D74C ; --------------------------------------------------------------------------- loc_D74A: xor ax, ax loc_D74C: pop bx mov [bx+3F82h], al mov [bp+var_2], 0 mov si, 1 jmp short loc_D769 ; --------------------------------------------------------------------------- loc_D75A: mov bx, di imul bx, 5 mov al, [bx+si+3F3Ch] and al, 2 or [bp+var_2], al inc si loc_D769: cmp si, 4 jl short loc_D75A mov bx, di add bx, bx push bx cmp [bp+var_2], 0 jz short loc_D77E mov ax, 1 jmp short loc_D780 ; --------------------------------------------------------------------------- loc_D77E: xor ax, ax loc_D780: pop bx mov [bx+3F83h], al inc di loc_D786: cmp di, 2 jl short loc_D71D jmp short loc_D7A1 ; --------------------------------------------------------------------------- loc_D78D: mov byte_132C2, 1 mov byte_132C3, 1 mov byte_132C4, 1 mov byte_132C5, 1 loc_D7A1: cmp byte_132C2, 0 jnz short loc_D7AF cmp byte_132C3, 0 jz short loc_D7B3 loc_D7AF: mov al, 0 jmp short loc_D7B5 ; --------------------------------------------------------------------------- loc_D7B3: mov al, 1 loc_D7B5: mov byte_132B8, al loc_D7B8: call sub_D6B2 loc_D7BB: call far ptr sub_E1DC cmp [bp+var_1], 0 jnz loc_D8DF test byte ptr word_11A50, 4 jnz short loc_D7D6 test byte ptr word_11A50, 8 jz short loc_D84C loc_D7D6: call sub_E2E6 push 1 call sub_E2F2 call sub_E32C mov al, 1 sub al, byte_132B8 mov byte_132B8, al mov ah, 0 add ax, ax mov bx, ax cmp byte ptr [bx+3F82h], 0 jnz short loc_D816 mov al, byte_132B8 mov ah, 0 add ax, ax mov bx, ax cmp byte ptr [bx+3F83h], 0 jnz short loc_D816 mov al, 1 sub al, byte_132B8 mov byte_132B8, al loc_D816: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call sub_D3A2 mov vsync_Count1, 0 push 1 call sub_DA3B mov dx, 0A4h ; '、' mov al, 1 out dx, al push 0 call graph_copy_page mov vsync_Count1, 0 push 1 call sub_DA3B mov dx, 0A4h ; '、' mov al, 0 out dx, al loc_D84C: test byte ptr word_11A50+1, 20h jnz short loc_D85A test byte ptr word_11A50, 20h jz short loc_D8B2 loc_D85A: call sub_E2E6 push 0Bh call sub_E2F2 call sub_E32C mov al, byte_132B8 mov ah, 0 add ax, ax mov bx, ax cmp byte ptr [bx+3F82h], 0 jz short loc_D87F mov al, 0 jmp short loc_D881 ; --------------------------------------------------------------------------- loc_D87F: mov al, 1 loc_D881: mov byte_132B9, al mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al mov PaletteTone, 0C8h ; 'ネ' call far ptr palette_show push large 0 push 0 call sub_DA75 call sub_D650 push 0 call graph_copy_page push 1 call palette_white_in loc_D8B0: jmp short loc_D8F4 ; --------------------------------------------------------------------------- loc_D8B2: test byte ptr word_11A50+1, 10h jz short loc_D8D7 push 1 call palette_black_out call sub_D1F3 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free mov ax, 1 jmp loc_DA0D ; --------------------------------------------------------------------------- loc_D8D7: mov al, byte ptr word_11A50 mov [bp+var_1], al jmp short loc_D8EA ; --------------------------------------------------------------------------- loc_D8DF: cmp word_11A50, 0 jnz short loc_D8EA mov [bp+var_1], 0 loc_D8EA: push 1 call sub_DA3B jmp loc_D7BB ; --------------------------------------------------------------------------- loc_D8F4: call far ptr sub_E1DC cmp [bp+var_1], 0 jnz loc_D9F8 test byte ptr word_11A50, 1 jnz short loc_D90F test byte ptr word_11A50, 2 jz short loc_D986 loc_D90F: mov al, 1 sub al, byte_132B9 mov byte_132B9, al mov al, byte_132B8 mov ah, 0 add ax, ax mov dl, byte_132B9 mov dh, 0 add ax, dx mov bx, ax cmp byte ptr [bx+3F82h], 0 jnz short loc_D939 mov al, 1 sub al, byte_132B9 mov byte_132B9, al loc_D939: mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al mov al, byte_132B9 mov ah, 0 push ax call sub_D465 mov vsync_Count1, 0 push 1 call sub_DA3B mov dx, 0A4h ; '、' mov al, 1 out dx, al push 0 call graph_copy_page mov vsync_Count1, 0 push 1 call sub_DA3B mov dx, 0A4h ; '、' mov al, 0 out dx, al call sub_E2E6 push 1 call sub_E2F2 call sub_E32C loc_D986: test byte ptr word_11A50+1, 20h jnz short loc_D994 test byte ptr word_11A50, 20h jz short loc_D9D5 loc_D994: call sub_E2E6 push 0Bh call sub_E2F2 call sub_E32C les bx, dword_10DA4 mov al, byte_132B9 mov es:[bx+19h], al mov al, byte_132B8 add al, 30h ; '0' mov es:[bx+12h], al push 1 call palette_black_out call sub_D1F3 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free xor ax, ax jmp short loc_DA0D ; --------------------------------------------------------------------------- loc_D9D5: test byte ptr word_11A50+1, 10h jz short loc_D9F0 call sub_D1F3 push ds push offset unk_116C8 push large [dword_116B0] call graph_pi_free jmp loc_D7B8 ; --------------------------------------------------------------------------- loc_D9F0: mov al, byte ptr word_11A50 mov [bp+var_1], al jmp short loc_DA03 ; --------------------------------------------------------------------------- loc_D9F8: cmp word_11A50, 0 jnz short loc_DA03 mov [bp+var_1], 0 loc_DA03: push 1 call sub_DA3B jmp loc_D8B0 ; --------------------------------------------------------------------------- loc_DA0D: pop di pop si leave retn sub_D708 endp seg001 ends ; =========================================================================== ; Segment type: Pure code seg002 segment byte public 'CODE' use16 assume cs:seg002 ;org 1 assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DA12 proc far push bp mov bp, sp mov dword_1161A, 0A8000000h mov dword_1161E, 0B0000000h mov dword_11622, 0B8000000h mov dword_11626, 0E0000000h pop bp retf sub_DA12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DA3B proc far arg_0 = word ptr 6 push bp mov bp, sp mov vsync_Count1, 0 loc_DA44: mov ax, vsync_Count1 cmp ax, [bp+arg_0] jb short loc_DA44 pop bp retf 2 sub_DA3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DA50 proc far arg_0 = word ptr 6 push bp mov bp, sp push 30h ; '0' ; n push ds mov ax, [bp+arg_0] imul ax, 48h add ax, 23A0h push ax ; src push ds push offset Palettes ; dest call _memcpy add sp, 0Ah call far ptr palette_show pop bp retf 2 sub_DA50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DA75 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+2372h] mov dx, [bx+2370h] mov word ptr [bp+var_4+2], ax mov word ptr [bp+var_4], dx mov [bp+var_6], 0 jmp short loc_DAE9 ; --------------------------------------------------------------------------- loc_DA9B: push [bp+arg_4] push si push large [bp+var_4] mov bx, di imul bx, 48h push word ptr [bx+239Ch] call graph_pack_put_8 inc si cmp si, 190h jl short loc_DABC sub si, 190h loc_DABC: mov bx, di imul bx, 48h mov ax, [bx+239Ch] 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_DAE9: mov bx, di imul bx, 48h mov ax, [bx+239Eh] cmp ax, [bp+var_6] ja short loc_DA9B pop di pop si leave retf 6 sub_DA75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DAFD proc far var_2 = word ptr -2 arg_0 = dword ptr 6 arg_4 = word ptr 0Ah enter 2, 0 push si mov si, [bp+arg_4] mov ax, si imul ax, 48h add ax, 2388h push ds push ax mov bx, si shl bx, 2 push large dword ptr [bx+2370h] call graph_pi_free push large [bp+arg_0] mov ax, si imul ax, 48h add ax, 2388h push ds push ax mov ax, si shl ax, 2 add ax, 2370h push ds push ax call graph_pi_load_pack mov [bp+var_2], ax pop si leave retf 6 sub_DAFD endp ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- push di xor ax, ax mov di, 2538h xor dl, dl jmp short loc_DB59 ; --------------------------------------------------------------------------- loc_DB4E: xor dl, dl mov cx, 8 loc_DB53: rol al, 1 rcr dl, 1 loop loc_DB53 loc_DB59: mov [di], dl inc di inc al jnz short loc_DB4E pop di retf ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DB62 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_DB6C: nop push cs call sub_E1DC push 1 nop push cs call near ptr sub_DA3B nop push cs call near ptr sub_E1E4 cmp word_11A50, 0 jnz short loc_DB6C or si, si jnz short loc_DBAE mov si, 270Fh jmp short loc_DBAE ; --------------------------------------------------------------------------- loc_DB8D: nop push cs call sub_E1DC push 1 nop push cs call near ptr sub_DA3B nop push cs call near ptr sub_E1E4 cmp word_11A50, 0 jnz short loc_DBB2 inc di cmp si, 270Fh jnz short loc_DBAE xor di, di loc_DBAE: cmp di, si jl short loc_DB8D loc_DBB2: pop di pop si pop bp retf 2 sub_DB62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DBB8 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_DBB8 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+648h] imul eax, edx sar eax, 8 add ax, [bp+0Ch] mov [si], ax movsx eax, word ptr [bp+8] movsx edx, word ptr [bx+5C8h] 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_DC16 proc far xor ax, ax mov byte_11978, 60h mov byte_FD22, al mov byte_FD21, al mov byte_FD20, al mov es, ax les bx, dword ptr es:[0180h] assume es:nothing cmp byte ptr es:[bx+2], 50h ; 'P' jnz short locret_DC43 cmp byte ptr es:[bx+3], 4Dh ; 'M' jnz short locret_DC43 cmp byte ptr es:[bx+4], 44h ; 'D' jnz short locret_DC43 inc ax locret_DC43: retf sub_DC16 endp ; =============== S U B R O U T I N E ======================================= sub_DC44 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_DC70 cmp byte ptr es:[bx+3], 4Dh ; 'M' jnz short loc_DC70 cmp byte ptr es:[bx+4], 44h ; 'D' jnz short loc_DC70 mov byte_11978, 61h ; 'a' mov byte_FD22, 1 mov ax, 1 retf ; --------------------------------------------------------------------------- loc_DC70: xor ax, ax retf sub_DC44 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DC74 proc far arg_0 = word ptr 6 push bp mov bp, sp cmp byte_FD21, 0 jz short loc_DC8E mov ax, [bp+arg_0] cmp byte_FD21, 3 jz short loc_DC8C int 60h jmp short loc_DC8E ; --------------------------------------------------------------------------- loc_DC8C: int 61h ; reserved for user interrupt loc_DC8E: pop bp retf 2 sub_DC74 endp ; --------------------------------------------------------------------------- loc_DC92: push bp mov bp, sp push si push di mov si, [bp+6] shl si, 4 add si, 2716h mov di, [bp+0Ah] sar di, 3 add di, [si+6] mov ax, [si+8] mov cs:word_DCD3, ax jmp short $+2 shl ax, 2 add ax, 50h ; 'P' mov dx, ax mov ax, [bp+8] mov bx, ax shl ax, 2 add ax, bx add ax, 0A800h mov es, ax push ds mov ds, word ptr [si+0Ch] xor si, si cld nop ; --------------------------------------------------------------------------- db 0B9h word_DCD3 dw 1234h db 0F3h, 66h, 0A5h, 2Bh, 0FAh, 79h, 0F6h, 1Fh, 5Fh, 5Eh db 5Dh, 0CAh, 6, 0, 90h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DCE4 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] nop push cs call near ptr sub_DC16 cmp si, 3 jnz short loc_DCFE nop push cs call near ptr sub_DC44 loc_DCFE: mov ah, 9 int 60h cmp al, 0FFh jnz short loc_DD0D mov byte_FD21, 0 jmp short loc_DD1D ; --------------------------------------------------------------------------- loc_DD0D: or al, al jnz short loc_DD18 mov byte_FD21, 1 jmp short loc_DD1D ; --------------------------------------------------------------------------- loc_DD18: mov byte_FD21, 2 loc_DD1D: cmp di, 1 jnz short loc_DD35 cmp byte_FD21, 0 jz short loc_DD2E mov ax, 1 jmp short loc_DD30 ; --------------------------------------------------------------------------- loc_DD2E: xor ax, ax loc_DD30: mov byte_FD20, al jmp short loc_DD46 ; --------------------------------------------------------------------------- loc_DD35: cmp di, 2 jnz short loc_DD41 mov byte_FD20, 2 jmp short loc_DD46 ; --------------------------------------------------------------------------- loc_DD41: mov byte_FD20, 0 loc_DD46: or si, si jnz short loc_DD51 mov byte_FD21, 0 jmp short loc_DD75 ; --------------------------------------------------------------------------- loc_DD51: cmp si, 3 jnz short loc_DD64 cmp byte_FD22, 0 jz short loc_DD64 mov byte_FD21, 3 jmp short loc_DD75 ; --------------------------------------------------------------------------- loc_DD64: cmp si, 1 jnz short loc_DD75 cmp byte_FD21, 0 jz short loc_DD75 mov byte_FD21, 1 loc_DD75: mov al, byte_FD21 mov ah, 0 pop di pop si pop bp retf 4 sub_DCE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DD80 proc far arg_0 = word ptr 6 arg_2 = word ptr 8 push bp mov bp, sp cmp byte_FD21, 0 jnz short loc_DD96 push [bp+arg_0] nop push cs call near ptr sub_DA3B pop bp retf 4 ; --------------------------------------------------------------------------- loc_DD96: mov ah, 5 cmp byte_FD21, 3 jz short loc_DDA3 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_DDA8 ; --------------------------------------------------------------------------- loc_DDA3: mov dx, 0C0h int 61h ; reserved for user interrupt loc_DDA8: cmp ax, [bp+arg_2] jb short loc_DD96 pop bp retf 4 sub_DD80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DDB1 proc far push bp mov bp, sp nop push cs call near ptr sub_E0AC call key_beep_on call text_systemline_show call text_cursor_show pop bp retf sub_DDB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_DDCA 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_DDDF ; --------------------------------------------------------------------------- loc_DDD2: les bx, [bp+arg_2] add bx, si mov al, es:[bx] mov [si+2700h], al inc si loc_DDDF: cmp si, 0Dh jl short loc_DDD2 xor si, si loc_DDE6: inc si cmp byte ptr [si+2700h], 0 jnz short loc_DDE6 mov byte ptr [si+2704h], 0 mov byte ptr [si+2700h], 2Eh ; '.' inc si cmp [bp+arg_0], 0B00h jnz short loc_DE32 mov byte ptr [si+2700h], 65h ; 'e' mov byte ptr [si+2701h], 66h ; 'f' cmp byte_FD20, 0 jz loc_DEAF cmp byte_FD20, 2 jnz short loc_DE2B mov byte ptr [si+2702h], 73h ; 's' push ds push offset unk_11A40 call bgm_read_sdata jmp loc_DEAF ; --------------------------------------------------------------------------- loc_DE2B: mov byte ptr [si+2702h], 63h ; 'c' jmp short loc_DE82 ; --------------------------------------------------------------------------- loc_DE32: cmp byte_FD21, 0 jz short loc_DEAF push 100h nop push cs call near ptr sub_DC74 mov al, byte_FD21 mov ah, 0 shl ax, 2 mov bx, ax les bx, [bx+9E4h] mov al, es:[bx] mov [si+2700h], al mov al, byte_FD21 mov ah, 0 shl ax, 2 mov bx, ax les bx, [bx+9E4h] mov al, es:[bx+1] mov [si+2701h], al mov al, byte_FD21 mov ah, 0 shl ax, 2 mov bx, ax les bx, [bx+9E4h] mov al, es:[bx+2] mov [si+2702h], al loc_DE82: push ds mov dx, 2700h 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_DEA0 cmp byte_FD21, 3 jnz short loc_DEA0 int 61h ; reserved for user interrupt jmp short loc_DEA2 ; --------------------------------------------------------------------------- loc_DEA0: int 60h loc_DEA2: 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_DEAF: pop si pop bp retf 6 sub_DDCA endp ; --------------------------------------------------------------------------- loc_DEB4: 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_FD7C add bx, bx cmp bx, 8 jb short loc_DF10 cmp bx, 10h jnb short loc_DF10 mov ax, [bx+0A0Ch] mov cs:word_E00B, ax mov bx, 8 loc_DF10: mov ax, [bx+0A00h] mov cs:word_DF73, ax mov ax, [bx+0A0Ah] mov cs:word_DFC5, ax mov ax, word_FD7E mov cs:word_DF92, ax mov cs:word_DFD9, ax push ds pop fs assume fs:dseg lds si, [bp+6] lodsb or al, al jz short loc_DF9D loc_DF36: mov dx, cx shr dx, 3 add di, dx and cx, 7 mov ah, 9 test al, 0E0h jns short loc_DFAF jp short loc_DFAC mov ah, al lodsb shl ah, 1 cmp al, 9Fh jnb short loc_DF56 cmp al, 80h adc ax, 0FEDFh loc_DF56: sbb al, 0FEh and ax, 7F7Fh out 0A1h, al mov al, ah out 0A3h, al nop mov al, ch or al, 20h out 0A5h, al in al, 0A9h mov ah, al mov al, ch out 0A5h, al in al, 0A9h ; --------------------------------------------------------------------------- db 0E8h word_DF73 dw 78h db 8Ah, 0F8h, 0B3h, 0, 0D3h, 0E8h, 0D3h, 0EBh, 86h, 0E0h db 0ABh, 26h, 88h, 1Dh, 83h, 0C7h, 4Eh, 0FEh, 0C5h, 80h db 0FDh, 10h, 72h, 0D5h, 81h, 0EFh, 0, 5, 0BAh word_DF92 dw 1234h ; --------------------------------------------------------------------------- loc_DF94: xor ch, ch add cx, dx lodsb or al, al jnz short loc_DF36 loc_DF9D: mov al, 0Ah out 68h, al xor al, al out 7Ch, al pop ds pop di pop si pop bp retf 0Ah ; --------------------------------------------------------------------------- loc_DFAC: add ax, 80h loc_DFAF: cmp al, 20h ; ' ' jz short near ptr byte_DFD8 out 0A1h, al mov al, ah out 0A3h, al nop mov al, ch or al, 20h out 0A5h, al in al, 0A9h xor ah, ah ; --------------------------------------------------------------------------- db 0E8h word_DFC5 dw 26h db 0D3h, 0C8h, 0ABh, 83h, 0C7h, 4Eh, 0FEh, 0C5h, 80h, 0FDh db 10h, 72h, 0E6h, 81h, 0EFh, 0, 5 byte_DFD8 db 0BAh word_DFD9 dw 1234h ; --------------------------------------------------------------------------- shr dx, 1 jmp short loc_DF94 ; --------------------------------------------------------------------------- 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_DFED 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_DFED endp ; --------------------------------------------------------------------------- db 0E8h, 0ECh, 0FFh, 8Ah, 0DDh, 83h, 0E3h, 2 dup(3), 0DBh db 64h, 23h, 87h word_E00B dw 1234h ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_E00E: 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+6] shl si, 4 add si, 2716h mov ax, [si+0Eh] mov cs:word_E086, ax jmp short $+2 mov ax, [bp+8] 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+0Ah] 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_E076: mov cx, bp rep movsd sub di, dx jns short loc_E076 xor al, al out 7Ch, al xor si, si ; --------------------------------------------------------------------------- db 0B8h word_E086 dw 1234h ; --------------------------------------------------------------------------- mov ds, ax loc_E08A: mov di, bx loc_E08C: mov cx, bp loc_E08E: lodsd or es:[di], eax add di, 4 loop loc_E08E sub di, dx jns short loc_E08C pop ax mov es, ax or ax, ax jnz short loc_E08A pop ds pop di pop si pop bp retf 6 ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_E0AC proc far push bp mov bp, sp call sub_309E mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call graph_clear mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al call graph_clear mov dx, 0A6h ; 'ヲ' 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_E0AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_E0F4 proc far arg_0 = dword ptr 6 push bp mov bp, sp push word_11A4E call mem_assign_dos or ax, ax jz short loc_E109 mov ax, 1 pop bp retf ; --------------------------------------------------------------------------- loc_E109: nop push cs call near ptr sub_DA12 call graph_start mov dx, 0A6h ; 'ヲ' mov al, 1 out dx, al call graph_clear mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al call graph_clear mov dx, 0A6h ; 'ヲ' mov al, 0 out dx, al mov dx, 0A4h ; '、' out dx, al mov bbufsiz, 2000h call vsync_start call key_beep_off call text_systemline_hide call text_cursor_hide call egc_start call sub_323A les bx, [bp+arg_0] cmp byte ptr es:[bx], 0 jz short loc_E169 push word ptr [bp+arg_0+2] push bx call sub_2FE2 loc_E169: push 400h call bgm_init xor ax, ax pop bp retf sub_E0F4 endp ; --------------------------------------------------------------------------- db 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_E176 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 mov ax, [bp+arg_2] mov bx, ax shl ax, 2 add ax, bx add ax, 0A800h mov es, ax add ax, 3800h push ax sub ax, 2800h push ax sub ax, 800h push ax mov si, [bp+arg_0] shl si, 4 add si, 2716h mov bx, [bp+arg_4] sar bx, 3 add bx, [si+6] mov ax, [si+8] mov bp, ax shl ax, 2 add ax, 50h ; 'P' mov dx, ax mov ax, [si+0Eh] mov ds, ax xor si, si mov al, 4 cld nop loc_E1C2: mov di, bx loc_E1C4: mov cx, bp rep movsd sub di, dx jns short loc_E1C4 dec al jz short loc_E1D4 pop es jmp short loc_E1C2 ; --------------------------------------------------------------------------- loc_E1D4: pop ds pop di pop si pop bp retf 6 sub_E176 endp ; sp-analysis failed ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E1DC proc near xor ax, ax mov word_11A50, ax mov word_10DD2, ax sub_E1DC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_E1E4 proc far xor ax, ax mov es, ax mov ah, byte ptr es:[531h] test ah, 4 jz short loc_E1F7 or word_11A50, 1 loc_E1F7: test ah, 20h jz short loc_E201 or word_11A50, 2 loc_E201: test ah, 8 jz short loc_E20B or word_11A50, 4 loc_E20B: test ah, 10h jz short loc_E215 or word_11A50, 8 loc_E215: mov ah, byte ptr es:[533h] test ah, 1 jz short loc_E224 or word_11A50, 8 loc_E224: test ah, 4 jz short loc_E22F or word_11A50, 400h loc_E22F: test ah, 8 jz short loc_E239 or word_11A50, 2 loc_E239: test ah, 10h jz short loc_E244 or word_11A50, 800h loc_E244: mov ah, byte ptr es:[532h] test ah, 40h jz short loc_E253 or word_11A50, 4 loc_E253: test ah, 4 jz short loc_E25E or word_11A50, 100h loc_E25E: test ah, 8 jz short loc_E268 or word_11A50, 1 loc_E268: test ah, 10h jz short loc_E273 or word_11A50, 200h loc_E273: mov ah, byte ptr es:[52Fh] test ah, 2 jz short loc_E282 or word_11A50, 20h loc_E282: test ah, 4 jz short loc_E28C or word_11A50, 10h loc_E28C: mov ah, byte ptr es:[52Ch] test ah, 1 jz short loc_E29C or word_11A50, 4000h loc_E29C: mov ah, byte ptr es:[52Ah] test ah, 1 jz short loc_E2AC or word_11A50, 1000h loc_E2AC: mov ah, byte ptr es:[52Dh] test ah, 10h jz short loc_E2BC or word_11A50, 2000h loc_E2BC: mov ah, byte ptr es:[530h] test ah, 10h jz short loc_E2CB or word_11A50, 20h loc_E2CB: 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_11A52, al cmp word_F8BC, 0 jz short locret_E2E4 call sub_349A or word_11A50, ax locret_E2E4: retf sub_E1E4 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E2E6 proc far mov byte_FD81, 0 mov byte_FD80, 0FFh retf sub_E2E6 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E2F2 proc far mov bx, sp mov dx, ss:[bx+4] cmp byte_FD20, 0 jz short locret_E328 cmp byte_FD80, 0FFh jnz short loc_E30D mov byte_FD80, dl retf 2 ; --------------------------------------------------------------------------- loc_E30D: mov bl, byte_FD80 xor bh, bh mov al, [bx+9BEh] mov bx, dx cmp al, [bx+9BEh] ja short locret_E328 mov byte_FD80, dl mov byte_FD81, 0 locret_E328: retf 2 sub_E2F2 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E32C proc far cmp byte_FD20, 0 jz short locret_E377 cmp byte_FD80, 0FFh jz short locret_E377 cmp byte_FD81, 0 jnz short loc_E359 mov al, byte_FD80 cmp byte_FD20, 2 jz short loc_E351 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_E359 ; --------------------------------------------------------------------------- loc_E351: xor ah, ah push ax call bgm_sound loc_E359: inc byte_FD81 mov bl, byte_FD80 xor bh, bh mov al, [bx+9CFh] cmp al, byte_FD81 jnb short locret_E377 mov byte_FD81, 0 mov byte_FD80, 0FFh locret_E377: retf sub_E32C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_E378 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 cld call sub_E3E8 mov dx, 4A4h mov ax, 29F0h out dx, ax 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 di, bx and ax, 0Fh mov cx, ax add ax, [bp+arg_2] shr ax, 4 or cx, cx jz short loc_E3B0 inc ax loc_E3B0: mov word_11A54, ax mov cx, 28h ; '(' sub cx, ax shl cx, 1 mov bx, [bp+arg_0] mov bp, cx mov ax, 0A800h mov es, ax assume es:nothing loc_E3C4: mov cx, word_11A54 loc_E3C8: mov al, 1 out 0A6h, al mov dx, es:[di] xor ax, ax out 0A6h, al mov ax, dx stosw loop loc_E3C8 add di, bp dec bx jns short loc_E3C4 call egc_off pop di pop bp retf 8 sub_E378 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E3E8 proc near push es push 0 pop es pushf cli mov al, 80h out 7Ch, al mov byte ptr es:[495h], al popf pop es assume es:nothing mov al, 7 out 6Ah, al ; PC-98 GDC (6a): ; mov al, 5 out 6Ah, al ; PC-98 GDC (6a): ; mov al, 6 out 6Ah, al ; PC-98 GDC (6a): ; mov dx, 4A0h mov ax, 0FFF0h out dx, ax mov dx, 4A2h mov ax, 0FFh out dx, ax mov dx, 4A8h mov ax, 0FFFFh out dx, ax mov dx, 4ACh sub ax, ax out dx, ax mov dx, 4AEh mov ax, 0Fh out dx, ax retn sub_E3E8 endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E428 proc far push si push di cmp word_FD82, 0 jnz short loc_E45D push 7D00h call hmem_allocbyte mov word_FD82, ax push 7D00h call hmem_allocbyte mov word_FD84, ax push 7D00h call hmem_allocbyte mov word_FD86, ax push 7D00h call hmem_allocbyte mov word_FD88, ax loc_E45D: mov dl, 4 push ds push 0E000h push word_FD88 push 0B800h push word_FD86 push 0B000h push word_FD84 push 0A800h push word_FD82 loc_E47C: pop es pop ds xor si, si xor di, di mov cx, 1F40h rep movsd dec dl jnz short loc_E47C pop ds pop di pop si retf sub_E428 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_E490 proc far push si push di mov dl, 4 push ds push 0E000h push word_FD88 push 0B800h push word_FD86 push 0B000h push word_FD84 push 0A800h push word_FD82 loc_E4B1: pop ds pop es xor si, si xor di, di mov cx, 1F40h rep movsd dec dl jnz short loc_E4B1 pop ds pop di pop si retf sub_E490 endp ; sp-analysis failed ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E4C6 proc far cmp word_FD82, 0 jz short locret_E4F7 push word_FD82 call hmem_free push word_FD84 call hmem_free push word_FD86 call hmem_free push word_FD88 call hmem_free mov word_FD82, 0 locret_E4F7: retf sub_E4C6 endp ; --------------------------------------------------------------------------- loc_E4F8: push bp mov bp, sp push di push si push ds cld mov ax, [bp+0Ch] mov dx, [bp+0Ah] mov bx, ax sar bx, 4 shl bx, 1 shl dx, 6 add bx, dx shr dx, 2 add bx, dx mov cs:word_E55E, bx and ax, 0Fh mov cx, ax add ax, [bp+8] shr ax, 4 or cx, cx jz short loc_E52B inc ax loc_E52B: mov cs:word_E563, ax jmp short $+2 mov cx, 28h ; '(' sub cx, ax shl cx, 1 mov ax, [bp+6] mov bp, cx push 0E000h push word_FD88 push 0B800h push word_FD86 push 0B000h push word_FD84 push 0A800h push word_FD82 mov dl, 4 mov bx, ax ; --------------------------------------------------------------------------- db 0BFh word_E55E dw 1234h db 1Fh, 7, 0B9h word_E563 dw 1234h db 8Bh, 0F7h, 0F3h, 0A5h, 3, 0FDh, 4Bh, 79h, 0F4h, 0FEh db 0CAh, 75h, 0E9h, 1Fh, 5Eh, 5Fh, 5Dh, 0CAh, 8, 0, 90h db 0C6h, 6, 4Ah, 0Ah, 1, 90h ; --------------------------------------------------------------------------- push bp mov bp, sp push si push di mov di, [bp+0Ch] push di nop push cs call near ptr sub_E69A shl di, 4 add di, 2716h push large dword ptr [bp+8] 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_E5BC shl ax, 2 cmp byte ptr [di+0Bh], 2 jz short loc_E5BC add ax, dx loc_E5BC: mul word ptr [bp+6] movzx eax, ax push eax push 1 call file_seek call sub_E5E0 call file_close mov byte_FD8A, 0 pop di pop si pop bp retf 8 ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E5E0 proc near mov al, [di+0Bh] or al, al jz short loc_E615 cmp al, 2 jz short loc_E5F2 cmp byte_FD8A, 0 jnz short loc_E608 loc_E5F2: 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_E615 ; --------------------------------------------------------------------------- loc_E608: movzx eax, word ptr [di] push eax push 1 call file_seek loc_E615: cmp byte ptr [di+0Bh], 2 jz short locret_E637 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_E637: retn sub_E5E0 endp ; =============== S U B R O U T I N E ======================================= sub_E638 proc near mov byte_FD8A, 1 nop sub_E638 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_E63E proc far arg_0 = dword ptr 6 arg_4 = word ptr 0Ah push bp mov bp, sp push si push di push large [bp+arg_0] call file_ropen mov di, [bp+arg_4] shl di, 4 add di, 2716h push ds push di push 10h call file_read mov si, di mov bp, [bp+arg_4] mov al, [si+0Ah] mov byte_11E56, al push ds pop es assume es:dseg loc_E66C: push bp push cs call near ptr sub_E69A mov cx, 3 rep movsd sub si, 0Ch sub di, 0Ch call sub_E5E0 inc bp add di, 10h dec byte_11E56 jnz short loc_E66C call file_close mov byte_FD8A, 0 pop di pop si pop bp retf 6 sub_E63E endp ; =============== S U B R O U T I N E ======================================= sub_E69A proc far mov bx, sp push di mov di, ss:[bx+4] shl di, 4 add di, 2722h cmp word ptr [di], 0 jz short loc_E6B8 push word ptr [di] call hmem_free mov word ptr [di], 0 loc_E6B8: add di, 2 cmp word ptr [di], 0 jz short loc_E6CB push word ptr [di] call hmem_free mov word ptr [di], 0 loc_E6CB: pop di retf 2 sub_E69A endp ; --------------------------------------------------------------------------- nop ; =============== S U B R O U T I N E ======================================= sub_E6D0 proc far push si mov si, 3Fh ; '?' loc_E6D4: push si push cs call near ptr sub_E69A dec si jge short loc_E6D4 pop si retf sub_E6D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_E6DE proc far arg_0 = word ptr 6 push bp mov bp, sp mov vsync_Count1, 0 loc_E6E7: mov ax, vsync_Count1 cmp ax, [bp+arg_0] jb short loc_E6E7 pop bp retf 2 sub_E6DE endp seg002 ends ; =========================================================================== ; Segment type: Pure code seg003 segment byte public 'CODE' use16 assume cs:seg003 ;org 3 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 seg003 ends ; =========================================================================== ; Segment type: Pure data dseg segment para public 'DATA' use16 assume cs:dseg include libs/BorlandC/c0[data].asm db 0 unk_F3D1 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 db 0 byte_F3DB db 0 byte_F3DC db 0 byte_F3DD db 1 dd aGqbGav ; "ゲームを開始します" dd aGgglgxgggigxge ; "エキストラステージを開始します" dd aMNVGngcgxgrgav ; "現在のハイスコアを表\示します" dd aIKyoVU ; "音楽室に入ります" dd aKeoarTsv ; "各種設定を変更出来ます" dd aVcvnvrvCVsvV ; "DOSに戻ります" dd aUqiUxv ; "難易度をやさしくします (初心者向け、・... dd aUqiUxv_1 ; "難易度を標準にします   (一般向け、・... dd aUqiUxv_0 ; "難易度を難しくします   (アーケーダ・... dd aUqiUxv_2 ; "難易度を非常に難しくします (シュータ・... dd aGqbGagxgBGgouv ; "ゲームスタート時の人数を変更出来ます(・... dd aGGavOgcpi ; "ボムの使用回数を変更出来ます(除くエキ・... dd aVavfvlvCmvVVV ; "BGMは流れません" dd aVavfvlvVqvuvji ; "BGMに26K音源互換を使用します" dd aVavfvlvVwvuiMM ; "BGMに86音源互換を使用します" dd aM_0 ; "効果音は流れません" dd aM_2 ; "効果音にFM音源を使用します" dd aM_1 ; "効果音にBeep音源を使用します" dd aUgtevSVvpPkvBa ; "敵弾の多い場所で、わざと処理落ち(スロ・... dd aPicacovV ; "処理落ちをマシンのスピードに任せます(・... dd aVVGigvgvgzguv ; "このオプションを全て標準に戻します" dd aGigvgvgzguv ; "オプションを終了します" dd aGqbGav_0 ; "ゲームを開始します(イージー)" dd aGqbGav_1 ; "ゲームを開始します(ノーマル)" dd aGqbGav_2 ; "ゲームを開始します(ハード)" dd aGqbGav_3 ; "ゲームを開始します(ルナティック)" byte_F446 db 0 byte_F447 db 0 aMiko_cfg db 'MIKO.CFG',0 ; char aMain[] aMain db 'main',0 ; char path[] path db 'deb',0 aGqbGav db 'ゲームを開始します',0 aGgglgxgggigxge db 'エキストラステージを開始します',0 aMNVGngcgxgrgav db '現在のハイスコアを表示します',0 aIKyoVU db '音楽室に入ります',0 aKeoarTsv db '各種設定を変更出来ます',0 aVcvnvrvCVsvV db 'DOSに戻ります',0 aUqiUxv db '難易度をやさしくします (初心者向け、5面エンド)',0 aUqiUxv_1 db '難易度を標準にします   (一般向け、全6面)  ',0 aUqiUxv_0 db '難易度を難しくします   (アーケーダー向け)  ',0 aUqiUxv_2 db '難易度を非常に難しくします (シューター向け)  ',0 aGqbGagxgBGgouv db 'ゲームスタート時の人数を変更出来ます(除くエキストラ)',0 aGGavOgcpi db 'ボムの使用回数を変更出来ます(除くエキストラ)',0 aVavfvlvCmvVVV db 'BGMは流れません',0 aVavfvlvVqvuvji db 'BGMに26K音源互換を使用します',0 aVavfvlvVwvuiMM db 'BGMに86音源互換を使用します',0 aM_0 db '効果音は流れません',0 aM_2 db '効果音にFM音源を使用します',0 aM_1 db '効果音にBeep音源を使用します',0 aUgtevSVvpPkvBa db '敵弾の多い場所で、わざと処理落ち(スロー)させます(初心者用)',0 aPicacovV db '処理落ちをマシンのスピードに任せます(標準)',0 aVVGigvgvgzguv db 'このオプションを全て標準に戻します',0 aGigvgvgzguv db 'オプションを終了します',0 aGqbGav_0 db 'ゲームを開始します(イージー)',0 aGqbGav_1 db 'ゲームを開始します(ノーマル)',0 aGqbGav_2 db 'ゲームを開始します(ハード)',0 aGqbGav_3 db 'ゲームを開始します(ルナティック)',0 aOp1_pi db 'op1.pi',0 aOp db 'op',0 aMSzlEd_dat db '幻想郷ed.dat',0 asc_F7F7 db 0Ah db '空きメモリ不足です。メモリ空きを増やしてから実行してね',0Ah,0 aGameft_bft db 'GAMEFT.bft',0 aMiko db 'miko',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/edges[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 db 0 word_F8BC dw 0 db 0 db 0 db 0 db 0 db 0 db 0 include libs/master.lib/machine[data].asm include libs/master.lib/pal[data].asm include libs/master.lib/pf[data].asm db 0 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 libs/master.lib/respal_exist[data].asm include libs/master.lib/draw_trapezoid[data].asm a_exe db '.exe',0 db 0 include libs/master.lib/bgm_timerhook[data].asm include libs/master.lib/bgm[data].asm db 0 db 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 byte_FD20 db 0 byte_FD21 db 0 byte_FD22 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 1Ch db 0Ah db 24h ; $ db 0Ah db 2Ch ; , db 0Ah db 34h ; 4 db 0Ah 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 ; ェ db 0AAh ; ェ db 44h ; D db 44h ; D db 0AAh ; ェ db 0AAh ; ェ db 11h db 11h db 0AAh ; ェ db 0AAh ; ェ db 55h ; U db 55h ; U db 0AAh ; ェ db 0AAh ; ェ db 55h ; U db 55h ; U word_FD7C dw 2 word_FD7E dw 10h byte_FD80 db 0FFh byte_FD81 db 0 word_FD82 dw 0 word_FD84 dw 0 word_FD86 dw 0 word_FD88 dw 0 byte_FD8A db 0 db 0 dd aGxgegmgivevliM dd aB@b@b@b@b@b@b@ dd aB@b@b@b@b@b@_0 dd aB@xwpavevliMBf dd aPc9801dausvUrs dd aB@b@b@b@b@b@_1 dd aB@b@iKycVBfb@b dd asc_FF1D dd aVVibavVVcvRTsv dd aB@vevliMB@bfm dd aB@b@b@b@b@b@_2 dd aB@B@B@b@bixwpa dd aB@B@b@b@b@VVBa dd aVavevevriMBfm dd aVevliMVkcVvpNz dd aM dd aB@b@b@b@b@b@_3 dd aVVibavVVcvRTsv aGxgegmgivevliM db 'ステレオFM音源:PC-9801-86(互換)ボード   ',0 aB@b@b@b@b@b@b@ db '         CanBe内蔵音源など、 ',0 aB@b@b@b@b@b@_0 db '       FM6音+SSG3音+リズム音源',0 aB@xwpavevliMBf db ' 標準FM音源: PC-9801-26K(互換)ボード ',0 aPc9801dausvUrs db ' PC-9801DA等に内蔵の音源など ',0 aB@b@b@b@b@b@_1 db '         FM3音+SSG3音 ',0 aB@b@iKycVBfb@b db '  音楽無し:  FM音源が無い場合 ',0 asc_FF1D db ' ',0 aVVibavVVcvRTsv db 'なお、これらの設定はOptionで変更可能です',0 aB@vevliMB@bfm db ' FM音源 :効果音にFM音源を使用します  ',0 aB@b@b@b@b@b@_2 db '       BGMがステレオFM音源時推奨 ',0 aB@B@B@b@bixwpa db '      (標準FM音源では、3chを使用します ',0 aB@B@b@b@b@VVBa db '       ので、BGMが正常にきけないかも)',0 aVavevevriMBfm db 'Beep音源:効果音にBeep音源を使用します',0 aVevliMVkcVvpNz db ' FM音源が無い場合使用します  ',0 aM db ' 効果音無し :何らかの事情で効果音を鳴らしたく',0 aB@b@b@b@b@b@_3 db '       無い場合 ',0 aGxgegmgivevl_0 db 'ステレオFM音源',0 aB@xwpavevliMB@ db ' 標準FM音源 ',0 aB@b@iKycVB@b@ db '  音楽無し  ',0 aB@b@vevliMB@b@ db '  FM音源  ',0 aB@vavevevriMB@ db ' Beep音源 ',0 aB@M db '  効果音無し  ',0 aB@b@b@b@b@ogcp db '     使用する音源を選択して下さいね☆',0 aB@b@b@b@m db '    効果音に使用する音源を選択してね☆',0 aMswin_bft db 'mswin.bft',0 aMs_pi db 'ms.pi',0 db 0 aZun00_pi db 'zun00.pi',0 aLogo db 'logo',0 aZun02_bft db 'zun02.bft',0 aZun04_bft db 'zun04.bft',0 aZun01_bft db 'zun01.bft',0 aZun03_bft db 'zun03.bft',0 dd aNo_1MSzlBLotus ; "No.1 幻想郷 〜 Lotus Land Story" dd aNo_2WitchingDr ; "No.2 Witching Dream " dd aNo_3SeleneSLig ; "No.3 Selene's light " dd aNo_4Sxp ; "No.4 装飾戦 〜 Decoration Battle" dd aNo_5BreakTheSa ; "No.5 Break the Sabbath " dd aNo_6NglLBScarl ; "No.6 紅響曲 〜 Scarlet Phoneme " dd aNo_7BadApple ; "No.7 Bad Apple!! " dd aNo_8CRab@bPerd ; "No.8 霊戦 〜 Perdition crisis " dd aNo_9GagkgxgGgg ; "No.9 アリスマエステラ " dd aNo_10Pnpcuyszl ; "No.10 少女綺想曲 〜 Capriccio " dd aNo_11RpvKab@bC ; "No.11 星の器 〜 Casket of Star " dd aNo_12LotusLove ; "No.12 Lotus Love " dd aNo_13CVVslXBSl ; "No.13 眠れる恐怖 〜Sleeping Terror" dd aNo_14DreamLand ; "No.14 Dream Land " dd aNo_15ChcB@bIna ; "No.15 幽夢 〜 Inanimate Dream " dd aNo_16LVVVsv ; "No.16 禁じざるをえない遊戯 " dd aNo_17GbgcghmSz ; "No.17 メイド幻想 〜 Icemilk Magic" dd aNo_18Vivavvvvi ; "No.18 かわいい悪魔 〜 Innocence " dd aNo_19Days ; "No.19 Days " dd aNo_20Peaceful ; "No.20 Peaceful " dd aNo_21ArcadianD ; "No.21 Arcadian Dream " dd aNo_22MSzvPzrl ; "No.22 幻想の住人 " dd asc_105B2 ; " " dd aB@b@vpvxvivf ; "   Quit " dd aOp_2 ; "op" dd aSt00 ; "st00" dd aSt10 ; "st10" dd aSt00b ; "st00b" dd aSt01 ; "st01" dd aSt01b ; "st01b" dd aSt02 ; "st02" dd aSt02b ; "st02b" dd aSt03 ; "st03" dd aSt03c ; "st03c" dd aSt03b ; "st03b" dd aSt04 ; "st04" dd aSt04b ; "st04b" dd aSt05 ; "st05" dd aSt05b ; "st05b" dd aSt06 ; "st06" dd aSt06b ; "st06b" dd aSt06c ; "st06c" dd aEnd1 ; "end1" dd aEnd2 ; "end2" dd aStaff ; "staff" dd aName_0 ; "name" byte_102AE db 0 byte_102AF db 0 aNo_1MSzlBLotus db 'No.1 幻想郷 〜 Lotus Land Story',0 aNo_2WitchingDr db 'No.2 Witching Dream ',0 aNo_3SeleneSLig db 'No.3 Selene',27h,'s light ',0 aNo_4Sxp db 'No.4 装飾戦 〜 Decoration Battle',0 aNo_5BreakTheSa db 'No.5 Break the Sabbath ',0 aNo_6NglLBScarl db 'No.6 紅響曲 〜 Scarlet Phoneme ',0 aNo_7BadApple db 'No.7 Bad Apple!! ',0 aNo_8CRab@bPerd db 'No.8 霊戦 〜 Perdition crisis ',0 aNo_9GagkgxgGgg db 'No.9 アリスマエステラ ',0 aNo_10Pnpcuyszl db 'No.10 少女綺想曲 〜 Capriccio ',0 aNo_11RpvKab@bC db 'No.11 星の器 〜 Casket of Star ',0 aNo_12LotusLove db 'No.12 Lotus Love ',0 aNo_13CVVslXBSl db 'No.13 眠れる恐怖 〜Sleeping Terror',0 aNo_14DreamLand db 'No.14 Dream Land ',0 aNo_15ChcB@bIna db 'No.15 幽夢 〜 Inanimate Dream ',0 aNo_16LVVVsv db 'No.16 禁じざるをえない遊戯 ',0 aNo_17GbgcghmSz db 'No.17 メイド幻想 〜 Icemilk Magic',0 aNo_18Vivavvvvi db 'No.18 かわいい悪魔 〜 Innocence ',0 aNo_19Days db 'No.19 Days ',0 aNo_20Peaceful db 'No.20 Peaceful ',0 aNo_21ArcadianD db 'No.21 Arcadian Dream ',0 aNo_22MSzvPzrl db 'No.22 幻想の住人 ',0 asc_105B2 db ' ',0 aB@b@vpvxvivf db '   Quit ',0 aOp_2 db 'op',0 aSt00 db 'st00',0 aSt10 db 'st10',0 aSt00b db 'st00b',0 aSt01 db 'st01',0 aSt01b db 'st01b',0 aSt02 db 'st02',0 aSt02b db 'st02b',0 aSt03 db 'st03',0 aSt03c db 'st03c',0 aSt03b db 'st03b',0 aSt04 db 'st04',0 aSt04b db 'st04b',0 aSt05 db 'st05',0 aSt05b db 'st05b',0 aSt06 db 'st06',0 aSt06b db 'st06b',0 aSt06c db 'st06c',0 aEnd1 db 'end1',0 aEnd2 db 'end2',0 aStaff db 'staff',0 aName_0 db 'name',0 a_music_txt db '_MUSIC.TXT',0 aMusic_pi db 'music.pi',0 aGensou_scr db 'GENSOU.SCR',0 aName db 'name',0 aHi01_pi db 'hi01.pi',0 aOp1_pi_0 db 'op1.pi',0 aOp_0 db 'op',0 aScnum_bft db 'scnum.bft',0 aHi_m_bft db 'hi_m.bft',0 db 0 aSft1_cd2 db 'sft1.cd2',0 aSft2_cd2 db 'sft2.cd2',0 aCar_cd2 db 'car.cd2',0 aSl_cd2 db 'sl.cd2',0 aOp5b_pi db 'op5b.pi',0 aOp4b_pi db 'op4b.pi',0 aOp3b_pi db 'op3b.pi',0 aOp2b_pi db 'op2b.pi',0 aOp1b_pi db 'op1b.pi',0 aOp0b_pi db 'op0b.pi',0 aOp_1 db 'op',0 aOp1_pi_1 db 'op1.pi',0 db 0 dd aB@focasCBiiPcv ; " 博麗靈夢(巫女さん) " dd aNlfINumvmB@ ; " 広範囲攻撃型  " dd aCIjcvcanBicvc@ ; " 霧雨魔理沙(魔法使い)" dd aNumvcPdolm ; " 攻撃力重視型 " dd aB@GtbGGvgzgbgg ; "  サーチショット  " dd aGpgcghgvgzgbgg ; " ワイドショット " dd aGcgkgebGwgzgug ; "イリュージョンレーザー" dd aGigsgbghgvgzgb ; " ラピッドショット " aB@focasCBiiPcv db ' 博麗靈夢(巫女さん) ',0 aNlfINumvmB@ db ' 広範囲攻撃型  ',0 aCIjcvcanBicvc@ db ' 霧雨魔理沙(魔法使い)',0 aNumvcPdolm db ' 攻撃力重視型 ',0 aB@GtbGGvgzgbgg db '  サーチショット  ',0 aGpgcghgvgzgbgg db ' ワイドショット ',0 aGcgkgebGwgzgug db 'イリュージョンレーザー',0 aGigsgbghgvgzgb db ' ラピッドショット ',0 aStar db '☆',0 aGtgugegfgGuvSi db 'サブウェポンの選択',0 aSlb1_pi db 'slb1.pi',0 aAbnormalProgra db 'Abnormal program termination',0Dh,0Ah,0 db 0 include libs/BorlandC/atexit[data].asm include libs/BorlandC/exit[data].asm include libs/BorlandC/files[data].asm include libs/BorlandC/__IOERROR[data].asm db 0 include libs/BorlandC/new[data].asm __stklen dw 1000h include libs/master.lib/ctype[data].asm db 0 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/kbhit[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 dword_10DA4 dd 0 byte_10DA8 db 0 db 0 word_10DAA dw 0 byte_10DAC db 0 byte_10DAD db 0 include libs/master.lib/clip[bss].asm include libs/master.lib/fil[bss].asm word_10DD2 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 include libs/master.lib/super_put_rect[bss].asm dword_1161A dd 0 dword_1161E dd 0 dword_11622 dd 0 dword_11626 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 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 word_116AA dw 0 word_116AC dw 0 word_116AE dw 0 dword_116B0 dd 0 dword_116B4 dd 0 dword_116B8 dd 0 dword_116BC dd 0 dword_116C0 dd 0 dword_116C4 dd 0 unk_116C8 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 unk_11710 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 unk_11758 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 unk_117A0 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 unk_117E8 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 unk_11830 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 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_11978 db 0 db 0 include libs/master.lib/bgm[bss].asm unk_11A40 db ? ; dd ? ; dd ? ; dd ? ; db ? ; word_11A4E dw ? word_11A50 dw ? byte_11A52 db ? db ? ; word_11A54 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 ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; byte_11E56 db ? dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; word_11E88 dw ? word_11E8A 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 ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; unk_12CF4 db ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; 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 ? ; db ? ; db ? ; db ? ; word_12DBC dw ? byte_12DBE db ? db ? ; word_12DC0 dw ? dd ? ; dd ? ; dd ? ; dd ? ; unk_12DD2 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 ? ; db ? ; db ? ; db ? ; byte_130F2 db ? byte_130F3 db ? word_130F4 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 ? ; db ? ; db ? ; byte_131A0 db ? dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; byte_131B6 db ? byte_131B7 db ? byte_131B8 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 ? ; db ? ; db ? ; db ? ; byte_13264 db ? dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; db ? ; byte_1327B db ? dd ? ; dd ? ; db ? ; db ? ; byte_13286 db ? dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; dd ? ; db ? ; byte_132B8 db ? byte_132B9 db ? dword_132BA dd ? dword_132BE dd ? byte_132C2 db ? byte_132C3 db ? byte_132C4 db ? byte_132C5 db ? include libs/BorlandC/atexit[bss].asm include libs/BorlandC/sigdata[bss].asm word_1334A dw ? db ? ; db ? ; include libs/BorlandC/signal[bss].asm include libs/BorlandC/xx[bss].asm edata@ label byte dd ? dseg ends ; =========================================================================== ; Segment type: Uninitialized seg005 segment byte stack 'STACK' use16 assume cs:seg005 assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing db 80h dup(?) seg005 ends end startx