Analyze any remaining byte blobs in code segments

... excluding those in packfile functions and the floating-point hacks, both
of which will follow in the next few days.
This commit is contained in:
nmlgc 2014-11-12 23:11:16 +01:00
parent af5419e350
commit 8cecebff81
13 changed files with 5836 additions and 1721 deletions

View File

@ -503,7 +503,7 @@ arg_10 = word ptr 16h
push ss
push ax
push ds
push offset off_12BCC
push offset FULLWIDTH_NUMBERS
mov cx, 28h ; '('
call SCOPY@
xor di, di
@ -12300,27 +12300,8 @@ byte_12BA3 db 0
db 81h
db 45h ; E
db 81h
off_12BCC dd aVo
; "O"
word_12BD0 dw 191h
seg_12BD2 dw seg dseg
word_12BD4 dw 194h
seg_12BD6 dw seg dseg
byte_12BD8 db 97h
byte_12BD9 db 1
seg_12BDA db 0aah
unk_12BDB db 12h
word_12BDC dw 19Ah
seg_12BDE dw seg dseg
word_12BE0 dw 19Dh
seg_12BE2 dw seg dseg
word_12BE4 dw 1A0h
seg_12BE6 dw seg dseg
off_12BE8 dd aVv
; "V"
word_12BEC dw 1A6h
dw seg dseg
dd aVx ; "X"
FULLWIDTH_NUMBERS dd aFW_0, aFW_1, aFW_2, aFW_3, aFW_4
dd aFW_5, aFW_6, aFW_7, aFW_8, aFW_9
aBqbqbqbqbqbqbq db '________',0
aB@b@b@b@b@b@b@ db '        ',0
aHiscore_0 db 'HISCORE',0
@ -12329,16 +12310,16 @@ off_12C1E dd aB@gcbGwbB@
dd aB@gmbGGlb@ ; " ノーマル "
dd aB@gnbGhb@b@ ; " ハード  "
dd aGlgigegbgbgn ; "ルナティック"
aVo db 'O',0
aVp db 'P',0
aVq db 'Q',0
aVr db 'R',0
aVs db 'S',0
aVt db 'T',0
aVu db 'U',0
aVv db 'V',0
aVw db 'W',0
aVx db 'X',0
aFW_0 db 'O',0
aFW_1 db 'P',0
aFW_2 db 'Q',0
aFW_3 db 'R',0
aFW_4 db 'S',0
aFW_5 db 'T',0
aFW_6 db 'U',0
aFW_7 db 'V',0
aFW_8 db 'W',0
aFW_9 db 'X',0
aC_0 db '無',0
aUmx_0 db '東方★靈異伝  ',0
aHiscore_1 db 'HISCORE',0

View File

@ -13699,6 +13699,8 @@ off_22684 dw offset loc_22323
dw offset loc_22350
dw offset loc_22350
dw offset loc_22350
dw offset loc_2237D
dw offset loc_22323
seg032 ends
; ===========================================================================
@ -13706,8 +13708,8 @@ seg032 ends
; Segment type: Pure code
seg033 segment byte public 'CODE' use16
assume cs:seg033
;org 4
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
db 0FDh, 0Ah, 0A3h, 0Ah
; =============== S U B R O U T I N E =======================================
@ -25932,9 +25934,12 @@ sub_28FA9 proc near
retn
sub_28FA9 endp
; ---------------------------------------------------------------------------
loc_28FC5:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_28FC5 proc near
enter 2, 0
mov ax, word_3A6CA
mov bx, 0Fh
@ -25954,15 +25959,7 @@ loc_28FC5:
mov al, [bp-2]
mov byte_39A27, al
push 1
; ---------------------------------------------------------------------------
db 9Ah, 1Eh, 1
db 92h ; SEG16 SEGDEF [seg006,0]
; =============== S U B R O U T I N E =======================================
sub_28FF6 proc near
push cs
call sub_EA3E
push ds
push offset word_39A1E
call sub_16D6A
@ -25976,7 +25973,7 @@ sub_28FF6 proc near
locret_29013:
leave
retn
sub_28FF6 endp
sub_28FC5 endp
; =============== S U B R O U T I N E =======================================
@ -32007,7 +32004,7 @@ loc_2C3BE:
inc word_3A6CA
inc word_3B433
call sub_28EA6
call loc_28FC5
call sub_28FC5
; Hack (fldz)
db 0cdh
db 035h
@ -32139,7 +32136,7 @@ loc_2C4A1:
inc word_3A6CA
push 1
call sub_29A99
call loc_28FC5
call sub_28FC5
cmp word_3A6CA, 0
jnz loc_2CDCE
mov byte_3A6CE, 3
@ -32158,7 +32155,7 @@ loc_2C4D8:
inc word_3A6CA
inc word_3B433
call sub_28EA6
call loc_28FC5
call sub_28FC5
push 0
call sub_29D8B
cmp word_35E95, 0
@ -32232,7 +32229,7 @@ loc_2C594:
inc word_3A6CA
push 2
call sub_29A99
call loc_28FC5
call sub_28FC5
cmp word_3A6CA, 0
jnz loc_2CDCE
mov byte_3A6CE, 5
@ -32255,7 +32252,7 @@ loc_2C5D6:
inc word_3A6CA
inc word_3B433
call sub_28EA6
call loc_28FC5
call sub_28FC5
call sub_2A469
cmp word_35E95, 0
jnz short loc_2C5FE
@ -32350,7 +32347,7 @@ loc_2C6B0:
inc word_3A6CA
push 3
call sub_29A99
call loc_28FC5
call sub_28FC5
cmp word_3A6CA, 0
jnz loc_2CDCE
mov byte_3A6CE, 7
@ -32373,7 +32370,7 @@ loc_2C6F2:
inc word_3A6CA
inc word_3B433
call sub_28EA6
call loc_28FC5
call sub_28FC5
push 1
call sub_29D8B
; Hack (fldz)
@ -32511,7 +32508,7 @@ loc_2C7F1:
inc word_3A6CA
push 0
call sub_29A99
call loc_28FC5
call sub_28FC5
cmp word_3A6CA, 0
jnz loc_2CDCE
mov byte_3A6CE, 1

View File

@ -10408,6 +10408,8 @@ loc_F24E:
mov word_1E512, 2
jmp short loc_F2C2
; ---------------------------------------------------------------------------
loc_F260:
mov al, byte_2060A
cbw
mov si, ax
@ -10651,7 +10653,11 @@ off_F443 dw offset loc_F238
dw offset loc_F24E
dw offset loc_F270
dw offset loc_F29E
byte_F44F db 58h, 41h, 0, 41h, 28h, 41h, 44h, 41h, 0
dw offset loc_F2B8
dw offset loc_F260
dw offset loc_F288
dw offset loc_F2A4
db 0
seg001 ends
; ===========================================================================

View File

@ -954,7 +954,7 @@ sub_978D proc near
call graph_show
push large 160012Ch
push 0
call far ptr loc_D712
call sub_D712
push 0
call sub_CEC2
push 2
@ -968,7 +968,7 @@ sub_978D proc near
loc_97E8:
push large 160012Ch
push si
call far ptr loc_D712
call sub_D712
push 6
call sub_CB52
inc si
@ -982,10 +982,10 @@ loc_97FC:
call far ptr palette_show
push large 0E00040h
push 6
call far ptr loc_D712
call sub_D712
push large 160012Ch
push 5
call far ptr loc_D712
call sub_D712
push ds
push offset aLogo1_rgb ; "logo1.rgb"
call palette_entry_rgb
@ -1253,15 +1253,15 @@ var_2 = word ptr -2
call graph_pi_free
push large 600060h
push 0
call far ptr loc_C9D4
call sub_C9D4
push large 1600060h
push 1
call far ptr loc_CA88
call sub_CA88
cmp byte_F7E5, 0
jnz short loc_9A8E
push large 180002Eh
push 2
call far ptr loc_C9D4
call sub_C9D4
loc_9A8E:
push 0
@ -1854,10 +1854,10 @@ loc_9FB3:
loc_9FC8:
push large 0C00110h
push 0
call far ptr loc_D712
call sub_D712
push large 1600110h
push 3
call far ptr loc_D712
call sub_D712
les bx, dword_105DA
mov al, es:[bx+36h]
les bx, [bp+var_6]
@ -1889,13 +1889,13 @@ loc_A01E:
mov dx, 2
sub dx, ax
push dx
call far ptr loc_D712
call sub_D712
push large 1600110h
mov ax, si
add ax, ax
inc ax
push ax
call far ptr loc_D712
call sub_D712
mov [bp+var_2], 1
jmp short loc_A05B
; ---------------------------------------------------------------------------
@ -3844,7 +3844,7 @@ sub_AFAC proc near
call sub_CF1E
push large 1400138h
push 0
call far ptr loc_C9D4
call sub_C9D4
push 0
call sub_D130
push ds
@ -5688,7 +5688,7 @@ loc_BD65:
push [bp+arg_6]
push [bp+arg_4]
push [bp+arg_2]
call far ptr loc_D712
call sub_D712
jmp short loc_BD83
; ---------------------------------------------------------------------------
@ -5696,7 +5696,7 @@ loc_BD75:
push [bp+arg_6]
push [bp+arg_4]
push [bp+arg_2]
call far ptr loc_C9D4
call sub_C9D4
loc_BD83:
and [bp+arg_0], 7
@ -7072,33 +7072,41 @@ sub_C990 endp
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_C9D4:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_C9D4 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 large 0C00000h
call grcg_setcolor
mov si, [bp+6]
mov si, [bp+arg_0]
shl si, 4
add si, 1D0Eh
mov ax, [si+0Eh]
mov cs:word_CA4C, ax
mov ax, [bp+0Ah]
mov word ptr cs:loc_CA4B+1, ax
mov ax, [bp+arg_4]
sar ax, 3
add ax, [si+6]
mov di, ax
mov cs:word_CA45, ax
mov word ptr cs:loc_CA44+1, ax
mov ax, [si+8]
mov cs:word_CA37, ax
mov cs:word_CA51, ax
mov word ptr cs:loc_CA36+1, ax
mov word ptr cs:loc_CA50+1, ax
shl ax, 2
add ax, 50h ; 'P'
mov cs:word_CA33, ax
mov word ptr cs:loc_CA32+1, ax
jmp short $+2
mov ax, [bp+8]
mov ax, [bp+arg_2]
mov bx, ax
shl ax, 2
add ax, bx
@ -7108,36 +7116,86 @@ loc_C9D4:
mov ax, [si+0Ch]
mov ds, ax
xor si, si
; ---------------------------------------------------------------------------
db 0BAh
word_CA33 dw 1234h
db 0FCh, 0B9h
word_CA37 dw 1234h
db 0F3h, 66h, 0A5h, 2Bh, 0FAh, 79h, 0F6h, 32h, 0C0h, 0E6h
db 7Ch, 0BBh
word_CA45 dw 1234h
db 8Bh, 0FBh, 33h, 0F6h, 0B8h
word_CA4C dw 1234h
db 8Eh, 0D8h, 0B9h
word_CA51 dw 1234h
db 66h, 8Bh, 4, 66h, 26h, 9, 5, 83h, 0C6h, 4, 83h, 0C7h
db 4, 0E2h, 0F1h, 2Bh, 0FAh, 79h, 0EAh, 8Bh, 0FBh, 8Ch
db 0C0h, 5, 0, 8, 8Eh, 0C0h, 3Dh, 0, 0C0h, 72h, 0DCh, 3Dh
db 0, 0C8h, 73h, 7, 5, 0, 20h, 8Eh, 0C0h, 0EBh, 0D0h, 1Fh
db 5Fh, 5Eh, 5Dh, 0CAh, 6, 0, 90h
; ---------------------------------------------------------------------------
loc_CA88:
loc_CA32:
mov dx, 1234h
cld
loc_CA36:
mov cx, 1234h
rep movsd
sub di, dx
jns short loc_CA36
xor al, al
out 7Ch, al
loc_CA44:
mov bx, 1234h
mov di, bx
xor si, si
loc_CA4B:
mov ax, 1234h
mov ds, ax
assume ds:nothing
loc_CA50:
mov cx, 1234h
loc_CA53:
mov eax, [si]
or es:[di], eax
add si, 4
add di, 4
loop loc_CA53
sub di, dx
jns short loc_CA50
mov di, bx
mov ax, es
add ax, 800h
mov es, ax
assume es:nothing
cmp ax, 0C000h
jb short loc_CA50
cmp ax, 0C800h
jnb short loc_CA80
add ax, 2000h
mov es, ax
assume es:nothing
jmp short loc_CA50
loc_CA80:
pop ds
assume ds:dseg
pop di
pop si
pop bp
retf 6
sub_C9D4 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_CA88 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 large 0C00000h
call grcg_setcolor
mov si, [bp+6]
mov si, [bp+arg_0]
shl si, 4
add si, 1D0Eh
mov ax, [bp+0Ah]
mov ax, [bp+arg_4]
sar ax, 3
add ax, [si+6]
mov bx, [si+8]
@ -7145,49 +7203,94 @@ loc_CA88:
add ax, bx
dec ax
mov di, ax
mov cs:word_CB09, ax
mov cs:word_CB31, ax
mov cs:word_CAF3, bx
mov cs:word_CB1F, bx
mov word ptr cs:loc_CB08+1, ax
mov word ptr cs:loc_CB30+1, ax
mov word ptr cs:loc_CAF2+1, bx
mov word ptr cs:loc_CB1E+1, bx
mov ax, 50h ; 'P'
sub ax, bx
mov cs:word_CAEF, ax
mov cs:word_CB1B, ax
mov word ptr cs:loc_CAEE+1, ax
mov word ptr cs:loc_CB1A+1, ax
jmp short $+2
mov ax, [bp+8]
mov ax, [bp+arg_2]
mov bx, ax
shl ax, 2
add ax, bx
add ax, 0A800h
mov es, ax
assume es:nothing
mov bx, 20D6h
mov fs, word ptr [si+0Ch]
xor si, si
; ---------------------------------------------------------------------------
db 0BAh
word_CAEF dw 1234h
loc_CAEE:
mov dx, 1234h
nop
loc_CAF2:
mov cx, 1234h
loc_CAF5:
mov al, fs:[si]
xlat
mov es:[di], al
inc si
dec di
loop loc_CAF5
sub di, dx
jns short loc_CAF2
xor al, al
out 7Ch, al
loc_CB08:
mov di, 1234h
mov si, [bp+arg_0]
shl si, 4
add si, 1D0Eh
mov fs, word ptr [si+0Eh]
xor si, si
loc_CB1A:
mov dx, 1234h
nop
loc_CB1E:
mov cx, 4D2h
loc_CB21:
mov al, fs:[si]
xlat
or es:[di], al
inc si
dec di
loop loc_CB21
sub di, dx
jns short loc_CB1E
loc_CB30:
mov di, 1234h
mov ax, es
add ax, 800h
mov es, ax
assume es:nothing
cmp ax, 0C000h
jb short loc_CB1E
cmp ax, 0C800h
jnb short loc_CB4B
add ax, 2000h
mov es, ax
assume es:nothing
jmp short loc_CB1E
loc_CB4B:
pop di
pop si
pop bp
retf 6
sub_CA88 endp
; ---------------------------------------------------------------------------
nop
; ---------------------------------------------------------------------------
db 0B9h
word_CAF3 dw 1234h
db 64h, 8Ah, 4, 0D7h, 26h, 88h, 5, 46h, 4Fh, 0E2h, 0F5h
db 2Bh, 0FAh, 79h, 0EEh, 32h, 0C0h, 0E6h, 7Ch, 0BFh
word_CB09 dw 1234h
db 8Bh, 76h, 6, 0C1h, 0E6h, 4, 81h, 0C6h, 0Eh, 1Dh, 8Eh
db 64h, 0Eh, 33h, 0F6h, 0BAh
word_CB1B dw 1234h
; ---------------------------------------------------------------------------
nop
; ---------------------------------------------------------------------------
db 0B9h
word_CB1F dw 4D2h
db 64h, 8Ah, 4, 0D7h, 26h, 8, 5, 46h, 4Fh, 0E2h, 0F5h
db 2Bh, 0FAh, 79h, 0EEh, 0BFh
word_CB31 dw 1234h
db 8Ch, 0C0h, 5, 0, 8, 8Eh, 0C0h, 3Dh, 0, 0C0h, 72h, 0DFh
db 3Dh, 0, 0C8h, 73h, 7, 5, 0, 20h, 8Eh, 0C0h, 0EBh, 0D3h
db 5Fh, 5Eh, 5Dh, 0CAh, 6, 0, 90h
; =============== S U B R O U T I N E =======================================
@ -8773,9 +8876,17 @@ sub_D6C5 endp
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_D712:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_D712 proc far
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
push bp
mov bp, sp
push si
@ -8788,7 +8899,7 @@ loc_D712:
add ax, [si+6]
mov di, ax
mov ax, [si+8]
mov cs:word_D759, ax
mov word ptr cs:loc_D758+1, ax
jmp short $+2
shl ax, 2
add ax, 50h ; 'P'
@ -8806,13 +8917,36 @@ loc_D712:
mov bx, di
cld
nop
loc_D758:
mov cx, 1234h
rep movsd
sub di, dx
jns short loc_D758
mov di, bx
mov ax, es
add ax, 800h
mov es, ax
assume es:nothing
cmp ax, 0C000h
jb short loc_D758
cmp ax, 0C800h
jnb short loc_D77C
add ax, 2000h
mov es, ax
assume es:nothing
jmp short loc_D758
loc_D77C:
pop ds
pop di
pop si
pop bp
retf 6
sub_D712 endp
; ---------------------------------------------------------------------------
db 0B9h
word_D759 dw 1234h
db 0F3h, 66h, 0A5h, 2Bh, 0FAh, 79h, 0F6h, 8Bh, 0FBh, 8Ch
db 0C0h, 5, 0, 8, 8Eh, 0C0h, 3Dh, 0, 0C0h, 72h, 0E8h, 3Dh
db 0, 0C8h, 73h, 7, 5, 0, 20h, 8Eh, 0C0h, 0EBh, 0DCh, 1Fh
db 5Fh, 5Eh, 5Dh, 0CAh, 6, 0, 90h
nop
; =============== S U B R O U T I N E =======================================
@ -8868,24 +9002,15 @@ dseg segment para public 'DATA' use16
include libs/BorlandC/c0[data].asm
db 22h ; "
db 1
db 2Bh ; +
db 1
db 34h ; 4
db 1
db 3Dh ; =
db 1
db 46h ; F
db 1
db 4Fh ; O
db 1
db 58h ; X
db 1
db 61h ; a
db 1
db 6Ah ; j
db 1
dw offset a00sl_cd2
dw offset a02sl_cd2
dw offset a04sl_cd2
dw offset a06sl_cd2
dw offset a08sl_cd2
dw offset a10sl_cd2
dw offset a12sl_cd2
dw offset a14sl_cd2
dw offset a16sl_cd2
dd a@00tx_txt ; "@00TX.TXT"
dd a@01tx_txt ; "@01TX.TXT"
dd a@02tx_txt ; "@02TX.TXT"
@ -8915,8 +9040,8 @@ CHAR_NAME dd NAME_REIMU ; "
dd NAME_CHIYURI ; " 北白河 ちゆり"
dd TITLE_YUMEMI ; "     夢幻伝説    "
dd NAME_YUMEMI ; "  岡崎 夢美"
word_E502 dw 38Ah
word_E504 dw 391h
word_E502 dw offset aSt_cd2
word_E504 dw offset aStnx1_pi
a0016_pi db '0016.pi',0
db 0
db 0

View File

@ -1853,17 +1853,25 @@ loc_A19A:
mov byte_D953, 1
jmp short loc_A1F3
; ---------------------------------------------------------------------------
loc_A1B4:
nopcall sub_AC06
jmp short loc_A19A
; ---------------------------------------------------------------------------
loc_A1BB:
call sub_9E7F
jmp short loc_A1DB
; ---------------------------------------------------------------------------
loc_A1C0:
mov byte_D954, 0
mov byte_E97C, 1
mov byte_D951, 0
jmp short loc_A1DB
; ---------------------------------------------------------------------------
loc_A1D1:
mov byte_D954, 0
mov byte_D952, 1
@ -1887,7 +1895,10 @@ sub_A0E0 endp
db 0
off_A1F7 dw offset loc_A184
dw offset loc_A189
db 0B4h, 8, 0BBh, 8, 0C0h, 8, 0D1h, 8
dw offset loc_A1B4
dw offset loc_A1BB
dw offset loc_A1C0
dw offset loc_A1D1
; =============== S U B R O U T I N E =======================================
@ -4364,13 +4375,13 @@ var_2 = word ptr -2
push di
push large 200130h
push 0Bh
call far ptr loc_CAF6
call sub_CAF6
les bx, dword_FC54
cmp byte ptr es:[bx+28h], 1
jz short loc_B590
push large 1A00130h
push 0Bh
call far ptr loc_CAF6
call sub_CAF6
loc_B590:
push large 0C0000Eh
@ -4506,25 +4517,25 @@ sub_B670 proc near
mov bp, sp
push large 0A00130h
push 0Ch
call far ptr loc_CAF6
call sub_CAF6
push large 0B0013Ch
mov al, byte_FC58
cbw
add ax, 0Dh
push ax
call far ptr loc_CAF6
call sub_CAF6
les bx, dword_FC54
cmp byte ptr es:[bx+28h], 1
jz short loc_B6BE
push large 2200130h
push 0Ch
call far ptr loc_CAF6
call sub_CAF6
push large 230013Ch
mov al, byte_FC59
cbw
add ax, 0Dh
push ax
call far ptr loc_CAF6
call sub_CAF6
loc_B6BE:
pop bp
@ -7086,27 +7097,35 @@ loc_CAEF:
retf 2
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_CAF6:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_CAF6 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
mov si, [bp+6]
mov si, [bp+arg_0]
shl si, 4
add si, 1AA8h
mov ax, [bp+0Ah]
mov ax, [bp+arg_4]
sar ax, 3
add ax, [si+6]
mov di, ax
mov ax, [si+8]
mov cs:word_CB3D, ax
mov word ptr cs:loc_CB3C+1, ax
jmp short $+2
shl ax, 2
add ax, 50h ; 'P'
mov dx, ax
mov ax, [bp+8]
mov ax, [bp+arg_2]
mov bx, ax
shl ax, 2
add ax, bx
@ -7119,13 +7138,36 @@ loc_CAF6:
mov bx, di
cld
nop
loc_CB3C:
mov cx, 1234h
rep movsd
sub di, dx
jns short loc_CB3C
mov di, bx
mov ax, es
add ax, 800h
mov es, ax
assume es:nothing
cmp ax, 0C000h
jb short loc_CB3C
cmp ax, 0C800h
jnb short loc_CB60
add ax, 2000h
mov es, ax
assume es:nothing
jmp short loc_CB3C
loc_CB60:
pop ds
pop di
pop si
pop bp
retf 6
sub_CAF6 endp
; ---------------------------------------------------------------------------
db 0B9h
word_CB3D dw 1234h
db 0F3h, 66h, 0A5h, 2Bh, 0FAh, 79h, 0F6h, 8Bh, 0FBh, 8Ch
db 0C0h, 5, 0, 8, 8Eh, 0C0h, 3Dh, 0, 0C0h, 72h, 0E8h, 3Dh
db 0, 0C8h, 73h, 7, 5, 0, 20h, 8Eh, 0C0h, 0EBh, 0DCh, 1Fh
db 5Fh, 5Eh, 5Dh, 0CAh, 6, 0, 90h
nop
; =============== S U B R O U T I N E =======================================

View File

@ -2911,10 +2911,24 @@ sub_BC94 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
nullsub_1 proc near
retn
nullsub_1 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
nullsub_2 proc far
retf
nullsub_2 endp
; ---------------------------------------------------------------------------
nop
@ -3091,7 +3105,7 @@ loc_BDBB:
mov cx, bp
inc cx
shl cx, 3
mov cs:word_BDD9, cx
mov word ptr cs:loc_BDD6+3, cx
loc_BDC6:
xor cx, cx
@ -3102,10 +3116,9 @@ loc_BDC6:
jnz short loc_BDC6
xor cx, cx
call numerals_draw
; ---------------------------------------------------------------------------
db 0C7h, 44h, 5
word_BDD9 dw 28h
; ---------------------------------------------------------------------------
loc_BDD6:
mov word ptr [si+5], 28h
cmp byte ptr [si+7], 0
jz short loc_BDF1
add word ptr [si+5], 10h
@ -4567,32 +4580,41 @@ arg_2 = word ptr 8
push bp
mov bp, sp
push si
mov si, 9594h
xor cx, cx
jmp short loc_C6D8
; ---------------------------------------------------------------------------
db 0BEh, 94h
word_C69C dw 3395h,0EBC9h, 8037h, 3Ch
dw 2E75h, 4C6h,0C601h, 144h ; value table for switch statement
dw 8B00h, 846h
dw offset loc_14B47+4 ; jump table for switch statement
dw offset loc_1D38E+2
dw offset loc_13685+2 - (offset loc_13A8F+1)
dw offset loc_15A95
dw offset loc_1C38D+3
dw offset loc_13CD2+2
dw offset loc_18116+5
dw offset loc_1D395+1
dw offset loc_13685+2 - (offset loc_13A8F+1)
dw offset off_14A94+1
db 0
; ---------------------------------------------------------------------------
loc_C6A1:
cmp byte ptr [si], 0
jnz short loc_C6D4
mov byte ptr [si], 1
mov byte ptr [si+1], 0
mov ax, [bp+arg_2]
mov bx, 10h
cwd
idiv bx
add ax, 20h
mov [si+2], ax
mov ax, [bp+arg_0]
cwd
idiv bx
add ax, 10h
mov [si+4], ax
loc_C6C8:
mov word ptr [si+6], 84h
mov word ptr [si+8], 0FFF8h
jmp short loc_C6DD
; ---------------------------------------------------------------------------
loc_C6D4:
inc cx
add si, 0Ah
loc_C6D8:
cmp cx, 10h
jl short near ptr word_C69C+5
jl short loc_C6A1
loc_C6DD:
pop si
@ -11013,7 +11035,15 @@ loc_F6B9:
pop si
leave
retn
; ---------------------------------------------------------------------------
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_F6BD proc near
var_2 = word ptr -2
enter 2, 0
push si
push di
@ -11034,7 +11064,7 @@ loc_F6D2:
loc_F6E4:
inc byte_256A2
mov byte ptr [bp-1], 0BAh
mov byte ptr [bp+var_2+1], 0BAh
mov word_256A4, 0B55Eh
mov byte_256A6, 0
jmp loc_F780
@ -11045,14 +11075,14 @@ loc_F6FA:
jg short loc_F720
lea ax, [si+0Ah]
push ax
push word ptr [bp-1]
push [bp+var_2+1]
call sub_11DCA
mov word ptr [si+0Eh], 1Ch
mov byte ptr [si+10h], 4
mov byte ptr [si+10h], 7
mov al, [bp-1]
mov al, byte ptr [bp+var_2+1]
add al, 6
mov [bp-1], al
mov byte ptr [bp+var_2+1], al
jmp short loc_F77D
; ---------------------------------------------------------------------------
@ -11062,18 +11092,18 @@ loc_F720:
cmp di, 5
jnz short loc_F735
sub word ptr [si+2], 180h
mov byte ptr [bp-2], 0B8h
mov byte ptr [bp+var_2], 0B8h
jmp short loc_F73E
; ---------------------------------------------------------------------------
loc_F735:
add word ptr [si+2], 180h
mov byte ptr [bp-2], 0C8h
mov byte ptr [bp+var_2], 0C8h
loc_F73E:
lea ax, [si+0Ah]
push ax
push word ptr [bp-2]
push [bp+var_2]
call sub_11DCA
mov word ptr [si+0Eh], 1Ch
jmp short loc_F779
@ -11120,14 +11150,24 @@ loc_F78B:
pop si
leave
retn
; ---------------------------------------------------------------------------
sub_F6BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_F78F proc near
var_2 = word ptr -2
enter 2, 0
push si
push di
mov di, 5
add di, 2
inc byte_256A2
mov byte ptr [bp-1], 0BAh
mov byte ptr [bp+var_2+1], 0BAh
mov word_256A4, 0B55Eh
mov byte_256A6, 0
jmp loc_F833
@ -11138,13 +11178,13 @@ loc_F7B1:
jg short loc_F7D3
lea ax, [si+0Ah]
push ax
push word ptr [bp-1]
push [bp+var_2+1]
call sub_11DCA
mov word ptr [si+0Eh], 1Ch
mov byte ptr [si+10h], 7
mov al, [bp-1]
mov al, byte ptr [bp+var_2+1]
add al, 6
mov [bp-1], al
mov byte ptr [bp+var_2+1], al
jmp short loc_F830
; ---------------------------------------------------------------------------
@ -11154,18 +11194,18 @@ loc_F7D3:
cmp di, 5
jnz short loc_F7E8
sub word ptr [si+2], 180h
mov byte ptr [bp-2], 0B8h
mov byte ptr [bp+var_2], 0B8h
jmp short loc_F7F1
; ---------------------------------------------------------------------------
loc_F7E8:
add word ptr [si+2], 180h
mov byte ptr [bp-2], 0C8h
mov byte ptr [bp+var_2], 0C8h
loc_F7F1:
lea ax, [si+0Ah]
push ax
push word ptr [bp-2]
push [bp+var_2]
call sub_11DCA
mov word ptr [si+0Eh], 1Ch
jmp short loc_F82C
@ -11212,7 +11252,17 @@ loc_F83E:
pop si
leave
retn
; ---------------------------------------------------------------------------
sub_F78F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_F842 proc near
var_2 = word ptr -2
enter 2, 0
push si
push di
@ -11262,20 +11312,20 @@ loc_F8A5:
jnz short loc_F8BA
sub word ptr [si+2], 180h
mov byte ptr [bp-2], 0B8h
jmp short near ptr word_F8C0+3
jmp short loc_F8C3
; ---------------------------------------------------------------------------
loc_F8BA:
add word ptr [si+2], 180h
; ---------------------------------------------------------------------------
db 0C6h
word_F8C0 dw 0FE46h, 8DC8h, 0A44h,0FF50h
dw 0FE76h ; value table for switch statement
dw offset loc_13876+2 - (offset loc_13A8F+1) ; jump table for switch statement
dw offset loc_201B4
dw offset loc_148D0+4
dw offset loc_13AAC
dw offset loc_1A87B
mov byte ptr [bp+var_2], 0C8h
loc_F8C3:
lea ax, [si+0Ah]
push ax
push [bp+var_2]
call sub_11DCA
mov word ptr [si+0Eh], 1Ch
jmp short loc_F941
; ---------------------------------------------------------------------------
loc_F8D4:
@ -11335,6 +11385,8 @@ loc_F92E:
loc_F93C:
mov word ptr [si+0Eh], 1Eh
loc_F941:
mov byte ptr [si+10h], 7
loc_F945:
@ -11352,16 +11404,36 @@ loc_F953:
pop si
leave
retn
; ---------------------------------------------------------------------------
db 0C8h, 2, 2 dup(0), 56h, 57h, 0BFh, 1, 0, 80h, 3Eh, 66h
db 46h, 12h, 75h, 5, 0C6h, 6, 62h
dw 43h, 62A0h,0B443h,0BB00h ; value table for switch statement
dw offset loc_13A93 - (offset loc_13A8F+1) ; jump table for switch statement
dw offset loc_13229 - (offset loc_13A8F+1)
dw offset loc_1468B
dw offset loc_1B05F+3
; ---------------------------------------------------------------------------
add ax, [bp+di+2C7h]
sub_F842 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_F957 proc near
var_1 = byte ptr -1
enter 2, 0
push si
push di
mov di, 1
cmp byte_259A6, 12h
jnz short loc_F96C
mov byte_256A2, 0
loc_F96C:
mov al, byte_256A2
mov ah, 0
mov bx, 3
cwd
idiv bx
or dx, dx
jnz short loc_F97E
add di, 2
loc_F97E:
inc byte_256A2
mov word_256A4, 0B55Eh
mov byte_256A6, 0
@ -11386,18 +11458,18 @@ loc_F9AA:
cmp di, 3
jnz short loc_F9BA
sub word ptr [si+2], 180h
mov byte ptr [bp-1], 0B8h
mov [bp+var_1], 0B8h
jmp short loc_F9C3
; ---------------------------------------------------------------------------
loc_F9BA:
add word ptr [si+2], 180h
mov byte ptr [bp-1], 0C8h
mov [bp+var_1], 0C8h
loc_F9C3:
lea ax, [si+0Ah]
push ax
push word ptr [bp-1]
push word ptr [bp+var_1]
call sub_11DCA
mov word ptr [si+0Eh], 20h ; ' '
@ -11417,6 +11489,7 @@ loc_F9E2:
pop si
leave
retn
sub_F957 endp
; ---------------------------------------------------------------------------
enter 4, 0
push si
@ -19032,7 +19105,7 @@ loc_13580:
shl si, 4
add si, 3978h
mov ax, [si+0Eh]
mov cs:word_135F8, ax
mov word ptr cs:loc_135F7+1, ax
jmp short $+2
mov ax, [bp+8]
mov bx, ax
@ -19071,10 +19144,9 @@ loc_135E8:
xor al, al
out 7Ch, al
xor si, si
; ---------------------------------------------------------------------------
db 0B8h
word_135F8 dw 1234h
; ---------------------------------------------------------------------------
loc_135F7:
mov ax, 1234h
mov ds, ax
loc_135FC:
@ -19155,11 +19227,7 @@ arg_0 = dword ptr 6
loc_1367D:
mov bbufsiz, 1000h
nop
push cs
loc_13685:
call near ptr sub_130EE
nopcall sub_130EE
call vsync_start
call egc_start
call graph_400line
@ -19724,16 +19792,11 @@ sub_13A58 endp
sub_13A8E proc far
push si
loc_13A8F:
mov si, 3Fh ; '?'
loc_13A92:
push si
loc_13A93:
push cs ; jumptable 0001F922 case 67
call near ptr sub_13A58
call sub_13A58 ; jumptable 0001F922 case 67
dec si
jge short loc_13A92
pop si
@ -24869,8 +24932,8 @@ byte_25594 db ?
db ?
word_25596 dw ?
byte_25598 db ?
db ?
db ?
byte_25599 db ?
byte_2559A db ?
db ?
dd ? ;
word_255A0 dw ?

File diff suppressed because it is too large Load Diff

View File

@ -2590,7 +2590,7 @@ loc_AEF1:
inc ax
push ax
push 0
call far ptr loc_D078
call sub_D078
mov al, byte_124C7
add al, 40h
mov byte_124C7, al
@ -2618,7 +2618,7 @@ loc_AEF1:
inc ax
push ax
push 1
call far ptr loc_D078
call sub_D078
mov al, byte_124C7
add al, 40h
mov byte_124C7, al
@ -2646,7 +2646,7 @@ loc_AEF1:
inc ax
push ax
push 2
call far ptr loc_D078
call sub_D078
mov al, byte_124C7
add al, 40h
mov byte_124C7, al
@ -2674,7 +2674,7 @@ loc_AEF1:
inc ax
push ax
push 3
call far ptr loc_D078
call sub_D078
mov al, byte_124C7
add al, 40h
mov byte_124C7, al
@ -2735,7 +2735,7 @@ loc_B04E:
inc ax
push ax
push 0
call far ptr loc_D078
call sub_D078
push word ptr [bp+8]
push si
push _CosTable8+128
@ -2753,7 +2753,7 @@ loc_B04E:
inc ax
push ax
push 1
call far ptr loc_D078
call sub_D078
push word ptr [bp+8]
mov ax, si
cwd
@ -2779,7 +2779,7 @@ loc_B04E:
inc ax
push ax
push 2
call far ptr loc_D078
call sub_D078
push word ptr [bp+8]
push si
push _CosTable8+384
@ -2797,7 +2797,7 @@ loc_B04E:
inc ax
push ax
push 3
call far ptr loc_D078
call sub_D078
mov dx, 7Ch ; '|'
mov al, 0
out dx, al
@ -2855,7 +2855,7 @@ loc_B165:
inc ax
push ax
push 0
call far ptr loc_D078
call sub_D078
push word ptr [bp+8]
push si
push _CosTable8
@ -2873,7 +2873,7 @@ loc_B165:
inc ax
push ax
push 1
call far ptr loc_D078
call sub_D078
push word ptr [bp+8]
mov ax, si
cwd
@ -2899,7 +2899,7 @@ loc_B165:
inc ax
push ax
push 2
call far ptr loc_D078
call sub_D078
push word ptr [bp+8]
push si
push _CosTable8+256
@ -2917,7 +2917,7 @@ loc_B165:
inc ax
push ax
push 3
call far ptr loc_D078
call sub_D078
mov dx, 7Ch ; '|'
mov al, 0
out dx, al
@ -2963,7 +2963,7 @@ arg_8 = word ptr 0Ch
add ax, ax
add ax, [bp+arg_2]
push ax
call far ptr loc_D6F6
call sub_D6F6
pop si
pop bp
retn 0Ah
@ -6622,35 +6622,45 @@ sub_D046 endp
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_D078:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall __far sub_D078(int, int slot, int, int)
sub_D078 proc far
arg_0 = word ptr 6
@@slot = word ptr 8
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
push bp
mov bp, sp
push si
push di
mov si, [bp+8]
mov si, [bp+@@slot]
shl si, 4
add si, 1B46h
mov cx, [bp+0Ch]
mov cx, [bp+arg_6]
mov di, cx
sar di, 4
shl di, 1
add di, [si+6]
mov ax, [si+8]
shl ax, 1
mov cs:byte_D0DD, al
mov byte ptr cs:loc_D0DC+1, al
and cx, 0Fh
mov bx, cx
shl bx, 1
mov bx, [bx+580h]
mov cs:word_D0E4, bx
mov cs:word_D0F1, bx
mov word ptr cs:loc_D0E3+1, bx
mov word ptr cs:loc_D0F0+1, bx
jmp short $+2
shl ax, 1
add ax, 50h ; 'P'
mov dx, ax
mov ax, [bp+0Ah]
mov ax, [bp+arg_4]
mov bx, ax
shl ax, 2
add ax, bx
@ -6660,22 +6670,52 @@ loc_D078:
mov ax, [si+0Eh]
mov si, [si]
mov ds, ax
mov ax, [bp+6]
mov ax, [bp+arg_0]
mov bp, dx
mul si
mov si, ax
cld
; ---------------------------------------------------------------------------
db 0B5h
byte_D0DD db 80h
db 0ADh, 0D3h, 0C8h, 8Bh, 0D0h, 25h
word_D0E4 dw 1234h
db 33h, 0D0h, 0ABh, 0FEh, 0CDh, 0ADh, 0D3h, 0C8h, 8Bh
db 0D8h, 25h
word_D0F1 dw 1234h
db 33h, 0D8h, 0Bh, 0C2h, 8Bh, 0D3h, 0ABh, 0FEh, 0CDh, 75h
db 0EDh, 0Bh, 0D2h, 74h, 5, 26h, 89h, 15h, 33h, 0D2h, 2Bh
db 0FDh, 79h, 0D1h, 1Fh, 5Fh, 5Eh, 5Dh, 0CAh, 8, 0
loc_D0DC:
mov ch, 80h
lodsw
ror ax, cl
mov dx, ax
loc_D0E3:
and ax, 1234h
xor dx, ax
stosw
dec ch
loc_D0EB:
lodsw
ror ax, cl
mov bx, ax
loc_D0F0:
and ax, 1234h
xor bx, ax
or ax, dx
mov dx, bx
stosw
dec ch
jnz short loc_D0EB
or dx, dx
jz short loc_D107
mov es:[di], dx
xor dx, dx
loc_D107:
sub di, bp
jns short loc_D0DC
pop ds
pop di
pop si
pop bp
retf 8
sub_D078 endp
; =============== S U B R O U T I N E =======================================
@ -6846,11 +6886,11 @@ loc_D1FC:
loc_D258:
mov ax, [bx+5C0h]
mov cs:word_D2BB, ax
mov word ptr cs:loc_D2BA+1, ax
mov ax, [bx+5CAh]
mov word ptr cs:loc_D30C+1, ax
mov ax, word_EB2E
mov cs:word_D2DA, ax
mov word ptr cs:loc_D2D9+1, ax
mov word ptr cs:loc_D320+1, ax
push ds
pop fs
@ -6884,6 +6924,8 @@ loc_D29E:
mov al, ah
out 0A3h, al
nop
loc_D2AA:
mov al, ch
or al, 20h
out 0A5h, al
@ -6892,14 +6934,24 @@ loc_D29E:
mov al, ch
out 0A5h, al
in al, 0A9h
; ---------------------------------------------------------------------------
db 0E8h
word_D2BB 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_D2DA dw 1234h
; ---------------------------------------------------------------------------
loc_D2BA:
call sub_D335
mov bh, al
mov bl, 0
shr ax, cl
shr bx, cl
xchg ah, al
stosw
mov es:[di], bl
add di, 4Eh
inc ch
cmp ch, 10h
jb short loc_D2AA
sub di, 500h
loc_D2D9:
mov dx, 1234h
loc_D2DC:
xor ch, ch
@ -7009,7 +7061,7 @@ loc_D356:
shl si, 4
add si, 1B46h
mov ax, [si+0Eh]
mov cs:word_D3CE, ax
mov word ptr cs:loc_D3CD+1, ax
jmp short $+2
mov ax, [bp+8]
mov bx, ax
@ -7049,10 +7101,9 @@ loc_D3BE:
xor al, al
out 7Ch, al
xor si, si
; ---------------------------------------------------------------------------
db 0B8h
word_D3CE dw 1234h
; ---------------------------------------------------------------------------
loc_D3CD:
mov ax, 1234h
mov ds, ax
loc_D3D2:
@ -7464,17 +7515,26 @@ locret_D6F5:
retf
sub_D6C4 endp
; ---------------------------------------------------------------------------
loc_D6F6:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_D6F6 proc far
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
push bp
mov bp, sp
push di
push si
push ds
cld
mov ax, [bp+0Ch]
mov dx, [bp+0Ah]
mov ax, [bp+arg_6]
mov dx, [bp+arg_4]
mov bx, ax
sar bx, 4
shl bx, 1
@ -7482,22 +7542,22 @@ loc_D6F6:
add bx, dx
shr dx, 2
add bx, dx
mov cs:word_D75C, bx
mov word ptr cs:loc_D75B+1, bx
and ax, 0Fh
mov cx, ax
add ax, [bp+8]
add ax, [bp+arg_2]
shr ax, 4
or cx, cx
jz short loc_D729
inc ax
loc_D729:
mov cs:word_D761, ax
mov word ptr cs:loc_D760+1, ax
jmp short $+2
mov cx, 28h ; '('
sub cx, ax
shl cx, 1
mov ax, [bp+6]
mov ax, [bp+arg_0]
mov bp, cx
push 0E000h
push word_EB38
@ -7508,14 +7568,33 @@ loc_D729:
push 0A800h
push word_EB32
mov dl, 4
loc_D759:
mov bx, ax
loc_D75B:
mov di, 1234h
pop ds
pop es
loc_D760:
mov cx, 1234h
mov si, di
rep movsw
add di, bp
dec bx
jns short loc_D760
dec dl
jnz short loc_D759
pop ds
pop si
pop di
pop bp
retf 8
sub_D6F6 endp
; ---------------------------------------------------------------------------
db 0BFh
word_D75C dw 1234h
db 1Fh, 7, 0B9h
word_D761 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
nop
; =============== S U B R O U T I N E =======================================

View File

@ -970,7 +970,7 @@ arg_2 = word ptr 6
loc_AAF3:
push large 11000E0h
push 0Ah
call far ptr loc_DC92
call sub_DC92
les bx, dword_10DA4
mov al, es:[bx+0Fh]
mov ah, 0
@ -1014,7 +1014,7 @@ loc_AB4C:
push 0Fh
loc_AB54:
call far ptr loc_DC92
call sub_DC92
loc_AB59:
mov dx, 7Ch ; '|'
@ -1025,11 +1025,11 @@ loc_AB59:
push 100h
push di
push 23h ; '#'
call far ptr loc_E00E
call sub_E00E
push 160h
push di
push 24h ; '$'
call far ptr loc_E00E
call sub_E00E
push large 180h
push large 2800010h
call sub_E378
@ -1047,7 +1047,7 @@ loc_AB59:
mov bx, [bp+var_2]
shl bx, 2
push large dword ptr [bx+9Eh]
call far ptr loc_DEB4
call sub_DEB4
loc_ABC4:
pop di
@ -1107,14 +1107,14 @@ loc_AC08:
loc_AC24:
push large 0E000E0h
push 10h
call far ptr loc_DC92
call sub_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
call sub_DC92
les bx, dword_10DA4
mov al, es:[bx+0Fh]
mov ah, 0
@ -1128,13 +1128,13 @@ loc_AC57:
loc_AC5C:
push large 0E000F0h
push 11h
call far ptr loc_DC92
call sub_DC92
push large 14000F0h
les bx, dword_10DA4
mov al, es:[bx+3Ah]
mov ah, 0
push ax
call far ptr loc_DC92
call sub_DC92
mov si, 0Ah
jmp loc_AD9A
; ---------------------------------------------------------------------------
@ -1142,13 +1142,13 @@ loc_AC5C:
loc_AC85:
push large 0E00100h
push 12h
call far ptr loc_DC92
call sub_DC92
push large 1400100h
les bx, dword_10DA4
mov al, es:[bx+3Bh]
mov ah, 0
push ax
call far ptr loc_DC92
call sub_DC92
mov si, 0Bh
jmp loc_AD9A
; ---------------------------------------------------------------------------
@ -1156,7 +1156,7 @@ loc_AC85:
loc_ACAE:
push large 0E00110h
push 13h
call far ptr loc_DC92
call sub_DC92
les bx, dword_10DA4
cmp byte ptr es:[bx+10h], 0
jnz short loc_ACCB
@ -1174,7 +1174,7 @@ loc_ACD8:
mov [bp+var_2], ax
push large 1400110h
push ax
call far ptr loc_DC92
call sub_DC92
les bx, dword_10DA4
mov al, es:[bx+10h]
mov ah, 0
@ -1185,7 +1185,7 @@ loc_ACD8:
loc_ACF7:
push large 0E00120h
push 14h
call far ptr loc_DC92
call sub_DC92
les bx, dword_10DA4
cmp byte ptr es:[bx+18h], 0
jnz short loc_AD14
@ -1206,7 +1206,7 @@ loc_AD25:
mov [bp+var_2], ax
push large 1400120h
push ax
call far ptr loc_DC92
call sub_DC92
les bx, dword_10DA4
mov al, es:[bx+18h]
mov ah, 0
@ -1222,7 +1222,7 @@ loc_AD44:
mov dx, 21h ; '!'
sub dx, ax
push dx
call far ptr loc_DC92
call sub_DC92
mov di, 100h
les bx, dword_10DA4
mov al, es:[bx+49h]
@ -1234,7 +1234,7 @@ loc_AD44:
loc_AD72:
push large 1100140h
push 1Fh
call far ptr loc_DC92
call sub_DC92
mov di, 100h
mov si, 14h
jmp short loc_AD9A
@ -1243,7 +1243,7 @@ loc_AD72:
loc_AD87:
push large 1100154h
push 0Fh
call far ptr loc_DC92
call sub_DC92
mov di, 100h
mov si, 15h
@ -1256,7 +1256,7 @@ loc_AD9A:
push di
push [bp+var_4]
push 23h ; '#'
call far ptr loc_E00E
call sub_E00E
cmp di, 100h
jnz short loc_ADBD
lea ax, [di+60h]
@ -1270,7 +1270,7 @@ loc_ADBD:
loc_ADC0:
push [bp+var_4]
push 24h ; '$'
call far ptr loc_E00E
call sub_E00E
push large 180h
push large 2800010h
call sub_E378
@ -1288,7 +1288,7 @@ loc_ADC0:
mov bx, si
shl bx, 2
push large dword ptr [bx+9Eh]
call far ptr loc_DEB4
call sub_DEB4
loc_AE11:
pop di
@ -2383,7 +2383,7 @@ loc_B6D3:
push si
push [bp+arg_0]
push large [bp+var_4]
call far ptr loc_DEB4
call sub_DEB4
pop si
leave
retn 4
@ -2436,7 +2436,7 @@ loc_B724:
push si
push [bp+arg_0]
push large [bp+var_4]
call far ptr loc_DEB4
call sub_DEB4
pop si
leave
retn 4
@ -2464,7 +2464,7 @@ loc_B744:
mov bx, si
shl bx, 2
push large dword ptr [bx+0A4Ch]
call far ptr loc_DEB4
call sub_DEB4
inc si
add di, 10h
@ -2499,7 +2499,7 @@ loc_B772:
mov bx, si
shl bx, 2
push large dword ptr [bx+0A70h]
call far ptr loc_DEB4
call sub_DEB4
inc si
add di, 10h
@ -2529,7 +2529,7 @@ var_2 = word ptr -2
push 0Fh
push ds
push offset aB@b@b@b@b@ogcp ; "     使用する音源を選択して下さい・...
call far ptr loc_DEB4
call sub_DEB4
mov word_11E88, 0Ah
mov word_11E8A, 4
push large 200080h
@ -2647,7 +2647,7 @@ var_2 = word ptr -2
push 0Fh
push ds
push offset aB@b@b@b@m ; "    効果音に使用する音源を選択して・...
call far ptr loc_DEB4
call sub_DEB4
mov word_11E88, 0Ah
mov word_11E8A, 4
push large 200080h
@ -3401,7 +3401,7 @@ arg_2 = byte ptr 6
shl ax, 2
mov bx, ax
push large dword ptr [bx+0EB6h]
call far ptr loc_DEB4
call sub_DEB4
mov dx, 0A6h ; 'ヲ'
mov al, byte ptr word_12DBC+1
out dx, al
@ -3419,7 +3419,7 @@ arg_2 = byte ptr 6
shl ax, 2
mov bx, ax
push large dword ptr [bx+0EB6h]
call far ptr loc_DEB4
call sub_DEB4
leave
retn 4
sub_BED5 endp
@ -3897,7 +3897,7 @@ sub_C2C4 proc near
push 7
push ds
push offset unk_12DD2
call far ptr loc_DEB4
call sub_DEB4
mov si, 1
jmp short loc_C306
; ---------------------------------------------------------------------------
@ -3917,7 +3917,7 @@ loc_C2DE:
imul ax, 28h
add ax, 3A92h
push ax
call far ptr loc_DEB4
call sub_DEB4
loc_C305:
inc si
@ -3974,11 +3974,11 @@ sub_C33F proc near
mov word_FD7C, 2
push large 1400040h
push large 1400140h
call far ptr loc_E4F8
call sub_E4F8
call sub_C244
push large 1400040h
push large 1400140h
call far ptr loc_E4F8
call sub_E4F8
pop bp
retn
sub_C33F endp
@ -4004,7 +4004,7 @@ loc_C37C:
call sub_BFA7
push large 1400040h
push large 1400140h
call far ptr loc_E4F8
call sub_E4F8
cmp byte_12DBE, 0
jz short loc_C3A2
call sub_C30E
@ -5815,7 +5815,7 @@ loc_D2A3:
mov bx, si
shl bx, 3
push large dword ptr [bx+13D4h]
call far ptr loc_DEB4
call sub_DEB4
lea ax, [di+8]
push ax
mov ax, [bp+var_2]
@ -5825,7 +5825,7 @@ loc_D2A3:
mov bx, si
shl bx, 3
push large dword ptr [bx+13D8h]
call far ptr loc_DEB4
call sub_DEB4
mov ax, 1
sub ax, si
mov si, ax
@ -5854,7 +5854,7 @@ loc_D2FA:
mov bx, si
shl bx, 3
push large dword ptr [bx+13D4h]
call far ptr loc_DEB4
call sub_DEB4
lea ax, [di+8]
push ax
mov ax, [bp+var_2]
@ -5864,7 +5864,7 @@ loc_D2FA:
mov bx, si
shl bx, 3
push large dword ptr [bx+13D8h]
call far ptr loc_DEB4
call sub_DEB4
pop di
pop si
leave
@ -6065,7 +6065,7 @@ loc_D4A8:
push 0Fh
push ds
push offset aStar
call far ptr loc_DEB4
call sub_DEB4
mov word_FD7C, 2
loc_D4E5:
@ -6083,7 +6083,7 @@ loc_D4E5:
add ax, dx
mov bx, ax
push large dword ptr [bx+13E4h]
call far ptr loc_DEB4
call sub_DEB4
mov ax, 1
sub ax, di
mov di, ax
@ -6122,7 +6122,7 @@ loc_D52F:
push 0Fh
push ds
push offset aStar
call far ptr loc_DEB4
call sub_DEB4
mov word_FD7C, 2
loc_D567:
@ -6140,7 +6140,7 @@ loc_D567:
add ax, dx
mov bx, ax
push large dword ptr [bx+13E4h]
call far ptr loc_DEB4
call sub_DEB4
pop di
pop si
leave
@ -6224,7 +6224,7 @@ sub_D595 proc near
push 3
push ds
push offset aGtgugegfgGuvSi ; "サブウェポンの選択"
call far ptr loc_DEB4
call sub_DEB4
pop di
pop si
pop bp
@ -7062,26 +7062,34 @@ loc_DC8E:
retf 2
sub_DC74 endp
; ---------------------------------------------------------------------------
loc_DC92:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_DC92 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
mov si, [bp+6]
mov si, [bp+arg_0]
shl si, 4
add si, 2716h
mov di, [bp+0Ah]
mov di, [bp+arg_4]
sar di, 3
add di, [si+6]
mov ax, [si+8]
mov cs:word_DCD3, ax
mov word ptr cs:loc_DCD2+1, ax
jmp short $+2
shl ax, 2
add ax, 50h ; 'P'
mov dx, ax
mov ax, [bp+8]
mov ax, [bp+arg_2]
mov bx, ax
shl ax, 2
add ax, bx
@ -7092,11 +7100,21 @@ loc_DC92:
xor si, si
cld
nop
loc_DCD2:
mov cx, 1234h
rep movsd
sub di, dx
jns short loc_DCD2
pop ds
pop di
pop si
pop bp
retf 6
sub_DC92 endp
; ---------------------------------------------------------------------------
db 0B9h
word_DCD3 dw 1234h
db 0F3h, 66h, 0A5h, 2Bh, 0FAh, 79h, 0F6h, 1Fh, 5Fh, 5Eh
db 5Dh, 0CAh, 6, 0, 90h
nop
; =============== S U B R O U T I N E =======================================
@ -7375,15 +7393,24 @@ loc_DEAF:
retf 6
sub_DDCA endp
; ---------------------------------------------------------------------------
loc_DEB4:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_DEB4 proc far
arg_0 = dword ptr 6
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
arg_8 = word ptr 0Eh
push bp
mov bp, sp
push si
push di
push ds
mov dx, [bp+0Ah]
mov dx, [bp+arg_4]
mov al, 0C0h
pushf
cli
@ -7404,12 +7431,12 @@ loc_DEB4:
mov ax, 0A800h
mov es, ax
assume es:nothing
mov dx, [bp+0Ch]
mov dx, [bp+arg_6]
shl dx, 6
mov di, dx
shr dx, 2
add di, dx
mov cx, [bp+0Eh]
mov cx, [bp+arg_8]
mov al, 0Bh
out 68h, al
mov bx, word_FD7C
@ -7419,21 +7446,21 @@ loc_DEB4:
cmp bx, 10h
jnb short loc_DF10
mov ax, [bx+0A0Ch]
mov cs:word_E00B, ax
mov word ptr cs:loc_E008+3, ax
mov bx, 8
loc_DF10:
mov ax, [bx+0A00h]
mov cs:word_DF73, ax
mov word ptr cs:loc_DF72+1, ax
mov ax, [bx+0A0Ah]
mov cs:word_DFC5, ax
mov word ptr cs:loc_DFC4+1, ax
mov ax, word_FD7E
mov cs:word_DF92, ax
mov cs:word_DFD9, ax
mov word ptr cs:loc_DF91+1, ax
mov word ptr cs:loc_DFD8+1, ax
push ds
pop fs
assume fs:dseg
lds si, [bp+6]
lds si, [bp+arg_0]
lodsb
or al, al
jz short loc_DF9D
@ -7462,6 +7489,8 @@ loc_DF56:
mov al, ah
out 0A3h, al
nop
loc_DF62:
mov al, ch
or al, 20h
out 0A5h, al
@ -7470,14 +7499,24 @@ loc_DF56:
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_DF72:
call sub_DFED
mov bh, al
mov bl, 0
shr ax, cl
shr bx, cl
xchg ah, al
stosw
mov es:[di], bl
add di, 4Eh ; 'N'
inc ch
cmp ch, 10h
jb short loc_DF62
sub di, 500h
loc_DF91:
mov dx, 1234h
loc_DF94:
xor ch, ch
@ -7503,32 +7542,48 @@ loc_DFAC:
loc_DFAF:
cmp al, 20h ; ' '
jz short near ptr byte_DFD8
jz short loc_DFD8
out 0A1h, al
mov al, ah
out 0A3h, al
nop
loc_DFBA:
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
; ---------------------------------------------------------------------------
loc_DFC4:
call sub_DFED
ror ax, cl
stosw
add di, 4Eh ; 'N'
inc ch
cmp ch, 10h
jb short loc_DFBA
sub di, 500h
loc_DFD8:
mov dx, 1234h
shr dx, 1
jmp short loc_DF94
sub_DEB4 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_DFE0 proc near
mov dx, ax
add dx, dx
or ax, dx
retn
sub_DFE0 endp
; ---------------------------------------------------------------------------
mov dx, ax
shl dx, 1
@ -7550,14 +7605,25 @@ sub_DFED proc near
sub_DFED endp
; ---------------------------------------------------------------------------
db 0E8h, 0ECh, 0FFh, 8Ah, 0DDh, 83h, 0E3h, 2 dup(3), 0DBh
db 64h, 23h, 87h
word_E00B dw 1234h
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
call sub_DFED
mov bl, ch
and bx, 3
add bx, bx
loc_E008:
and ax, fs:[bx+1234h]
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_E00E proc far
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
loc_E00E:
push bp
mov bp, sp
push si
@ -7566,20 +7632,20 @@ loc_E00E:
cli
mov al, 0C0h
out 7Ch, al
mov dx, 7Eh ; '~'
mov dx, 7Eh
xor al, al
out dx, al
out dx, al
out dx, al
out dx, al
sti
mov si, [bp+6]
mov si, [bp+arg_0]
shl si, 4
add si, 2716h
mov ax, [si+0Eh]
mov cs:word_E086, ax
mov word ptr cs:loc_E085+1, ax
jmp short $+2
mov ax, [bp+8]
mov ax, [bp+arg_2]
mov bx, ax
shl ax, 2
add ax, bx
@ -7593,7 +7659,7 @@ loc_E00E:
push ax
sub ax, 800h
push ax
mov ax, [bp+0Ah]
mov ax, [bp+arg_4]
shr ax, 3
add ax, [si+6]
mov di, ax
@ -7617,11 +7683,11 @@ loc_E076:
xor al, al
out 7Ch, al
xor si, si
; ---------------------------------------------------------------------------
db 0B8h
word_E086 dw 1234h
; ---------------------------------------------------------------------------
loc_E085:
mov ax, 1234h
mov ds, ax
assume ds:nothing
loc_E08A:
mov di, bx
@ -7641,10 +7707,13 @@ loc_E08E:
or ax, ax
jnz short loc_E08A
pop ds
assume ds:dseg
pop di
pop si
pop bp
retf 6
sub_E00E endp
; ---------------------------------------------------------------------------
nop
@ -8246,17 +8315,26 @@ locret_E4F7:
retf
sub_E4C6 endp
; ---------------------------------------------------------------------------
loc_E4F8:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_E4F8 proc far
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
push bp
mov bp, sp
push di
push si
push ds
cld
mov ax, [bp+0Ch]
mov dx, [bp+0Ah]
mov ax, [bp+arg_6]
mov dx, [bp+arg_4]
mov bx, ax
sar bx, 4
shl bx, 1
@ -8264,22 +8342,22 @@ loc_E4F8:
add bx, dx
shr dx, 2
add bx, dx
mov cs:word_E55E, bx
mov word ptr cs:loc_E55D+1, bx
and ax, 0Fh
mov cx, ax
add ax, [bp+8]
add ax, [bp+arg_2]
shr ax, 4
or cx, cx
jz short loc_E52B
inc ax
loc_E52B:
mov cs:word_E563, ax
mov word ptr cs:loc_E562+1, ax
jmp short $+2
mov cx, 28h ; '('
sub cx, ax
shl cx, 1
mov ax, [bp+6]
mov ax, [bp+arg_0]
mov bp, cx
push 0E000h
push word_FD88
@ -8290,16 +8368,53 @@ loc_E52B:
push 0A800h
push word_FD82
mov dl, 4
loc_E55B:
mov bx, ax
loc_E55D:
mov di, 1234h
pop ds
pop es
loc_E562:
mov cx, 1234h
mov si, di
rep movsw
add di, bp
dec bx
jns short loc_E562
dec dl
jnz short loc_E55B
pop ds
pop si
pop di
pop bp
retf 8
sub_E4F8 endp
; ---------------------------------------------------------------------------
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
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_E57A proc near
mov byte_FD8A, 1
nop
sub_E57A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_E580 proc far
arg_0 = word ptr 6
arg_2 = dword ptr 8
arg_6 = word ptr 0Ch
push bp
mov bp, sp
push si
@ -8309,7 +8424,7 @@ word_E563 dw 1234h
nopcall sub_E69A
shl di, 4
add di, 2716h
push large dword ptr [bp+8]
push large [bp+arg_2]
call file_ropen
push ds
push di
@ -8325,7 +8440,7 @@ word_E563 dw 1234h
add ax, dx
loc_E5BC:
mul word ptr [bp+6]
mul [bp+arg_0]
movzx eax, ax
push eax
push 1
@ -8337,6 +8452,8 @@ loc_E5BC:
pop si
pop bp
retf 8
sub_E580 endp
; ---------------------------------------------------------------------------
nop

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1425,7 +1425,7 @@ loc_A962:
push 240h
push word_15006
push large 100010h
call far ptr loc_ECDE
call sub_ECDE
or si, si
jle short loc_A9BD
test byte ptr word_12AFA+1, 20h
@ -1535,7 +1535,7 @@ loc_AA3E:
out dx, al
push large 500140h
push large 1E00040h
call far ptr loc_ECDE
call sub_ECDE
mov dx, 0A6h ; 'ヲ'
mov al, 0
@ -2348,7 +2348,7 @@ loc_B164:
mov ah, 0
push ax
push large [bp+var_8]
call far ptr loc_E914
call sub_E914
mov dx, 0A6h ; 'ヲ'
mov al, 0
out dx, al
@ -2414,13 +2414,13 @@ loc_B1F7:
push si
push 0Fh
push large [bp+var_4]
call far ptr loc_E914
call sub_E914
call sub_B37C
push 40h
push si
push 0Fh
push large [bp+var_4]
call far ptr loc_E914
call sub_E914
call sub_B37C
dec word_107BC
inc di
@ -2433,13 +2433,13 @@ loc_B21E:
push si
push 0Fh
push large [bp+var_4]
call far ptr loc_E914
call sub_E914
call sub_B37C
push 40h
push si
push 0Fh
push large [bp+var_4]
call far ptr loc_E914
call sub_E914
call sub_B37C
inc allcast_step
inc allcast_line_on_screen
@ -3620,7 +3620,7 @@ loc_BB00:
push si
push di
push large 820012h
call far ptr loc_ECDE
call sub_ECDE
lea ax, [si+2]
push ax
lea ax, [di+2]
@ -4161,7 +4161,7 @@ loc_BEA6:
add ax, 0FFF0h
push ax
push large 200020h
call far ptr loc_ECDE
call sub_ECDE
loc_BEC8:
inc di
@ -4661,12 +4661,12 @@ loc_C2BB:
push 9
push ds
push offset aGxgnbGvbGhvVGv
call far ptr loc_E914
call sub_E914
push large 7800C0h
push 2
push ds
push offset aGxgnbGvbGhvV_0
call far ptr loc_E914
call sub_E914
loc_C2EB:
call sub_EB66
@ -5188,7 +5188,7 @@ loc_C6F1:
push word_116E4
push ds
push offset aU__0
call far ptr loc_E914
call sub_E914
pop di
pop si
leave
@ -5298,14 +5298,14 @@ loc_C7B6:
push word_116E4
push ds
push offset aBd
call far ptr loc_E914
call sub_E914
lea ax, [si+60h]
push ax
push di
push word_116E4
push ds
push offset aBu
call far ptr loc_E914
call sub_E914
pop di
pop si
leave
@ -5361,7 +5361,7 @@ arg_6 = word ptr 0Ah
push word_116E4
push ds
push offset aBd_0
call far ptr loc_E914
call sub_E914
pop di
pop si
leave
@ -5502,7 +5502,7 @@ loc_C9B3:
push word_116E4
push ds
push offset aBu_0
call far ptr loc_E914
call sub_E914
leave
retn
sub_C8AE endp
@ -5628,7 +5628,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aB@b@b@b@b@b@b@ ; "        腕前判定"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 18h
@ -5636,7 +5636,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aUqiUx ; "難易度"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 30h ; '0'
@ -5644,7 +5644,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aNPiuU_ ; "最終得点"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 48h ; 'H'
@ -5652,7 +5652,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aGGxi
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 60h
@ -5660,7 +5660,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aGGaogcpi
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 78h ; 'x'
@ -5668,7 +5668,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aGqbGatbrmcj ; "ゲーム達成率"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 90h ; '・
@ -5676,7 +5676,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aIlcSObcj ; "悪霊退治率"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0A8h ; 'ィ'
@ -5684,7 +5684,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aGagcgegai
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0C0h
@ -5692,7 +5692,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aUU_gagcgeganNv ; "得点アイテム最高点率"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0D8h
@ -5700,7 +5700,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aLcnzvv ; "気合い"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0F0h ; '・
@ -5708,7 +5708,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aPicacovCj ; "処理落ち率"
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 110h
@ -5716,7 +5716,7 @@ var_4 = dword ptr -4
push word_116E4
push ds
push offset aVavVVSrso ; "あなたの腕前"
call far ptr loc_E914
call sub_E914
les bx, dword_11E6E
cmp byte ptr es:[bx+13h], 6
jnz short loc_CBDB
@ -5787,7 +5787,7 @@ loc_CBE3:
push word_116E4
push ds
push offset aI
call far ptr loc_E914
call sub_E914
mov ax, word_116E2
add ax, 110h
push ax
@ -5797,7 +5797,7 @@ loc_CBE3:
push word_116E4
push ds
push offset aI_0
call far ptr loc_E914
call sub_E914
mov byte_1517C, 1
les bx, dword_11E6E
cmp byte ptr es:[bx+13h], 6
@ -6120,7 +6120,7 @@ loc_D01A:
push word_116E4
push ds
push offset aU_
call far ptr loc_E914
call sub_E914
push ds
push offset a_ude_txt ; "_ude.txt"
call file_ropen
@ -6204,7 +6204,7 @@ loc_D120:
push word_116E4
push ds
push offset aBhbhbhbhbhbhu_ ; "??????点"
call far ptr loc_E914
call sub_E914
mov ax, word_116E2
add ax, 30h ; '0'
push ax
@ -6214,7 +6214,7 @@ loc_D120:
push word_116E6
push ds
push offset aPicacovVVcvsfT ; "処理落ちによる判定不可"
call far ptr loc_E914
call sub_E914
loc_D156:
pop si
@ -6253,7 +6253,7 @@ sub_D16F proc near
push word_116E6
push ds
push offset byte_15187
call far ptr loc_E914
call sub_E914
mov ax, word_116E2
add ax, 30h ; '0'
push ax
@ -6263,7 +6263,7 @@ sub_D16F proc near
push word_116E6
push ds
push offset byte_151A5
call far ptr loc_E914
call sub_E914
loc_D1AF:
pop bp
@ -6334,7 +6334,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aB@vpcB@ ; " 1面 "
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 60h
@ -6342,7 +6342,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aB@vqcB@ ; " 2面 "
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 80h
@ -6350,7 +6350,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aB@vrcB@ ; " 3面 "
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0A0h
@ -6358,7 +6358,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aB@vscB@ ; " 4面 "
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0C0h
@ -6366,7 +6366,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aB@vtcB@ ; " 5面 "
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 0E0h ; '・
@ -6374,7 +6374,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aB@vucB@ ; " 6面 "
call far ptr loc_E914
call sub_E914
push word_116E2
mov ax, word_116E8
add ax, 120h
@ -6382,7 +6382,7 @@ var_2 = word ptr -2
push word_116E4
push ds
push offset aNPiuU__0 ; "最終得点"
call far ptr loc_E914
call sub_E914
mov ax, word_116E2
add ax, 80h
mov [bp+var_2], ax
@ -9161,15 +9161,24 @@ loc_E909:
retf 4
sub_E878 endp
; ---------------------------------------------------------------------------
loc_E914:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_E914 proc far
arg_0 = dword ptr 6
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
arg_8 = word ptr 0Eh
push bp
mov bp, sp
push si
push di
push ds
mov dx, [bp+0Ah]
mov dx, [bp+arg_4]
mov al, 0C0h
pushf
cli
@ -9190,12 +9199,12 @@ loc_E914:
mov ax, 0A800h
mov es, ax
assume es:nothing
mov dx, [bp+0Ch]
mov dx, [bp+arg_6]
shl dx, 6
mov di, dx
shr dx, 2
add di, dx
mov cx, [bp+0Eh]
mov cx, [bp+arg_8]
mov al, 0Bh
out 68h, al
mov bx, word_107BC
@ -9204,22 +9213,22 @@ loc_E914:
jb short loc_E970
cmp bx, 10h
jnb short loc_E970
mov ax, [bx+68Ch]
mov cs:word_EA6B, ax
mov ax, word_1078C[bx]
mov word ptr cs:loc_EA68+3, ax
mov bx, 8
loc_E970:
mov ax, [bx+680h]
mov cs:word_E9D3, ax
mov ax, [bx+68Ah]
mov cs:word_EA25, ax
mov ax, word_10780[bx]
mov word ptr cs:loc_E9D2+1, ax
mov ax, word_1078A[bx]
mov word ptr cs:loc_EA24+1, ax
mov ax, word_107BE
mov cs:word_E9F2, ax
mov cs:word_EA39, ax
mov word ptr cs:loc_E9F1+1, ax
mov word ptr cs:loc_EA38+1, ax
push ds
pop fs
assume fs:dseg
lds si, [bp+6]
lds si, [bp+arg_0]
lodsb
or al, al
jz short loc_E9FD
@ -9236,7 +9245,7 @@ loc_E996:
mov ah, al
lodsb
shl ah, 1
cmp al, 9Fh ; '<27>E
cmp al, 9Fh
jnb short loc_E9B6
cmp al, 80h
adc ax, 0FEDFh
@ -9248,6 +9257,8 @@ loc_E9B6:
mov al, ah
out 0A3h, al
nop
loc_E9C2:
mov al, ch
or al, 20h
out 0A5h, al
@ -9256,14 +9267,24 @@ loc_E9B6:
mov al, ch
out 0A5h, al
in al, 0A9h
; ---------------------------------------------------------------------------
db 0E8h
word_E9D3 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_E9F2 dw 1234h
; ---------------------------------------------------------------------------
loc_E9D2:
call sub_EA4D
mov bh, al
mov bl, 0
shr ax, cl
shr bx, cl
xchg ah, al
stosw
mov es:[di], bl
add di, 4Eh ; 'N'
inc ch
cmp ch, 10h
jb short loc_E9C2
sub di, 500h
loc_E9F1:
mov dx, 1234h
loc_E9F4:
xor ch, ch
@ -9289,32 +9310,48 @@ loc_EA0C:
loc_EA0F:
cmp al, 20h ; ' '
jz short near ptr byte_EA38
jz short loc_EA38
out 0A1h, al
mov al, ah
out 0A3h, al
nop
loc_EA1A:
mov al, ch
or al, 20h
out 0A5h, al
in al, 0A9h
xor ah, ah
; ---------------------------------------------------------------------------
db 0E8h
word_EA25 dw 26h
db 0D3h, 0C8h, 0ABh, 83h, 0C7h, 4Eh, 0FEh, 0C5h, 80h, 0FDh
db 10h, 72h, 0E6h, 81h, 0EFh, 0, 5
byte_EA38 db 0BAh
word_EA39 dw 1234h
; ---------------------------------------------------------------------------
loc_EA24:
call sub_EA4D
ror ax, cl
stosw
add di, 4Eh ; 'N'
inc ch
cmp ch, 10h
jb short loc_EA1A
sub di, 500h
loc_EA38:
mov dx, 1234h
shr dx, 1
jmp short loc_E9F4
sub_E914 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_EA40 proc near
mov dx, ax
add dx, dx
or ax, dx
retn
sub_EA40 endp
; ---------------------------------------------------------------------------
mov dx, ax
shl dx, 1
@ -9335,12 +9372,21 @@ sub_EA4D proc near
retn
sub_EA4D endp
; ---------------------------------------------------------------------------
db 0E8h, 0ECh, 0FFh, 8Ah, 0DDh, 83h, 0E3h, 2 dup(3), 0DBh
db 64h, 23h, 87h
word_EA6B dw 1234h
; ---------------------------------------------------------------------------
; =============== S U B R O U T I N E =======================================
sub_EA5E proc near
call sub_EA4D
mov bl, ch
and bx, 3
add bx, bx
loc_EA68:
and ax, fs:[bx+1234h]
retn
sub_EA5E endp
; =============== S U B R O U T I N E =======================================
@ -9673,17 +9719,26 @@ arg_8 = word ptr 0Eh
retf 0Ah
sub_EC9A endp
; ---------------------------------------------------------------------------
loc_ECDE:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_ECDE proc far
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
push bp
mov bp, sp
push di
push si
push ds
cld
mov ax, [bp+0Ch]
mov dx, [bp+0Ah]
mov ax, [bp+arg_6]
mov dx, [bp+arg_4]
mov bx, ax
sar bx, 4
shl bx, 1
@ -9691,22 +9746,22 @@ loc_ECDE:
add bx, dx
shr dx, 2
add bx, dx
mov cs:word_ED44, bx
mov word ptr cs:loc_ED43+1, bx
and ax, 0Fh
mov cx, ax
add ax, [bp+8]
add ax, [bp+arg_2]
shr ax, 4
or cx, cx
jz short loc_ED11
inc ax
loc_ED11:
mov cs:word_ED49, ax
mov word ptr cs:loc_ED48+1, ax
jmp short $+2
mov cx, 28h ; '('
sub cx, ax
shl cx, 1
mov ax, [bp+6]
mov ax, [bp+arg_0]
mov bp, cx
push 0E000h
push word_107C8
@ -9717,14 +9772,33 @@ loc_ED11:
push 0A800h
push word_107C2
mov dl, 4
loc_ED41:
mov bx, ax
loc_ED43:
mov di, 1234h
pop ds
pop es
loc_ED48:
mov cx, 1234h
mov si, di
rep movsw
add di, bp
dec bx
jnz short loc_ED48
dec dl
jnz short loc_ED41
pop ds
pop si
pop di
pop bp
retf 8
sub_ECDE endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0BFh
word_ED44 dw 1234h
db 1Fh, 7, 0B9h
word_ED49 dw 1234h
db 8Bh, 0F7h, 0F3h, 0A5h, 3, 0FDh, 4Bh, 75h, 0F4h, 0FEh
db 0CAh, 75h, 0E9h, 1Fh, 5Eh, 5Fh, 5Dh, 0CAh, 8, 0, 90h
nop
; =============== S U B R O U T I N E =======================================
@ -10970,26 +11044,16 @@ include libs/master.lib/bgm[data].asm
db 50h ; P
db 20h
db 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
word_10780 dw 71h
dw 6Bh
dw 78h
dw 72h
dw 89h
word_1078A dw 1Fh
word_1078C dw 19h
dw 26h
dw 20h
dw 37h
db 9Ch
db 6
db 0A4h

View File

@ -1228,7 +1228,7 @@ loc_A69A:
mov bx, [bp+var_2]
shl bx, 2
push large dword ptr MENU_DESC[bx]
call far ptr loc_D436
call sub_D436
loc_A705:
pop di
@ -1468,7 +1468,7 @@ loc_A900:
mov bx, si
shl bx, 2
push large dword ptr MENU_DESC[bx]
call far ptr loc_D436
call sub_D436
loc_A951:
pop di
@ -2615,7 +2615,7 @@ loc_B2AB:
push si
push [bp+arg_0]
push large [bp+var_4]
call far ptr loc_D436
call sub_D436
pop si
leave
retn 4
@ -2668,7 +2668,7 @@ loc_B2FC:
push si
push [bp+arg_0]
push large [bp+var_4]
call far ptr loc_D436
call sub_D436
pop si
leave
retn 4
@ -2696,7 +2696,7 @@ loc_B31C:
mov bx, si
shl bx, 2
push large [SETUP_BGM_BODY+bx]
call far ptr loc_D436
call sub_D436
inc si
add di, 10h
@ -2731,7 +2731,7 @@ loc_B34A:
mov bx, si
shl bx, 2
push large [SETUP_SFX_BODY+bx]
call far ptr loc_D436
call sub_D436
inc si
add di, 10h
@ -2761,7 +2761,7 @@ var_2 = word ptr -2
push 0Fh
push ds
push offset aSETUP_BGM_HEAD ; "     使用する音源を選択して下さい・...
call far ptr loc_D436
call sub_D436
mov word_12F30, 0Ah
mov word_12F32, 4
push large 200080h
@ -2879,7 +2879,7 @@ var_2 = word ptr -2
push 0Fh
push ds
push offset aSETUP_SFX_HEAD ; "    効果音に使用する音源を選択して・...
call far ptr loc_D436
call sub_D436
mov word_12F30, 0Ah
mov word_12F32, 4
push large 200080h
@ -4114,7 +4114,7 @@ loc_BEF4:
lea ax, [si+60h]
push ax
push large 1400010h
call far ptr loc_DB3C
call sub_DB3C
loc_BF05:
mov al, [bp+arg_2]
@ -4142,7 +4142,7 @@ loc_BF14:
push ax
push [bp+var_2]
push dx
call far ptr loc_D436
call sub_D436
loc_BF48:
pop si
@ -4192,17 +4192,17 @@ loc_BF6B:
push large 0C0050h
push 5
push large [MUSICROOM_UP]
call far ptr loc_D436
call sub_D436
push large 0C0120h
push 5
push large [MUSICROOM_DOWN]
call far ptr loc_D436
call sub_D436
push large 0C0020h
push 3
mov bx, musicroom_game_id
shl bx, 2
push large dword ptr MUSICROOM_GAME[bx]
call far ptr loc_D436
call sub_D436
pop si
pop bp
retn 2
@ -4650,7 +4650,7 @@ var_2 = word ptr -2
push 7
push ds
push offset unk_13EAA
call far ptr loc_D436
call sub_D436
mov si, 4EF2h
mov di, 1
mov [bp+var_2], 0B4h ; 'エ'
@ -4665,7 +4665,7 @@ loc_C351:
push 7
push ds
push si
call far ptr loc_D436
call sub_D436
loc_C365:
inc di
@ -4725,17 +4725,17 @@ sub_C3A7 proc near
mov word_F9BE, 2
push large 1400020h
push large 1400010h
call far ptr loc_DB3C
call sub_DB3C
push large 14000B4h
push large 1400090h
call far ptr loc_DB3C
call sub_DB3C
call sub_C293
push large 1400020h
push large 1400010h
call far ptr loc_DB3C
call sub_DB3C
push large 14000B4h
push large 1400090h
call far ptr loc_DB3C
call sub_DB3C
pop bp
retn
sub_C3A7 endp
@ -4761,7 +4761,7 @@ loc_C406:
call sub_BFF6
push large 1400040h
push large 1400100h
call far ptr loc_DB3C
call sub_DB3C
cmp byte_13E96, 0
jz short loc_C42C
call sub_C376
@ -4795,19 +4795,19 @@ arg_0 = word ptr 4
mov si, [bp+arg_0]
push large 20h ; ' '
push large 1400010h
call far ptr loc_DB3C
call sub_DB3C
push large 60h
push large 14000C0h
call far ptr loc_DB3C
call sub_DB3C
push si
call sub_BF4D
call sub_C293
push large 20h ; ' '
push large 1400010h
call far ptr loc_DB3C
call sub_DB3C
push large 60h
push large 14000C0h
call far ptr loc_DB3C
call sub_DB3C
push si
call sub_BF4D
pop si
@ -6261,12 +6261,12 @@ loc_D012:
lea ax, [di-8]
push ax
push large 0E00008h
call far ptr loc_DB3C
call sub_DB3C
lea ax, [si-8]
push ax
push di
push large 800A0h
call far ptr loc_DB3C
call sub_DB3C
mov al, byte ptr word_14118
mov ah, 0
mov bx, ax
@ -6591,22 +6591,24 @@ loc_D2F7:
push 1
call sub_E15E
jmp loc_D1B5
; ---------------------------------------------------------------------------
leave
retn
sub_D12D endp
; ---------------------------------------------------------------------------
db 0
seg001 ends
; ---------------------------------------------------------------------------
; ===========================================================================
; Segment type: Pure code
seg002 segment byte public 'CODE' use16
assume cs:seg002
; org 1
; org 4
assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
leave
retn
; ---------------------------------------------------------------------------
db 0
sub_D304 proc near
push di
xor ax, ax
mov di, 3662h
@ -6630,6 +6632,8 @@ loc_D319:
jnz short loc_D30E
pop di
retf
sub_D304 endp
; =============== S U B R O U T I N E =======================================
@ -6801,13 +6805,23 @@ sub_D41C endp
; ---------------------------------------------------------------------------
db 0
loc_D436:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_D436 proc far
arg_0 = dword ptr 6
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
arg_8 = word ptr 0Eh
push bp
mov bp, sp
push si
push di
push ds
mov dx, [bp+0Ah]
mov dx, [bp+arg_4]
mov al, 0C0h
pushf
cli
@ -6828,41 +6842,36 @@ loc_D436:
mov ax, 0A800h
mov es, ax
assume es:nothing
mov dx, [bp+0Ch]
mov dx, [bp+arg_6]
shl dx, 6
mov di, dx
shr dx, 2
add di, dx
mov cx, [bp+0Eh]
mov cx, [bp+arg_8]
mov al, 0Bh
out 68h, al
mov bx, word_F9BE
add bx, bx
cmp bx, 8
; START OF FUNCTION CHUNK FOR sub_DA6B
loc_D480:
jb short loc_D492
loc_D482:
cmp bx, 10h
jnb short loc_D492
mov ax, [bx+9AEh]
mov cs:word_D58D, ax
mov word ptr cs:loc_D58A+3, ax
mov bx, 8
loc_D492:
mov ax, [bx+9A2h]
mov cs:word_D4F5, ax
mov word ptr cs:loc_D4F4+1, ax
mov ax, [bx+9ACh]
mov cs:word_D547, ax
mov word ptr cs:loc_D546+1, ax
mov ax, word_F9C0
mov cs:word_D514, ax
mov cs:word_D55B, ax
mov word ptr cs:loc_D513+1, ax
mov word ptr cs:loc_D55A+1, ax
push ds
pop fs
assume fs:dseg
lds si, [bp+6]
lds si, [bp+arg_0]
lodsb
or al, al
jz short loc_D51F
@ -6891,6 +6900,8 @@ loc_D4D8:
mov al, ah
out 0A3h, al
nop
loc_D4E4:
mov al, ch
or al, 20h
out 0A5h, al
@ -6899,15 +6910,24 @@ loc_D4D8:
mov al, ch
out 0A5h, al
in al, 0A9h
; END OF FUNCTION CHUNK FOR sub_DA6B
; ---------------------------------------------------------------------------
db 0E8h
word_D4F5 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_D514 dw 1234h
; ---------------------------------------------------------------------------
loc_D4F4:
call sub_D56F
mov bh, al
mov bl, 0
shr ax, cl
shr bx, cl
xchg ah, al
stosw
mov es:[di], bl
add di, 4Eh ; 'N'
inc ch
cmp ch, 10h
jb short loc_D4E4
sub di, 500h
loc_D513:
mov dx, 1234h
loc_D516:
xor ch, ch
@ -6915,7 +6935,6 @@ loc_D516:
lodsb
or al, al
jnz short loc_D4B8
; START OF FUNCTION CHUNK FOR sub_DA6B
loc_D51F:
mov al, 0Ah
@ -6934,33 +6953,48 @@ loc_D52E:
loc_D531:
cmp al, 20h ; ' '
jz short near ptr byte_D55A
jz short loc_D55A
out 0A1h, al
mov al, ah
out 0A3h, al
nop
loc_D53C:
mov al, ch
or al, 20h
out 0A5h, al
in al, 0A9h
xor ah, ah
; END OF FUNCTION CHUNK FOR sub_DA6B
; ---------------------------------------------------------------------------
db 0E8h
word_D547 dw 26h
db 0D3h, 0C8h, 0ABh, 83h, 0C7h, 4Eh, 0FEh, 0C5h, 80h, 0FDh
db 10h, 72h, 0E6h, 81h, 0EFh, 0, 5
byte_D55A db 0BAh
word_D55B dw 1234h
; ---------------------------------------------------------------------------
loc_D546:
call sub_D56F
ror ax, cl
stosw
add di, 4Eh ; 'N'
inc ch
cmp ch, 10h
jb short loc_D53C
sub di, 500h
loc_D55A:
mov dx, 1234h
shr dx, 1
jmp short loc_D516
sub_D436 endp
; ---------------------------------------------------------------------------
nop
; =============== S U B R O U T I N E =======================================
sub_D562 proc near
mov dx, ax
add dx, dx
or ax, dx
retn
sub_D562 endp
; ---------------------------------------------------------------------------
mov dx, ax
shl dx, 1
@ -6981,12 +7015,21 @@ sub_D56F proc near
retn
sub_D56F endp
; ---------------------------------------------------------------------------
db 0E8h, 0ECh, 0FFh, 8Ah, 0DDh, 83h, 0E3h, 2 dup(3), 0DBh
db 64h, 23h, 87h
word_D58D dw 1234h
; ---------------------------------------------------------------------------
; =============== S U B R O U T I N E =======================================
sub_D580 proc near
call sub_D56F
mov bl, ch
and bx, 3
add bx, bx
loc_D58A:
and ax, fs:[bx+1234h]
retn
sub_D580 endp
; =============== S U B R O U T I N E =======================================
@ -7742,8 +7785,8 @@ off_DAD1 dw offset loc_DA9D
dw offset loc_DA9D
dw offset loc_DABF
dw offset loc_DA9D
dw offset loc_D480
dw offset loc_D482
dw 180h
dw 182h
dw 184h
dw 186h
dw 188h
@ -7804,15 +7847,25 @@ sub_DB21 endp
; ---------------------------------------------------------------------------
db 0
loc_DB3C:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_DB3C proc far
arg_0 = word ptr 6
arg_2 = word ptr 8
arg_4 = word ptr 0Ah
arg_6 = word ptr 0Ch
push bp
mov bp, sp
push di
push si
push ds
cld
mov ax, [bp+0Ch]
mov dx, [bp+0Ah]
mov ax, [bp+arg_6]
mov dx, [bp+arg_4]
mov bx, ax
sar bx, 4
shl bx, 1
@ -7820,22 +7873,22 @@ loc_DB3C:
add bx, dx
shr dx, 2
add bx, dx
mov cs:word_DBA2, bx
mov word ptr cs:loc_DBA1+1, bx
and ax, 0Fh
mov cx, ax
add ax, [bp+8]
add ax, [bp+arg_2]
shr ax, 4
or cx, cx
jz short loc_DB6F
inc ax
loc_DB6F:
mov cs:word_DBA7, ax
mov word ptr cs:loc_DBA6+1, ax
jmp short $+2
mov cx, 28h ; '('
sub cx, ax
shl cx, 1
mov ax, [bp+6]
mov ax, [bp+arg_0]
mov bp, cx
push 0E000h
push word_F9CA
@ -7846,14 +7899,34 @@ loc_DB6F:
push 0A800h
push word_F9C4
mov dl, 4
loc_DB9F:
mov bx, ax
loc_DBA1:
mov di, 1234h
pop ds
assume es:nothing
pop es
loc_DBA6:
mov cx, 1234h
mov si, di
rep movsw
add di, bp
dec bx
jnz short loc_DBA6
dec dl
jnz short loc_DB9F
pop ds
pop si
pop di
pop bp
retf 8
sub_DB3C endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0BFh
word_DBA2 dw 1234h
db 1Fh, 7, 0B9h
word_DBA7 dw 1234h
db 8Bh, 0F7h, 0F3h, 0A5h, 3, 0FDh, 4Bh, 75h, 0F4h, 0FEh
db 0CAh, 75h, 0E9h, 1Fh, 5Eh, 5Fh, 5Dh, 0CAh, 8, 0, 90h
nop
; =============== S U B R O U T I N E =======================================