Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM.Z80.DE/PERSONAL/PCPM-86/PCPM 2.1-1/SRC/DSKMAINT.A86
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

4350 lines
301 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

DSKMAINT.LST Sourcer v7.00
PAGE 59,132
;==========================================================================
;== ==
;== DSKMAINT ==
;== ==
;== Created: ==
;== Code type: special ==
;== Passes: 9 Analysis Options on: QRSUX ==
;== ==
;==========================================================================
target EQU 'T3' ; Target assembler: TASM-3.0
; The following equates show data references outside the range of the program.
= 0000 data_1e equ 0 ; (0000:0000=60h)
= 013C data_2e equ 13Ch ; (0000:013C=0EF6Fh)
= 0150 data_3e equ 150h ; (0000:0150=73h)
= 7DFF data_4e equ 7DFFh ;*(0000:7DFF=15h)
= 0090 data_5e equ 90h ; (0040:0090=7)
= 0999 data_263e equ 999h ;*(8003:0999=0)
= 0006 data_264e equ 6 ; (F9F0:0006=3)
= 0007 data_265e equ 7 ; (F9F0:0007=3)
= 0020 data_266e equ 20h ; (F9F0:0020=0FBh)
= 0024 data_267e equ 24h ; (F9F0:0024=0FDh)
= 000E data_268e equ 0Eh ; (FFFF:000E=0FCh)
;------------------------------------------------------------ seg_a ----
seg_a segment byte public
assume cs:seg_a , ds:seg_a
3BE9:0000 C501 data_6 dw 0C501h ; Data table (indexed access)
; xref 3BE9:09B2, 09CD, 1029
3BE9:0002 02 data_7 db 2 ; Data table (indexed access)
; xref 3BE9:06A9, 08FF, 0FB6, 0FD0
3BE9:0003 00 00 C5 db 00h, 00h,0C5h
3BE9:0006 02 data_8 db 2 ; xref 3BE9:0A11
3BE9:0007 00 00 02 BD 04 db 00h, 00h, 02h,0BDh, 04h
3BE9:000C 0000 data_9 dw 0 ; xref 3BE9:0809
3BE9:000E BD data_10 db 0BDh ; xref 3BE9:080E
3BE9:000F 0004 data_11 dw 4 ; xref 3BE9:02E9, 051F, 0595, 0803
3BE9:0011 00 03 00 00 db 0, 3, 0, 0
3BE9:0015 0000 data_12 dw 0
3BE9:0017 80 02 FF FF 04 10 db 80h, 02h,0FFh,0FFh, 04h, 10h
3BE9:001D 00 00 00 db 00h, 00h, 00h
3BE9:0020 10 data_13 db 10h ; xref 3BE9:063A, 0644, 0668
3BE9:0021 00 db 0
3BE9:0022 00 00 db 0, 0
3BE9:0024 00 data_15 db 0 ; xref 3BE9:0621, 062E
3BE9:0025 00 00 00 db 0, 0, 0
3BE9:0028 0000 0000 data_16 dw 0, 0 ; xref 3BE9:0770, 08A2
3BE9:002C 0022[00] db 34 dup (0)
3BE9:004E 0000 data_17 dw 0 ; Data table (indexed access)
; xref 3BE9:0C46
3BE9:0050 00 00 00 00 db 0, 0, 0, 0
3BE9:0054 0000 data_18 dw 0 ; xref 3BE9:0C35
3BE9:0056 002A[00] db 42 dup (0)
3BE9:0080 E9 02 00 4B 0C FA db 0E9h, 02h, 00h, 4Bh, 0Ch,0FAh
3BE9:0086 8E 16 15 00 BC 00 db 8Eh, 16h, 15h, 00h,0BCh, 00h
3BE9:008C 01 FB 8C D8 8E C0 db 01h,0FBh, 8Ch,0D8h, 8Eh,0C0h
3BE9:0092 A3 B3 49 C6 06 00 db 0A3h,0B3h, 49h,0C6h, 06h, 00h
3BE9:0098 01 00 BE 5D 00 B1 db 01h, 00h,0BEh, 5Dh, 00h,0B1h
3BE9:009E 0A db 0Ah
3BE9:009F loc_1: ; xref 3BE9:00AB
3BE9:009F 3C 00 cmp al,0
3BE9:00A1 74 1E je loc_2 ; Jump if equal
3BE9:00A3 26: 8A 04 mov al,es:[si]
3BE9:00A6 46 inc si
3BE9:00A7 FE C9 dec cl
3BE9:00A9 3C 20 cmp al,20h ; ' '
3BE9:00AB 74 F2 je loc_1 ; Jump if equal
3BE9:00AD 24 DF and al,0DFh
3BE9:00AF 3C 4E cmp al,4Eh ; 'N'
3BE9:00B1 75 0E jne loc_2 ; Jump if not equal
3BE9:00B3 26: 8A 04 mov al,es:[si]
3BE9:00B6 24 DF and al,0DFh
3BE9:00B8 3C 56 cmp al,56h ; 'V'
3BE9:00BA 75 05 jne loc_2 ; Jump if not equal
3BE9:00BC C6 06 0100 FF mov byte ptr ds:[100h],0FFh ; (3BE9:0100=0FFh)
3BE9:00C1 loc_2: ; xref 3BE9:00A1, 00B1, 00BA
3BE9:00C1 E8 006C call sub_2 ; (0130)
3BE9:00C4 80 3E 0101 00 cmp byte ptr ds:[101h],0 ; (3BE9:0101=97h)
3BE9:00C9 74 0B je loc_3 ; Jump if equal
3BE9:00CB E8 0B71 call sub_64 ; (0C3F)
3BE9:00CE E8 0AC6 call sub_55 ; (0B97)
3BE9:00D1 E8 0B80 call sub_65 ; (0C54)
3BE9:00D4 EB 1C jmp short loc_4 ; (00F2)
3BE9:00D6 loc_3: ; xref 3BE9:00C9
3BE9:00D6 E8 0B36 call sub_63 ; (0C0F)
3BE9:00D9 E8 00DA call sub_3 ; (01B6)
3BE9:00DC B2 96 mov dl,96h
3BE9:00DE E8 0ABE call sub_56 ; (0B9F)
3BE9:00E1 E8 0AB3 call sub_55 ; (0B97)
3BE9:00E4 E8 0ABD call sub_57 ; (0BA4)
3BE9:00E7 E8 0ADA call sub_59 ; (0BC4)
3BE9:00EA E8 0B08 call sub_61 ; (0BF5)
3BE9:00ED B2 C8 mov dl,0C8h
3BE9:00EF E8 0AAD call sub_56 ; (0B9F)
3BE9:00F2 loc_4: ; xref 3BE9:00D4
3BE9:00F2 E8 0BC6 call sub_68 ; (0CBB)
3BE9:00F5 E8 08AD call sub_39 ; (09A5)
3BE9:00F8 loc_5: ; xref 3BE9:0107
3BE9:00F8 ,BE 0265 mov si,265h ; (3BE9:0265=0C2h)
3BE9:00FB E8 0913 call sub_42 ; (0A11)
3BE9:00FE D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0100 FF 97 01D7 call word ptr ds:[1D7h][bx] ;*(3BE9:01D7=0C704h)
3BE9:0104 E8 0A16 call sub_47 ; (0B1D)
3BE9:0107 EB EF jmp short loc_5 ; (00F8)
3BE9:0109 E8 A9 0B db 0E8h,0A9h, 0Bh
3BE9:010C loc_6: ; xref 3BE9:012E
3BE9:010C ,80 3E 0101 FF cmp byte ptr ds:[101h],0FFh ; (3BE9:0101=97h)
3BE9:0111 74 09 je loc_7 ; Jump if equal
3BE9:0113 E8 0AF0 call sub_62 ; (0C06)
3BE9:0116 E8 0ACC call sub_60 ; (0BE5)
3BE9:0119 E8 0A98 call sub_58 ; (0BB4)
3BE9:011C loc_7: ; xref 3BE9:0111
3BE9:011C 33 C9 xor cx,cx ; Zero register
3BE9:011E 33 D2 xor dx,dx ; Zero register
3BE9:0120 E9 0A2F jmp loc_92 ; (0B52)
3BE9:0123 loc_8: ; xref 3BE9:0BDA, 0C84
3BE9:0123 ,56 push si
3BE9:0124 ,BE 0103 mov si,103h ; (3BE9:0103=1)
3BE9:0127 E8 0A2B call sub_51 ; (0B55)
3BE9:012A 5E pop si
3BE9:012B E8 0A27 call sub_51 ; (0B55)
3BE9:012E EB DC jmp short loc_6 ; (010C)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00C1
;==========================================================================
3BE9:0130 sub_2 proc near
3BE9:0130 B9 000C mov cx,0Ch
3BE9:0133 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:0135 80 E4 0F and ah,0Fh
3BE9:0138 80 FC 00 cmp ah,0
3BE9:013B 74 30 je loc_10 ; Jump if equal
3BE9:013D 80 FC 04 cmp ah,4
3BE9:0140 74 05 je loc_9 ; Jump if equal
3BE9:0142 80 FC 06 cmp ah,6
3BE9:0145 75 61 jne loc_13 ; Jump if not equal
3BE9:0147 loc_9: ; xref 3BE9:0140
3BE9:0147 B9 00A3 mov cx,0A3h
3BE9:014A CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:014C 3D 1431 cmp ax,1431h
3BE9:014F 75 57 jne loc_13 ; Jump if not equal
3BE9:0151 06 push es
3BE9:0152 33 DB xor bx,bx ; Zero register
3BE9:0154 8E C3 mov es,bx
3BE9:0156 26: C4 1E 013C les bx,dword ptr es:data_2e ; (0000:013C=0EF6Fh) Load seg:offset p
3BE9:015B 26: 8A 1F mov bl,es:[bx]
3BE9:015E 07 pop es
3BE9:015F 80 E3 F0 and bl,0F0h
3BE9:0162 80 FB 50 cmp bl,50h ; 'P'
3BE9:0165 75 41 jne loc_13 ; Jump if not equal
3BE9:0167 C6 06 0101 00 mov byte ptr ds:[101h],0 ; (3BE9:0101=97h)
3BE9:016C C3 retn
3BE9:016D loc_10: ; xref 3BE9:013B
3BE9:016D C6 06 0101 FF mov byte ptr ds:[101h],0FFh ; (3BE9:0101=97h)
3BE9:0172 3C 41 cmp al,41h ; 'A'
3BE9:0174 77 28 ja loc_12 ; Jump if above
3BE9:0176 06 push es
3BE9:0177 33 DB xor bx,bx ; Zero register
3BE9:0179 8E C3 mov es,bx
3BE9:017B 26: C4 1E 013C les bx,dword ptr es:data_2e ; (0000:013C=0EF6Fh) Load seg:offset p
3BE9:0180 26: 8A 1F mov bl,es:[bx]
3BE9:0183 07 pop es
3BE9:0184 8A FB mov bh,bl
3BE9:0186 81 E3 F00F and bx,0F00Fh
3BE9:018A 80 FF 50 cmp bh,50h ; 'P'
3BE9:018D 75 0F jne loc_12 ; Jump if not equal
3BE9:018F C6 06 0102 00 mov byte ptr ds:[102h],0 ; (3BE9:0102=0D7h)
3BE9:0194 80 FB 09 cmp bl,9
3BE9:0197 74 04 je loc_ret_11 ; Jump if equal
3BE9:0199 FE 0E 0102 dec byte ptr ds:[102h] ; (3BE9:0102=0D7h)
3BE9:019D loc_ret_11: ; xref 3BE9:0197
3BE9:019D C3 retn
3BE9:019E loc_12: ; xref 3BE9:0174, 018D
3BE9:019E BA 0149 mov dx,149h
3BE9:01A1 B9 0009 mov cx,9
3BE9:01A4 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:01A6 EB 08 jmp short loc_14 ; (01B0)
3BE9:01A8 loc_13: ; xref 3BE9:0145, 014F, 0165
3BE9:01A8 BA 0109 mov dx,109h
3BE9:01AB B9 0009 mov cx,9
3BE9:01AE CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:01B0 loc_14: ; xref 3BE9:01A6
3BE9:01B0 33 C9 xor cx,cx ; Zero register
3BE9:01B2 33 D2 xor dx,dx ; Zero register
3BE9:01B4 CD E0 int 0E0h ; ??INT Non-standard interrupt
sub_2 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00D9
;==========================================================================
3BE9:01B6 sub_3 proc near
3BE9:01B6 1E push ds
3BE9:01B7 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:01BB A0 0C3A mov al,byte ptr ds:[0C3Ah] ; (3BE9:0C3A=0A3h)
3BE9:01BE 3C 31 cmp al,31h ; '1'
3BE9:01C0 1F pop ds
3BE9:01C1 75 01 jnz loc_15 ; Jump if not zero
3BE9:01C3 C3 retn
3BE9:01C4 loc_15: ; xref 3BE9:01C1
3BE9:01C4 BA 0198 mov dx,198h
3BE9:01C7 B9 0009 mov cx,9
3BE9:01CA CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:01CC 33 C9 xor cx,cx ; Zero register
3BE9:01CE 33 D2 xor dx,dx ; Zero register
3BE9:01D0 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:01D2 loc_16: ; xref 3BE9:0210, 0220
3BE9:01D2 ,C7 06 04BF 04EA mov word ptr ds:[4BFh],4EAh ; (3BE9:04BF=3CBBh)
3BE9:01D8 C7 06 03DD 044D mov word ptr ds:[3DDh],44Dh ; (3BE9:03DD=0E0D3h)
3BE9:01DE BE 03CB mov si,3CBh
3BE9:01E1 E8 0763 call sub_37 ; (0947)
3BE9:01E4 74 2C jz loc_ret_18 ; Jump if zero
3BE9:01E6 E8 0669 call sub_25 ; (0852)
3BE9:01E9 74 28 jz loc_19 ; Jump if zero
3BE9:01EB C7 06 03DD 0484 mov word ptr ds:[3DDh],484h ; (3BE9:03DD=0E0D3h)
3BE9:01F1 BE 03CB mov si,3CBh
3BE9:01F4 E8 0750 call sub_37 ; (0947)
3BE9:01F7 74 19 jz loc_ret_18 ; Jump if zero
3BE9:01F9 E8 0661 call sub_26 ; (085D)
3BE9:01FC 74 15 jz loc_19 ; Jump if zero
3BE9:01FE E8 0708 call sub_34 ; (0909)
3BE9:0201 75 05 jnz loc_17 ; Jump if not zero
3BE9:0203 BE 05F4 mov si,5F4h
3BE9:0206 EB 0E jmp short loc_20 ; (0216)
3BE9:0208 loc_17: ; xref 3BE9:0201
3BE9:0208 E8 06B5 call sub_31 ; (08C0)
3BE9:020B 75 05 jnz loc_ret_18 ; Jump if not zero
3BE9:020D E8 0012 call sub_4 ; (0222)
3BE9:0210 EB C0 jmp short loc_16 ; (01D2)
3BE9:0212 loc_ret_18: ; xref 3BE9:01E4, 01F7, 020B
3BE9:0212 C3 retn
3BE9:0213 loc_19: ; xref 3BE9:01E9, 01FC, 0338
3BE9:0213 ,BE 0638 mov si,638h
3BE9:0216 loc_20: ; xref 3BE9:0206
3BE9:0216 89 36 0634 mov word ptr ds:[634h],si ; (3BE9:0634=0A0BEh)
3BE9:021A ,BE 062A mov si,62Ah ; (3BE9:062A=9)
3BE9:021D E8 07F1 call sub_42 ; (0A11)
3BE9:0220 EB B0 jmp short loc_16 ; (01D2)
sub_3 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:020D
;==========================================================================
3BE9:0222 sub_4 proc near
3BE9:0222 E8 05B9 call sub_24 ; (07DE)
3BE9:0225 E8 0058 call sub_6 ; (0280)
3BE9:0228 C7 06 03BC 000A mov word ptr ds:[3BCh],0Ah ; (3BE9:03BC=931h)
3BE9:022E 8B 0E 03B2 mov cx,word ptr ds:[3B2h] ; (3BE9:03B2=0FB00h)
3BE9:0232 E8 06ED call sub_35 ; (0922)
3BE9:0235 locloop_21: ; xref 3BE9:026B
3BE9:0235 51 push cx
3BE9:0236 E8 057A call sub_22 ; (07B3)
3BE9:0239 8A 0E 03BA mov cl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:023D E8 04CC call sub_18 ; (070C)
3BE9:0240 50 push ax
3BE9:0241 74 2D jz loc_23 ; Jump if zero
3BE9:0243 E8 06E1 call sub_36 ; (0927)
3BE9:0246 E8 0582 call sub_23 ; (07CB)
3BE9:0249 8A 0E 03BB mov cl,byte ptr ds:[3BBh] ; (3BE9:03BB=6)
3BE9:024D E8 04C4 call sub_19 ; (0714)
3BE9:0250 74 1E jz loc_23 ; Jump if zero
3BE9:0252 E8 0576 call sub_23 ; (07CB)
3BE9:0255 8A 0E 03BB mov cl,byte ptr ds:[3BBh] ; (3BE9:03BB=6)
3BE9:0259 E8 04A8 call sub_17 ; (0704)
3BE9:025C 74 12 jz loc_23 ; Jump if zero
3BE9:025E 58 pop ax
3BE9:025F 3C 02 cmp al,2
3BE9:0261 74 0B je loc_22 ; Jump if equal
3BE9:0263 FF 06 03C2 inc word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:0267 E8 06B8 call sub_35 ; (0922)
3BE9:026A 59 pop cx
3BE9:026B E2 C8 loop locloop_21 ; Loop if cx > 0
3BE9:026D C3 retn
3BE9:026E loc_22: ; xref 3BE9:0261
3BE9:026E 59 pop cx
3BE9:026F C3 retn
3BE9:0270 loc_23: ; xref 3BE9:0241, 0250, 025C
3BE9:0270 59 pop cx
3BE9:0271 59 pop cx
sub_4 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:02DE
;==========================================================================
3BE9:0272 sub_5 proc near
3BE9:0272 loc_24: ; xref 3BE9:06F1
3BE9:0272 ,BE 0638 mov si,638h
3BE9:0275 89 36 0634 mov word ptr ds:[634h],si ; (3BE9:0634=0A0BEh)
3BE9:0279 ,BE 062A mov si,62Ah ; (3BE9:062A=9)
3BE9:027C E8 0792 call sub_42 ; (0A11)
3BE9:027F C3 retn
sub_5 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0225
;==========================================================================
3BE9:0280 sub_6 proc near
3BE9:0280 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
3BE9:0286 C3 retn
sub_6 endp
;* No entry point to code
3BE9:0287 C7 06 04BF 0513 mov word ptr ds:[4BFh],513h ; (3BE9:04BF=3CBBh)
3BE9:028D C6 06 0997 00 mov byte ptr ds:[997h],0 ; (3BE9:0997=75h)
3BE9:0292 EB 0B jmp short loc_25 ; (029F)
;* No entry point to code
3BE9:0294 C7 06 04BF 053C mov word ptr ds:[4BFh],53Ch ; (3BE9:04BF=3CBBh)
3BE9:029A C6 06 0997 FF mov byte ptr ds:[997h],0FFh ; (3BE9:0997=75h)
3BE9:029F loc_25: ; xref 3BE9:0292, 02E1, 0332
3BE9:029F ,C7 06 03DD 0416 mov word ptr ds:[3DDh],416h ; (3BE9:03DD=0E0D3h)
3BE9:02A5 BE 03CB mov si,3CBh
3BE9:02A8 E8 069C call sub_37 ; (0947)
3BE9:02AB 75 03 jnz loc_26 ; Jump if not zero
3BE9:02AD E9 008B jmp loc_33 ; (033B)
3BE9:02B0 loc_26: ; xref 3BE9:02AB
3BE9:02B0 E8 0222 call sub_9 ; (04D5)
3BE9:02B3 E8 059C call sub_25 ; (0852)
3BE9:02B6 74 7D jz loc_32 ; Jump if zero
3BE9:02B8 8A 1E 03BA mov bl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:02BC 80 C3 41 add bl,41h ; 'A'
3BE9:02BF 88 1E 075E mov byte ptr ds:[75Eh],bl ; (3BE9:075E=51h)
3BE9:02C3 88 1E 07C7 mov byte ptr ds:[7C7h],bl ; (3BE9:07C7=3)
3BE9:02C7 E8 0618 call sub_32 ; (08E2)
3BE9:02CA 75 6F jnz loc_33 ; Jump if not zero
3BE9:02CC ,06 push es
3BE9:02CD B8 F9F0 mov ax,0F9F0h
3BE9:02D0 8E C0 mov es,ax
3BE9:02D2 26: C6 06 0020 D0 mov byte ptr es:data_266e,0D0h ; (F9F0:0020=0FBh)
3BE9:02D8 E8 009A call sub_7 ; (0375)
3BE9:02DB 07 pop es
3BE9:02DC 74 05 jz loc_27 ; Jump if zero
3BE9:02DE E8 FF91 call sub_5 ; (0272)
3BE9:02E1 EB BC jmp short loc_25 ; (029F)
3BE9:02E3 loc_27: ; xref 3BE9:02DC
3BE9:02E3 A1 03B0 mov ax,word ptr ds:[3B0h] ; (3BE9:03B0=7A2h)
3BE9:02E6 A2 03C1 mov byte ptr ds:[3C1h],al ; (3BE9:03C1=2Eh)
3BE9:02E9 A1 000F mov ax,data_11 ; (3BE9:000F=4)
3BE9:02EC A3 03C8 mov word ptr ds:[3C8h],ax ; (3BE9:03C8=386h)
3BE9:02EF 33 C0 xor ax,ax ; Zero register
3BE9:02F1 A3 03C6 mov word ptr ds:[3C6h],ax ; (3BE9:03C6=0BB04h)
3BE9:02F4 80 3E 0100 FF cmp byte ptr ds:[100h],0FFh ; (3BE9:0100=0FFh)
3BE9:02F9 74 03 je loc_28 ; Jump if equal
3BE9:02FB E8 03B7 call sub_16 ; (06B5)
3BE9:02FE loc_28: ; xref 3BE9:02F9
3BE9:02FE C6 06 099A 00 mov byte ptr ds:[99Ah],0 ; (3BE9:099A=1Ch)
3BE9:0303 loc_29: ; xref 3BE9:0317, 0322
3BE9:0303 ,E8 02A3 call sub_13 ; (05A9)
3BE9:0306 3C 00 cmp al,0
3BE9:0308 74 1B je loc_30 ; Jump if equal
3BE9:030A 80 3E 099A 05 cmp byte ptr ds:[99Ah],5 ; (3BE9:099A=1Ch)
3BE9:030F 74 24 je loc_32 ; Jump if equal
3BE9:0311 FE 06 099A inc byte ptr ds:[99Ah] ; (3BE9:099A=1Ch)
3BE9:0315 3C FF cmp al,0FFh
3BE9:0317 75 EA jne loc_29 ; Jump if not equal
3BE9:0319 8A 0E 03BA mov cl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:031D B2 00 mov dl,0
3BE9:031F E8 0574 call sub_28 ; (0896)
3BE9:0322 E9 FFDE ;* jmp loc_29 ; (0303)
3BE9:0322 db 0E9h,0DEh,0FFh ; Fixup - byte match
3BE9:0325 loc_30: ; xref 3BE9:0308
3BE9:0325 80 3E 0997 00 cmp byte ptr ds:[997h],0 ; (3BE9:0997=75h)
3BE9:032A 74 03 je loc_31 ; Jump if equal
3BE9:032C E8 01E3 call sub_11 ; (0512)
3BE9:032F loc_31: ; xref 3BE9:032A
3BE9:032F E8 01C4 call sub_10 ; (04F6)
3BE9:0332 E9 FF6A jmp loc_25 ; (029F)
3BE9:0335 loc_32: ; xref 3BE9:02B6, 030F
3BE9:0335 E8 01BE call sub_10 ; (04F6)
3BE9:0338 E9 FED8 jmp loc_19 ; (0213)
3BE9:033B loc_33: ; xref 3BE9:02AD, 02CA
3BE9:033B E8 01B8 call sub_10 ; (04F6)
3BE9:033E C3 retn
;* No entry point to code
3BE9:033F 06 push es
3BE9:0340 55 push bp
3BE9:0341 8B EC mov bp,sp
3BE9:0343 C4 6E 04 les bp,dword ptr [bp+4] ; Load seg:offset ptr
3BE9:0346 26: 81 7E 00 A49B cmp word ptr es:[bp],0A49Bh
3BE9:034C 75 06 jne loc_34 ; Jump if not equal
3BE9:034E 8B EC mov bp,sp
3BE9:0350 83 46 04 05 add word ptr [bp+4],5
3BE9:0354 loc_34: ; xref 3BE9:034C
3BE9:0354 5D pop bp
3BE9:0355 50 push ax
3BE9:0356 B8 F9F0 mov ax,0F9F0h
3BE9:0359 8E C0 mov es,ax
3BE9:035B 26: A0 0020 mov al,es:data_266e ; (F9F0:0020=0FBh)
3BE9:035F 26: C6 06 0006 64 mov byte ptr es:data_264e,64h ; (F9F0:0006=3) 'd'
3BE9:0365 2E: 8E 06 02F3 mov es,word ptr cs:[2F3h] ; (3BE9:02F3=8003h)
3BE9:036A 26: C6 06 0999 01 mov byte ptr es:data_263e,1 ; (8003:0999=0)
3BE9:0370 58 pop ax
3BE9:0371 07 pop es
3BE9:0372 CF iret ; Interrupt return
3BE9:0373 00 00 db 0, 0
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:02D8
;==========================================================================
3BE9:0375 sub_7 proc near
3BE9:0375 06 push es
3BE9:0376 FA cli ; Disable interrupts
3BE9:0377 8C D8 mov ax,ds
3BE9:0379 2E: A3 02F3 mov word ptr cs:[2F3h],ax ; (3BE9:02F3=8003h)
3BE9:037D 33 C0 xor ax,ax ; Zero register
3BE9:037F 8E C0 mov es,ax
3BE9:0381 ,BB 0150 mov bx,data_3e ; (0000:0150=73h)
3BE9:0384 26: 8B 07 mov ax,es:[bx]
3BE9:0387 A3 099C mov word ptr ds:[99Ch],ax ; (3BE9:099C=346h)
3BE9:038A 26: 8B 47 02 mov ax,es:[bx+2]
3BE9:038E A3 099E mov word ptr ds:[99Eh],ax ; (3BE9:099E=0B8F0h)
3BE9:0391 B8 02BF mov ax,2BFh
3BE9:0394 26: 89 07 mov es:[bx],ax
3BE9:0397 26: 8C 4F 02 mov es:[bx+2],cs
3BE9:039B ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
3BE9:039E 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
3BE9:03A1 26: 8A 47 0B mov al,es:[bx+0Bh]
3BE9:03A5 A2 099B mov byte ptr ds:[99Bh],al ; (3BE9:099B=46h)
3BE9:03A8 B0 EF mov al,0EFh
3BE9:03AA BB F9F0 mov bx,0F9F0h
3BE9:03AD 8E C3 mov es,bx
3BE9:03AF 26: A2 0007 mov es:data_265e,al ; (F9F0:0007=3)
3BE9:03B3 FB sti ; Enable interrupts
3BE9:03B4 07 pop es
3BE9:03B5 C6 06 0993 01 mov byte ptr ds:[993h],1 ; (3BE9:0993=7)
3BE9:03BA C6 06 0931 00 mov byte ptr ds:[931h],0 ; (3BE9:0931=75h)
3BE9:03BF C6 06 092E 00 mov byte ptr ds:[92Eh],0 ; (3BE9:092E=6)
3BE9:03C4 E8 0417 call sub_24 ; (07DE)
3BE9:03C7 ,BB 0386 mov bx,386h ; (3BE9:0386=7)
3BE9:03CA 8B 47 0D mov ax,[bx+0Dh]
3BE9:03CD A2 0995 mov byte ptr ds:[995h],al ; (3BE9:0995=0E0h)
3BE9:03D0 8B 07 mov ax,[bx]
3BE9:03D2 D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:03D4 A2 0996 mov byte ptr ds:[996h],al ; (3BE9:0996=0BEh)
3BE9:03D7 B8 0080 mov ax,80h
3BE9:03DA 8A 4F 0F mov cl,[bx+0Fh]
3BE9:03DD D3 E0 shl ax,cl ; Shift w/zeros fill
3BE9:03DF B1 20 mov cl,20h ; ' '
3BE9:03E1 F6 F1 div cl ; al, ah rem = ax/reg
3BE9:03E3 8B 4F 07 mov cx,[bx+7]
3BE9:03E6 41 inc cx
3BE9:03E7 91 xchg cx,ax
3BE9:03E8 33 D2 xor dx,dx ; Zero register
3BE9:03EA F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:03EC A2 0994 mov byte ptr ds:[994h],al ; (3BE9:0994=0D1h)
3BE9:03EF C7 06 0857 089E mov word ptr ds:[857h],89Eh ; (3BE9:0857=0BA03h)
3BE9:03F5 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
3BE9:03FB B8 F9F0 mov ax,0F9F0h
3BE9:03FE 8E C0 mov es,ax
3BE9:0400 A0 03BA mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:0403 FE C0 inc al
3BE9:0405 0C 40 or al,40h ; '@'
3BE9:0407 26: A2 0024 mov es:data_267e,al ; (F9F0:0024=0FDh)
3BE9:040B 26: F6 06 0020 80 test byte ptr es:data_266e,80h ; (F9F0:0020=0FBh)
3BE9:0411 74 03 jz loc_35 ; Jump if zero
3BE9:0413 E9 007C jmpn loc_43 ; (0492)
3BE9:0416 loc_35: ; xref 3BE9:0411, 048F
3BE9:0416 ,E8 04CE call sub_33 ; (08E7)
3BE9:0419 loc_36: ; xref 3BE9:048C
3BE9:0419 ,FC cld ; Clear direction
3BE9:041A C6 06 0934 01 mov byte ptr ds:[934h],1 ; (3BE9:0934=36h)
3BE9:041F ,BF 09A0 mov di,9A0h ; (3BE9:09A0=0CDh)
3BE9:0422 1E push ds
3BE9:0423 07 pop es
3BE9:0424 ,BE 0914 mov si,914h ; (3BE9:0914=0B9h)
3BE9:0427 B2 05 mov dl,5
3BE9:0429 loc_37: ; xref 3BE9:0430
3BE9:0429 AD lodsw ; String [si] to ax
3BE9:042A 91 xchg cx,ax
3BE9:042B AC lodsb ; String [si] to al
3BE9:042C F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
3BE9:042E FE CA dec dl
3BE9:0430 75 F7 jnz loc_37 ; Jump if not zero
3BE9:0432 8A 36 0996 mov dh,byte ptr ds:[996h] ; (3BE9:0996=0BEh)
3BE9:0436 loc_38: ; xref 3BE9:044A
3BE9:0436 B2 0F mov dl,0Fh
3BE9:0438 ,BE 0923 mov si,923h ; (3BE9:0923=11h)
3BE9:043B loc_39: ; xref 3BE9:0442
3BE9:043B AD lodsw ; String [si] to ax
3BE9:043C 91 xchg cx,ax
3BE9:043D AC lodsb ; String [si] to al
3BE9:043E F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
3BE9:0440 FE CA dec dl
3BE9:0442 75 F7 jnz loc_39 ; Jump if not zero
3BE9:0444 FE 06 0934 inc byte ptr ds:[934h] ; (3BE9:0934=36h)
3BE9:0448 FE CE dec dh
3BE9:044A 75 EA jnz loc_38 ; Jump if not zero
3BE9:044C B9 09A0 mov cx,9A0h
3BE9:044F 81 C1 2000 add cx,2000h
3BE9:0453 2B CF sub cx,di
3BE9:0455 46 inc si
3BE9:0456 46 inc si
3BE9:0457 AC lodsb ; String [si] to al
3BE9:0458 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
3BE9:045A E8 0178 call sub_14 ; (05D5)
3BE9:045D 75 33 jnz loc_43 ; Jump if not zero
3BE9:045F 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
3BE9:0464 75 07 jne loc_40 ; Jump if not equal
3BE9:0466 C6 06 0931 01 mov byte ptr ds:[931h],1 ; (3BE9:0931=75h)
3BE9:046B EB 0D jmp short loc_41 ; (047A)
3BE9:046D loc_40: ; xref 3BE9:0464
3BE9:046D C6 06 0931 00 mov byte ptr ds:[931h],0 ; (3BE9:0931=75h)
3BE9:0472 FE 06 092E inc byte ptr ds:[92Eh] ; (3BE9:092E=6)
3BE9:0476 FF 06 03C2 inc word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:047A loc_41: ; xref 3BE9:046B
3BE9:047A 33 C0 xor ax,ax ; Zero register
3BE9:047C A0 092E mov al,byte ptr ds:[92Eh] ; (3BE9:092E=6)
3BE9:047F 3B 06 03AE cmp ax,word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
3BE9:0483 77 1B ja loc_44 ; Jump if above
3BE9:0485 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
3BE9:048A 74 03 je loc_42 ; Jump if equal
3BE9:048C E9 FF8A ;* jmp loc_36 ; (0419)
3BE9:048C db 0E9h, 8Ah,0FFh ; Fixup - byte match
3BE9:048F loc_42: ; xref 3BE9:048A
3BE9:048F E9 FF84 ;* jmp loc_35 ; (0416)
3BE9:048F db 0E9h, 84h,0FFh ; Fixup - byte match
3BE9:0492 loc_43: ; xref 3BE9:0413, 045D
3BE9:0492 26: 80 26 0024 40 and byte ptr es:data_267e,40h ; (F9F0:0024=0FDh) '@'
3BE9:0498 E8 000B call sub_8 ; (04A6)
3BE9:049B B0 01 mov al,1
3BE9:049D 0A C0 or al,al ; Zero ?
3BE9:049F C3 retn
3BE9:04A0 loc_44: ; xref 3BE9:0483
3BE9:04A0 E8 0003 call sub_8 ; (04A6)
3BE9:04A3 33 C0 xor ax,ax ; Zero register
3BE9:04A5 C3 retn
sub_7 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0498, 04A0
;==========================================================================
3BE9:04A6 sub_8 proc near
3BE9:04A6 06 push es
3BE9:04A7 FA cli ; Disable interrupts
3BE9:04A8 33 C0 xor ax,ax ; Zero register
3BE9:04AA 8E C0 mov es,ax
3BE9:04AC A1 099C mov ax,word ptr ds:[99Ch] ; (3BE9:099C=346h)
3BE9:04AF ,BB 0150 mov bx,data_3e ; (0000:0150=73h)
3BE9:04B2 26: 89 07 mov es:[bx],ax
3BE9:04B5 A1 099E mov ax,word ptr ds:[99Eh] ; (3BE9:099E=0B8F0h)
3BE9:04B8 26: 89 47 02 mov es:[bx+2],ax
3BE9:04BC A0 099B mov al,byte ptr ds:[99Bh] ; (3BE9:099B=46h)
3BE9:04BF ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
3BE9:04C2 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
3BE9:04C5 26: 88 47 0B mov es:[bx+0Bh],al
3BE9:04C9 BB F9F0 mov bx,0F9F0h
3BE9:04CC 8E C3 mov es,bx
3BE9:04CE 26: A2 0007 mov es:data_265e,al ; (F9F0:0007=3)
3BE9:04D2 FB sti ; Enable interrupts
3BE9:04D3 07 pop es
3BE9:04D4 C3 retn
sub_8 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:02B0
;==========================================================================
3BE9:04D5 sub_9 proc near
3BE9:04D5 06 push es
3BE9:04D6 53 push bx
3BE9:04D7 50 push ax
3BE9:04D8 9C pushf ; Push flags
3BE9:04D9 FA cli ; Disable interrupts
3BE9:04DA 33 DB xor bx,bx ; Zero register
3BE9:04DC 8E C3 mov es,bx
3BE9:04DE ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
3BE9:04E1 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
3BE9:04E4 26: 8A 67 0F mov ah,es:[bx+0Fh]
3BE9:04E8 88 26 03CA mov byte ptr ds:[3CAh],ah ; (3BE9:03CA=8Bh)
3BE9:04EC 26: C6 47 0F FF mov byte ptr es:[bx+0Fh],0FFh
3BE9:04F1 9D popf ; Pop flags
3BE9:04F2 58 pop ax
3BE9:04F3 5B pop bx
3BE9:04F4 07 pop es
3BE9:04F5 C3 retn
sub_9 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:032F, 0335, 033B
;==========================================================================
3BE9:04F6 sub_10 proc near
3BE9:04F6 06 push es
3BE9:04F7 53 push bx
3BE9:04F8 50 push ax
3BE9:04F9 9C pushf ; Push flags
3BE9:04FA FA cli ; Disable interrupts
3BE9:04FB 33 DB xor bx,bx ; Zero register
3BE9:04FD 8E C3 mov es,bx
3BE9:04FF ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
3BE9:0502 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
3BE9:0505 8A 26 03CA mov ah,byte ptr ds:[3CAh] ; (3BE9:03CA=8Bh)
3BE9:0509 26: 88 67 0F mov es:[bx+0Fh],ah
3BE9:050D 9D popf ; Pop flags
3BE9:050E 58 pop ax
3BE9:050F 5B pop bx
3BE9:0510 07 pop es
3BE9:0511 C3 retn
sub_10 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:032C
;==========================================================================
3BE9:0512 sub_11 proc near
3BE9:0512 E8 007E call sub_12 ; (0593)
3BE9:0515 A0 0995 mov al,byte ptr ds:[995h] ; (3BE9:0995=0E0h)
3BE9:0518 2A E4 sub ah,ah
3BE9:051A A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
3BE9:051D 8C C5 mov bp,es
3BE9:051F 8E 06 000F mov es,data_11 ; (3BE9:000F=4)
3BE9:0523 B9 0020 mov cx,20h
3BE9:0526 33 FF xor di,di ; Zero register
3BE9:0528 ,BE 0953 mov si,953h ; (3BE9:0953=34h)
3BE9:052B F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:052D loc_45: ; xref 3BE9:0590
3BE9:052D A1 03A8 mov ax,word ptr ds:[3A8h] ; (3BE9:03A8=0EFB0h)
3BE9:0530 99 cwd ; Word to double word
3BE9:0531 2A FF sub bh,bh
3BE9:0533 B3 20 mov bl,20h ; ' '
3BE9:0535 33 D2 xor dx,dx ; Zero register
3BE9:0537 F7 F3 div bx ; ax,dx rem=dx:ax/reg
3BE9:0539 D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:053B D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:053D 91 xchg cx,ax
3BE9:053E 33 FF xor di,di ; Zero register
3BE9:0540 locloop_46: ; xref 3BE9:054D
3BE9:0540 51 push cx
3BE9:0541 83 C7 60 add di,60h
3BE9:0544 B9 0020 mov cx,20h
3BE9:0547 ,BE 0973 mov si,973h ; (3BE9:0973=47h)
3BE9:054A F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:054C 59 pop cx
3BE9:054D E2 F1 loop locloop_46 ; Loop if cx > 0
3BE9:054F 8C 06 03C8 mov word ptr ds:[3C8h],es ; (3BE9:03C8=386h)
3BE9:0553 8E C5 mov es,bp
3BE9:0555 C7 06 03C6 0000 mov word ptr ds:[3C6h],0 ; (3BE9:03C6=0BB04h)
3BE9:055B C7 06 03C4 0000 mov word ptr ds:[3C4h],0 ; (3BE9:03C4=17E8h)
3BE9:0561 C7 06 03BC 000B mov word ptr ds:[3BCh],0Bh ; (3BE9:03BC=931h)
3BE9:0567 2A E4 sub ah,ah
3BE9:0569 A0 0994 mov al,byte ptr ds:[994h] ; (3BE9:0994=0D1h)
3BE9:056C 2B 06 03B0 sub ax,word ptr ds:[3B0h] ; (3BE9:03B0=7A2h)
3BE9:0570 8B 1E 03B0 mov bx,word ptr ds:[3B0h] ; (3BE9:03B0=7A2h)
3BE9:0574 88 1E 03C1 mov byte ptr ds:[3C1h],bl ; (3BE9:03C1=2Eh)
3BE9:0578 77 08 ja loc_47 ; Jump if above
3BE9:057A A0 0994 mov al,byte ptr ds:[994h] ; (3BE9:0994=0D1h)
3BE9:057D A2 03C1 mov byte ptr ds:[3C1h],al ; (3BE9:03C1=2Eh)
3BE9:0580 2A C0 sub al,al
3BE9:0582 loc_47: ; xref 3BE9:0578
3BE9:0582 A2 0994 mov byte ptr ds:[994h],al ; (3BE9:0994=0D1h)
3BE9:0585 E8 01BE call sub_20 ; (0746)
3BE9:0588 E8 0008 call sub_12 ; (0593)
3BE9:058B A0 0994 mov al,byte ptr ds:[994h] ; (3BE9:0994=0D1h)
3BE9:058E 0A C0 or al,al ; Zero ?
3BE9:0590 75 9B jnz loc_45 ; Jump if not zero
3BE9:0592 C3 retn
sub_11 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0512, 0588
;==========================================================================
3BE9:0593 sub_12 proc near
3BE9:0593 8C C5 mov bp,es
3BE9:0595 8E 06 000F mov es,data_11 ; (3BE9:000F=4)
3BE9:0599 33 FF xor di,di ; Zero register
3BE9:059B 8B 0E 03A8 mov cx,word ptr ds:[3A8h] ; (3BE9:03A8=0EFB0h)
3BE9:059F D1 E9 shr cx,1 ; Shift w/zeros fill
3BE9:05A1 B8 E5E5 mov ax,0E5E5h
3BE9:05A4 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di]
3BE9:05A6 8E C5 mov es,bp
3BE9:05A8 C3 retn
sub_12 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0303
;==========================================================================
3BE9:05A9 sub_13 proc near
3BE9:05A9 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
3BE9:05AF C7 06 03C4 0000 mov word ptr ds:[3C4h],0 ; (3BE9:03C4=17E8h)
3BE9:05B5 C7 06 03C6 0C4B mov word ptr ds:[3C6h],0C4Bh ; (3BE9:03C6=0BB04h)
3BE9:05BB 8C 0E 03C8 mov word ptr ds:[3C8h],cs ; (3BE9:03C8=386h)
3BE9:05BF C7 06 03BC 000B mov word ptr ds:[3BCh],0Bh ; (3BE9:03BC=931h)
3BE9:05C5 A0 03BA mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:05C8 A2 03BE mov byte ptr ds:[3BEh],al ; (3BE9:03BE=0)
3BE9:05CB B8 0010 mov ax,10h
3BE9:05CE A2 03C1 mov byte ptr ds:[3C1h],al ; (3BE9:03C1=2Eh)
3BE9:05D1 E8 0172 call sub_20 ; (0746)
3BE9:05D4 C3 retn
sub_13 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:045A
;==========================================================================
3BE9:05D5 sub_14 proc near
3BE9:05D5 B8 F9F0 mov ax,0F9F0h
3BE9:05D8 8E C0 mov es,ax
3BE9:05DA 26: F6 06 0020 01 test byte ptr es:data_266e,1 ; (F9F0:0020=0FBh)
3BE9:05E0 74 05 jz loc_49 ; Jump if zero
3BE9:05E2 loc_48: ; xref 3BE9:064C
3BE9:05E2 B0 01 mov al,1
3BE9:05E4 0A C0 or al,al ; Zero ?
3BE9:05E6 C3 retn
3BE9:05E7 loc_49: ; xref 3BE9:05E0
3BE9:05E7 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
3BE9:05EC 9C pushf ; Push flags
3BE9:05ED 80 3E 092E 00 cmp byte ptr ds:[92Eh],0 ; (3BE9:092E=6)
3BE9:05F2 75 19 jne loc_50 ; Jump if not equal
3BE9:05F4 9D popf ; Pop flags
3BE9:05F5 75 1E jnz loc_51 ; Jump if not zero
3BE9:05F7 B2 48 mov dl,48h ; 'H'
3BE9:05F9 E8 0067 call sub_15 ; (0663)
3BE9:05FC B2 48 mov dl,48h ; 'H'
3BE9:05FE E8 0062 call sub_15 ; (0663)
3BE9:0601 B2 48 mov dl,48h ; 'H'
3BE9:0603 E8 005D call sub_15 ; (0663)
3BE9:0606 B2 08 mov dl,8
3BE9:0608 E8 0058 call sub_15 ; (0663)
3BE9:060B EB 08 jmp short loc_51 ; (0615)
3BE9:060D loc_50: ; xref 3BE9:05F2
3BE9:060D 9D popf ; Pop flags
3BE9:060E 75 05 jnz loc_51 ; Jump if not zero
3BE9:0610 B2 48 mov dl,48h ; 'H'
3BE9:0612 E8 004E call sub_15 ; (0663)
3BE9:0615 loc_51: ; xref 3BE9:05F5, 060B, 060E
3BE9:0615 B2 F0 mov dl,0F0h
3BE9:0617 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
3BE9:061C 74 03 je loc_52 ; Jump if equal
3BE9:061E 80 CA 02 or dl,2
3BE9:0621 loc_52: ; xref 3BE9:061C
3BE9:0621 26: 80 26 0024 EF and es:data_15,0EFh ; (3BE9:0024=0)
3BE9:0627 80 3E 092E 20 cmp byte ptr ds:[92Eh],20h ; (3BE9:092E=6) ' '
3BE9:062C 72 06 jb loc_53 ; Jump if below
3BE9:062E 26: 80 0E 0024 10 or es:data_15,10h ; (3BE9:0024=0)
3BE9:0634 loc_53: ; xref 3BE9:062C
3BE9:0634 BE 09A0 mov si,9A0h
3BE9:0637 BF 0023 mov di,23h
3BE9:063A 26: 88 16 0020 mov es:data_13,dl ; (3BE9:0020=10h)
3BE9:063F B9 FFFF mov cx,0FFFFh
3BE9:0642 8B D9 mov bx,cx
3BE9:0644 locloop_54: ; xref 3BE9:064A
3BE9:0644 26: A0 0020 mov al,es:data_13 ; (3BE9:0020=10h)
3BE9:0648 A8 01 test al,1
3BE9:064A E1 F8 loopz locloop_54 ; Loop if zf=1, cx>0
3BE9:064C E3 94 jcxz loc_48 ; Jump if cx=0
3BE9:064E 8B CB mov cx,bx
3BE9:0650 9B A4 4F E2 FB 26 db 9Bh,0A4h, 4Fh,0E2h,0FBh, 26h
3BE9:0656 A0 20 00 A8 40 74 db 0A0h, 20h, 00h,0A8h, 40h, 74h
3BE9:065C 03 0A C0 C3 33 C0 db 03h, 0Ah,0C0h,0C3h, 33h,0C0h
3BE9:0662 C3 db 0C3h
sub_14 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:05F9, 05FE, 0603, 0608, 0612
;==========================================================================
3BE9:0663 sub_15 proc near
3BE9:0663 C6 06 0999 00 mov byte ptr ds:[999h],0 ; (3BE9:0999=89h)
3BE9:0668 26: 88 16 0020 mov es:data_13,dl ; (3BE9:0020=10h)
3BE9:066D loc_55: ; xref 3BE9:0672
3BE9:066D A0 0999 mov al,byte ptr ds:[999h] ; (3BE9:0999=89h)
3BE9:0670 0A C0 or al,al ; Zero ?
3BE9:0672 74 F9 jz loc_55 ; Jump if zero
3BE9:0674 C3 retn
sub_15 endp
3BE9:0675 loc_56: ; xref 3BE9:06B2, 0701
3BE9:0675 ,C7 06 04BF 04C1 mov word ptr ds:[4BFh],4C1h ; (3BE9:04BF=3CBBh)
3BE9:067B C7 06 03DD 03DF mov word ptr ds:[3DDh],3DFh ; (3BE9:03DD=0E0D3h)
3BE9:0681 BE 03CB mov si,3CBh
3BE9:0684 E8 02C0 call sub_37 ; (0947)
3BE9:0687 74 2B jz loc_ret_58 ; Jump if zero
3BE9:0689 E8 01C6 call sub_25 ; (0852)
3BE9:068C 75 03 jnz loc_57 ; Jump if not zero
3BE9:068E E9 0063 jmpn loc_62 ; (06F4)
3BE9:0691 loc_57: ; xref 3BE9:068C
3BE9:0691 E8 014A call sub_24 ; (07DE)
3BE9:0694 E8 011C call sub_22 ; (07B3)
3BE9:0697 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
3BE9:069D E8 047D call sub_47 ; (0B1D)
3BE9:06A0 A0 075E mov al,byte ptr ds:[75Eh] ; (3BE9:075E=51h)
3BE9:06A3 A2 08DE mov byte ptr ds:[8DEh],al ; (3BE9:08DE=3Ch)
3BE9:06A6 ,BE 08B1 mov si,8B1h ; (3BE9:08B1=1Eh)
3BE9:06A9 ,BB 0002 mov bx,offset data_7 ; (3BE9:0002=2)
3BE9:06AC E8 0391 call sub_44 ; (0A40)
3BE9:06AF E8 0003 call sub_16 ; (06B5)
3BE9:06B2 EB C1 jmp short loc_56 ; (0675)
3BE9:06B4 loc_ret_58: ; xref 3BE9:0687
3BE9:06B4 C3 retn
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:02FB, 06AF
;==========================================================================
3BE9:06B5 sub_16 proc near
3BE9:06B5 33 C0 xor ax,ax ; Zero register
3BE9:06B7 A3 03B8 mov word ptr ds:[3B8h],ax ; (3BE9:03B8=109h)
3BE9:06BA A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
3BE9:06BD B8 000A mov ax,0Ah
3BE9:06C0 A3 03BC mov word ptr ds:[3BCh],ax ; (3BE9:03BC=931h)
3BE9:06C3 8A 0E 03BA mov cl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:06C7 88 0E 03BE mov byte ptr ds:[3BEh],cl ; (3BE9:03BE=0)
3BE9:06CB E8 01DB call sub_29 ; (08A9)
3BE9:06CE 74 21 jz loc_61 ; Jump if zero
3BE9:06D0 BE 088B mov si,88Bh
3BE9:06D3 89 36 0857 mov word ptr ds:[857h],si ; (3BE9:0857=0BA03h)
3BE9:06D7 loc_59: ; xref 3BE9:06EE
3BE9:06D7 ,E8 020D call sub_33 ; (08E7)
3BE9:06DA E8 0069 call sub_20 ; (0746)
3BE9:06DD 0A C0 or al,al ; Zero ?
3BE9:06DF 75 10 jnz loc_61 ; Jump if not zero
3BE9:06E1 A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:06E4 40 inc ax
3BE9:06E5 3B 06 03AE cmp ax,word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
3BE9:06E9 77 05 ja loc_ret_60 ; Jump if above
3BE9:06EB A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
3BE9:06EE EB E7 jmp short loc_59 ; (06D7)
3BE9:06F0 loc_ret_60: ; xref 3BE9:06E9
3BE9:06F0 C3 retn
3BE9:06F1 loc_61: ; xref 3BE9:06CE, 06DF
3BE9:06F1 E9 FB7E jmp loc_24 ; (0272)
sub_16 endp
3BE9:06F4 loc_62: ; xref 3BE9:068E
3BE9:06F4 BE 0638 mov si,638h
3BE9:06F7 89 36 0634 mov word ptr ds:[634h],si ; (3BE9:0634=0A0BEh)
3BE9:06FB ,BE 062A mov si,62Ah ; (3BE9:062A=9)
3BE9:06FE E8 0310 call sub_42 ; (0A11)
3BE9:0701 E9 FF71 jmp loc_56 ; (0675)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0259
;==========================================================================
3BE9:0704 sub_17 proc near
3BE9:0704 B8 000A mov ax,0Ah
3BE9:0707 BE 088B mov si,88Bh
3BE9:070A EB 0E jmp short loc_63 ; (071A)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:023D
3BE9:070C sub_18:
3BE9:070C B8 000A mov ax,0Ah
3BE9:070F BE 0865 mov si,865h
3BE9:0712 EB 06 jmp short loc_63 ; (071A)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:024D
3BE9:0714 sub_19:
3BE9:0714 B8 000B mov ax,0Bh
3BE9:0717 ,BE 0878 mov si,878h ; (3BE9:0878=26h)
3BE9:071A loc_63: ; xref 3BE9:070A, 0712
3BE9:071A C7 06 03B4 0000 mov word ptr ds:[3B4h],0 ; (3BE9:03B4=0C607h)
3BE9:0720 A3 03BC mov word ptr ds:[3BCh],ax ; (3BE9:03BC=931h)
3BE9:0723 89 36 0857 mov word ptr ds:[857h],si ; (3BE9:0857=0BA03h)
3BE9:0727 88 0E 03BE mov byte ptr ds:[3BEh],cl ; (3BE9:03BE=0)
3BE9:072B E8 017B call sub_29 ; (08A9)
3BE9:072E 74 10 jz loc_65 ; Jump if zero
3BE9:0730 loc_64: ; xref 3BE9:073D
3BE9:0730 E8 01B4 call sub_33 ; (08E7)
3BE9:0733 E8 0010 call sub_20 ; (0746)
3BE9:0736 0A C0 or al,al ; Zero ?
3BE9:0738 75 06 jnz loc_65 ; Jump if not zero
3BE9:073A E8 003D call sub_21 ; (077A)
3BE9:073D 74 F1 jz loc_64 ; Jump if zero
3BE9:073F C3 retn
3BE9:0740 loc_65: ; xref 3BE9:072E, 0738
3BE9:0740 BE 062A mov si,62Ah
3BE9:0743 32 C0 xor al,al ; Zero register
3BE9:0745 C3 retn
sub_17 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0585, 05D1, 06DA, 0733
;==========================================================================
3BE9:0746 sub_20 proc near
3BE9:0746 06 push es
3BE9:0747 1E push ds
3BE9:0748 8E 06 4AFC mov es,data_251 ; (3BE9:4AFC=0)
3BE9:074C 8A 0E 03BE mov cl,byte ptr ds:[3BEh] ; (3BE9:03BE=0)
3BE9:0750 8A 2E 03C1 mov ch,byte ptr ds:[3C1h] ; (3BE9:03C1=2Eh)
3BE9:0754 51 push cx
3BE9:0755 8B 0E 03C2 mov cx,word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:0759 51 push cx
3BE9:075A 8B 0E 03C4 mov cx,word ptr ds:[3C4h] ; (3BE9:03C4=17E8h)
3BE9:075E 51 push cx
3BE9:075F 8B 0E 03C8 mov cx,word ptr ds:[3C8h] ; (3BE9:03C8=386h)
3BE9:0763 51 push cx
3BE9:0764 8B 0E 03C6 mov cx,word ptr ds:[3C6h] ; (3BE9:03C6=0BB04h)
3BE9:0768 51 push cx
3BE9:0769 A1 03BC mov ax,word ptr ds:[3BCh] ; (3BE9:03BC=931h)
3BE9:076C 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:0770 FF 1E 0028 call dword ptr data_16 ; (3BE9:0028=0)
3BE9:0774 83 C4 0A add sp,0Ah
3BE9:0777 1F pop ds
3BE9:0778 07 pop es
3BE9:0779 C3 retn
sub_20 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:073A
;==========================================================================
3BE9:077A sub_21 proc near
3BE9:077A A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:077D 40 inc ax
3BE9:077E 3B 06 03AE cmp ax,word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
3BE9:0782 77 2C ja loc_67 ; Jump if above
3BE9:0784 8B D8 mov bx,ax
3BE9:0786 C7 06 03C6 0000 mov word ptr ds:[3C6h],0 ; (3BE9:03C6=0BB04h)
3BE9:078C A1 03C8 mov ax,word ptr ds:[3C8h] ; (3BE9:03C8=386h)
3BE9:078F 03 06 03AA add ax,word ptr ds:[3AAh] ; (3BE9:03AA=0F0BBh)
3BE9:0793 8B C8 mov cx,ax
3BE9:0795 A1 03B4 mov ax,word ptr ds:[3B4h] ; (3BE9:03B4=0C607h)
3BE9:0798 40 inc ax
3BE9:0799 3B 06 03AC cmp ax,word ptr ds:[3ACh] ; (3BE9:03AC=8EF9h)
3BE9:079D 77 0E ja loc_66 ; Jump if above
3BE9:079F A3 03B4 mov word ptr ds:[3B4h],ax ; (3BE9:03B4=0C607h)
3BE9:07A2 89 0E 03C8 mov word ptr ds:[3C8h],cx ; (3BE9:03C8=386h)
3BE9:07A6 89 1E 03C2 mov word ptr ds:[3C2h],bx ; (3BE9:03C2=9)
3BE9:07AA 32 C0 xor al,al ; Zero register
3BE9:07AC C3 retn
3BE9:07AD loc_66: ; xref 3BE9:079D
3BE9:07AD B0 01 mov al,1
3BE9:07AF C3 retn
3BE9:07B0 loc_67: ; xref 3BE9:0782
3BE9:07B0 B0 02 mov al,2
3BE9:07B2 C3 retn
sub_21 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0236, 0694
;==========================================================================
3BE9:07B3 sub_22 proc near
3BE9:07B3 33 C0 xor ax,ax ; Zero register
3BE9:07B5 A3 03C6 mov word ptr ds:[3C6h],ax ; (3BE9:03C6=0BB04h)
3BE9:07B8 A1 03B6 mov ax,word ptr ds:[3B6h] ; (3BE9:03B6=9306h)
3BE9:07BB A3 03C8 mov word ptr ds:[3C8h],ax ; (3BE9:03C8=386h)
3BE9:07BE A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:07C1 A3 03B8 mov word ptr ds:[3B8h],ax ; (3BE9:03B8=109h)
3BE9:07C4 C7 06 03B4 0000 mov word ptr ds:[3B4h],0 ; (3BE9:03B4=0C607h)
3BE9:07CA C3 retn
sub_22 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0246, 0252
;==========================================================================
3BE9:07CB sub_23 proc near
3BE9:07CB A1 03B8 mov ax,word ptr ds:[3B8h] ; (3BE9:03B8=109h)
3BE9:07CE A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
3BE9:07D1 A1 03B6 mov ax,word ptr ds:[3B6h] ; (3BE9:03B6=9306h)
3BE9:07D4 A3 03C8 mov word ptr ds:[3C8h],ax ; (3BE9:03C8=386h)
3BE9:07D7 C7 06 03B4 0000 mov word ptr ds:[3B4h],0 ; (3BE9:03B4=0C607h)
3BE9:07DD C3 retn
sub_23 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0222, 03C4, 0691
;==========================================================================
3BE9:07DE sub_24 proc near
3BE9:07DE ,BB 0386 mov bx,386h ; (3BE9:0386=7)
3BE9:07E1 B8 0080 mov ax,80h
3BE9:07E4 8A 4F 0F mov cl,[bx+0Fh]
3BE9:07E7 D3 E0 shl ax,cl ; Shift w/zeros fill
3BE9:07E9 8B 0F mov cx,[bx]
3BE9:07EB 89 0E 03B0 mov word ptr ds:[3B0h],cx ; (3BE9:03B0=7A2h)
3BE9:07EF 88 0E 03C1 mov byte ptr ds:[3C1h],cl ; (3BE9:03C1=2Eh)
3BE9:07F3 F7 E1 mul cx ; dx:ax = reg * ax
3BE9:07F5 A3 03A8 mov word ptr ds:[3A8h],ax ; (3BE9:03A8=0EFB0h)
3BE9:07F8 D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:07FA D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:07FC D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:07FE D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:0800 A3 03AA mov word ptr ds:[3AAh],ax ; (3BE9:03AA=0F0BBh)
3BE9:0803 A1 000F mov ax,data_11 ; (3BE9:000F=4)
3BE9:0806 A3 03B6 mov word ptr ds:[3B6h],ax ; (3BE9:03B6=9306h)
3BE9:0809 A1 000C mov ax,data_9 ; (3BE9:000C=0)
3BE9:080C 33 D2 xor dx,dx ; Zero register
3BE9:080E 8A 16 000E mov dl,data_10 ; (3BE9:000E=0BDh)
3BE9:0812 F7 36 03A8 div word ptr ds:[3A8h] ; (3BE9:03A8=0EFB0h) ax,dxrem=dx:ax/da
3BE9:0816 48 dec ax
3BE9:0817 A3 03AC mov word ptr ds:[3ACh],ax ; (3BE9:03AC=8EF9h)
3BE9:081A 33 C0 xor ax,ax ; Zero register
3BE9:081C 33 D2 xor dx,dx ; Zero register
3BE9:081E 33 C9 xor cx,cx ; Zero register
3BE9:0820 8B 47 05 mov ax,[bx+5]
3BE9:0823 40 inc ax
3BE9:0824 8A 4F 03 mov cl,[bx+3]
3BE9:0827 FE C1 inc cl
3BE9:0829 F7 E1 mul cx ; dx:ax = reg * ax
3BE9:082B 50 push ax
3BE9:082C 8A 4F 0F mov cl,[bx+0Fh]
3BE9:082F B8 0001 mov ax,1
3BE9:0832 D2 E0 shl al,cl ; Shift w/zeros fill
3BE9:0834 8B 0F mov cx,[bx]
3BE9:0836 33 D2 xor dx,dx ; Zero register
3BE9:0838 F7 E1 mul cx ; dx:ax = reg * ax
3BE9:083A 59 pop cx
3BE9:083B 91 xchg cx,ax
3BE9:083C F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:083E A3 03AE mov word ptr ds:[3AEh],ax ; (3BE9:03AE=26C3h)
3BE9:0841 8B 47 0D mov ax,[bx+0Dh]
3BE9:0844 A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
3BE9:0847 FF 06 03AE inc word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
3BE9:084B B8 0000 mov ax,0
3BE9:084E A3 03C4 mov word ptr ds:[3C4h],ax ; (3BE9:03C4=17E8h)
3BE9:0851 C3 retn
sub_24 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01E6, 02B3, 0689
;==========================================================================
3BE9:0852 sub_25 proc near
3BE9:0852 BE 06E6 mov si,6E6h
3BE9:0855 BF 0386 mov di,386h
3BE9:0858 BA 03BA mov dx,3BAh
3BE9:085B EB 09 jmp short loc_68 ; (0866)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:01F9
3BE9:085D sub_26:
3BE9:085D ,BE 0716 mov si,716h ; (3BE9:0716=0)
3BE9:0860 ,BF 0397 mov di,397h ; (3BE9:0397=26h)
3BE9:0863 BA 03BB mov dx,3BBh
3BE9:0866 loc_68: ; xref 3BE9:085B
3BE9:0866 32 FF xor bh,bh ; Zero register
3BE9:0868 8A 87 0382 mov al,byte ptr ds:[382h][bx] ; (3BE9:0382=50h)
3BE9:086C 87 DA xchg bx,dx
3BE9:086E 88 07 mov [bx],al
3BE9:0870 8A E0 mov ah,al
3BE9:0872 80 C4 41 add ah,41h ; 'A'
3BE9:0875 88 24 mov [si],ah
3BE9:0877 88 26 075E mov byte ptr ds:[75Eh],ah ; (3BE9:075E=51h)
3BE9:087B 8A C8 mov cl,al
3BE9:087D E8 0001 call sub_27 ; (0881)
3BE9:0880 C3 retn
sub_25 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:087D
;==========================================================================
3BE9:0881 sub_27 proc near
3BE9:0881 57 push di
3BE9:0882 B2 00 mov dl,0
3BE9:0884 E8 000F call sub_28 ; (0896)
3BE9:0887 5F pop di
3BE9:0888 0B C0 or ax,ax ; Zero ?
3BE9:088A 74 09 jz loc_ret_69 ; Jump if zero
3BE9:088C 06 push es
3BE9:088D 8C D8 mov ax,ds
3BE9:088F 8E C0 mov es,ax
3BE9:0891 E8 001D call sub_30 ; (08B1)
3BE9:0894 07 pop es
3BE9:0895 loc_ret_69: ; xref 3BE9:088A
3BE9:0895 C3 retn
sub_27 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:031F, 0884, 08AB
;==========================================================================
3BE9:0896 sub_28 proc near
3BE9:0896 B0 09 mov al,9
3BE9:0898 1E push ds
3BE9:0899 06 push es
3BE9:089A 8E 06 4AFC mov es,data_251 ; (3BE9:4AFC=0)
3BE9:089E 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:08A2 FF 1E 0028 call dword ptr data_16 ; (3BE9:0028=0)
3BE9:08A6 07 pop es
3BE9:08A7 1F pop ds
3BE9:08A8 C3 retn
sub_28 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:06CB, 072B
;==========================================================================
3BE9:08A9 sub_29 proc near
3BE9:08A9 B2 01 mov dl,1
3BE9:08AB E8 FFE8 call sub_28 ; (0896)
3BE9:08AE 0B DB or bx,bx ; Zero ?
3BE9:08B0 C3 retn
sub_29 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0891
;==========================================================================
3BE9:08B1 sub_30 proc near
3BE9:08B1 1E push ds
3BE9:08B2 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:08B6 8B 77 08 mov si,[bx+8]
3BE9:08B9 B9 0011 mov cx,11h
3BE9:08BC F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:08BE 1F pop ds
3BE9:08BF C3 retn
sub_30 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0208
;==========================================================================
3BE9:08C0 sub_31 proc near
3BE9:08C0 BE 0696 mov si,696h
3BE9:08C3 loc_70: ; xref 3BE9:08D0, 08E5
3BE9:08C3 ,56 push si
3BE9:08C4 E8 0145 call sub_41 ; (0A0C)
3BE9:08C7 5E pop si
3BE9:08C8 24 DF and al,0DFh
3BE9:08CA 3C 4E cmp al,4Eh ; 'N'
3BE9:08CC 74 10 je loc_72 ; Jump if equal
3BE9:08CE 3C 4A cmp al,4Ah ; 'J'
3BE9:08D0 75 F1 jne loc_70 ; Jump if not equal
3BE9:08D2 loc_71: ; xref 3BE9:08E0
3BE9:08D2 ,9C pushf ; Push flags
3BE9:08D3 B8 0608 mov ax,608h
3BE9:08D6 B9 0003 mov cx,3
3BE9:08D9 E8 0255 call sub_48 ; (0B31)
3BE9:08DC 9D popf ; Pop flags
3BE9:08DD C3 retn
3BE9:08DE loc_72: ; xref 3BE9:08CC
3BE9:08DE 3C 3F cmp al,3Fh ; '?'
3BE9:08E0 EB F0 jmp short loc_71 ; (08D2)
sub_31 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:02C7
;==========================================================================
3BE9:08E2 sub_32 proc near
3BE9:08E2 BE 069E mov si,69Eh
3BE9:08E5 EB DC jmp short loc_70 ; (08C3)
sub_32 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0416, 06D7, 0730
;==========================================================================
3BE9:08E7 sub_33 proc near
3BE9:08E7 B8 2020 mov ax,2020h
3BE9:08EA ,BB 0861 mov bx,861h ; (3BE9:0861=97h)
3BE9:08ED 89 07 mov [bx],ax
3BE9:08EF 43 inc bx
3BE9:08F0 43 inc bx
3BE9:08F1 89 07 mov [bx],ax
3BE9:08F3 A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
3BE9:08F6 B9 0004 mov cx,4
3BE9:08F9 ,BF 0861 mov di,861h ; (3BE9:0861=97h)
3BE9:08FC E8 0281 call sub_54 ; (0B80)
3BE9:08FF ,BB 0002 mov bx,offset data_7 ; (3BE9:0002=2)
3BE9:0902 ,BE 084D mov si,84Dh ; (3BE9:084D=0)
3BE9:0905 E8 0138 call sub_44 ; (0A40)
3BE9:0908 C3 retn
sub_33 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01FE
;==========================================================================
3BE9:0909 sub_34 proc near
3BE9:0909 06 push es
3BE9:090A 8C D8 mov ax,ds
3BE9:090C 8E C0 mov es,ax
3BE9:090E ,BE 0386 mov si,386h ; (3BE9:0386=7)
3BE9:0911 ,BF 0397 mov di,397h ; (3BE9:0397=26h)
3BE9:0914 B9 0011 mov cx,11h
3BE9:0917 F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di]
3BE9:0919 07 pop es
3BE9:091A 75 03 jnz loc_73 ; Jump if not zero
3BE9:091C FE C0 inc al
3BE9:091E C3 retn
3BE9:091F loc_73: ; xref 3BE9:091A
3BE9:091F 32 C0 xor al,al ; Zero register
3BE9:0921 C3 retn
sub_34 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0232, 0267
;==========================================================================
3BE9:0922 sub_35 proc near
3BE9:0922 BE 0811 mov si,811h
3BE9:0925 EB 03 jmp short loc_74 ; (092A)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:0243
3BE9:0927 sub_36:
3BE9:0927 BE 07DB mov si,7DBh
3BE9:092A loc_74: ; xref 3BE9:0925
3BE9:092A A0 03BA mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
3BE9:092D 3A 06 03BB cmp al,byte ptr ds:[3BBh] ; (3BE9:03BB=6)
3BE9:0931 75 13 jne loc_ret_75 ; Jump if not equal
3BE9:0933 89 36 07D9 mov word ptr ds:[7D9h],si ; (3BE9:07D9=3B4h)
3BE9:0937 ,BE 07C9 mov si,7C9h ; (3BE9:07C9=0)
3BE9:093A E8 00D4 call sub_42 ; (0A11)
3BE9:093D B8 0807 mov ax,807h
3BE9:0940 B9 0001 mov cx,1
3BE9:0943 E8 01EB call sub_48 ; (0B31)
3BE9:0946 loc_ret_75: ; xref 3BE9:0931
3BE9:0946 C3 retn
sub_35 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01E1, 01F4, 02A8, 0684
;==========================================================================
3BE9:0947 sub_37 proc near
3BE9:0947 56 push si
3BE9:0948 E8 00C1 call sub_41 ; (0A0C)
3BE9:094B loc_76: ; xref 3BE9:095D
3BE9:094B ,5E pop si
3BE9:094C 8B 74 06 mov si,[si+6]
3BE9:094F 83 C6 02 add si,2
3BE9:0952 8B 34 mov si,[si]
3BE9:0954 46 inc si
3BE9:0955 80 38 57 cmp byte ptr [bx+si],57h ; 'W'
3BE9:0958 C3 retn
sub_37 endp
;* No entry point to code
3BE9:0959 56 push si
3BE9:095A E8 00B4 call sub_42 ; (0A11)
3BE9:095D EB EC jmp short loc_76 ; (094B)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0CC1
;==========================================================================
3BE9:095F sub_38 proc near
3BE9:095F 1E push ds
3BE9:0960 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:0964 06 push es
3BE9:0965 33 DB xor bx,bx ; Zero register
3BE9:0967 8E C3 mov es,bx
3BE9:0969 ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
3BE9:096C 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
3BE9:096F 33 C0 xor ax,ax ; Zero register
3BE9:0971 26: 8A 47 01 mov al,es:[bx+1]
3BE9:0975 FE C0 inc al
3BE9:0977 07 pop es
3BE9:0978 1F pop ds
3BE9:0979 8B D8 mov bx,ax
3BE9:097B 43 inc bx
3BE9:097C ,BE 056A mov si,56Ah ; (3BE9:056A=94h)
3BE9:097F 89 1C mov [si],bx
3BE9:0981 46 inc si
3BE9:0982 8B C8 mov cx,ax
3BE9:0984 06 push es
3BE9:0985 8C DA mov dx,ds
3BE9:0987 8E C2 mov es,dx
3BE9:0989 ,BF 0570 mov di,570h ; (3BE9:0570=8Bh)
3BE9:098C 87 F7 xchg si,di
3BE9:098E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:0990 C6 05 57 mov byte ptr [di],57h ; 'W'
3BE9:0993 07 pop es
3BE9:0994 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:0996 ,BE 0575 mov si,575h ; (3BE9:0575=1Eh)
3BE9:0999 89 1C mov [si],bx
3BE9:099B 46 inc si
3BE9:099C 46 inc si
3BE9:099D 03 F0 add si,ax
3BE9:099F B8 05CD mov ax,5CDh
3BE9:09A2 89 04 mov [si],ax
3BE9:09A4 C3 retn
sub_38 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00F5
;==========================================================================
3BE9:09A5 sub_39 proc near
3BE9:09A5 B0 91 mov al,91h
3BE9:09A7 B9 004E mov cx,4Eh
3BE9:09AA ,BF 49CC mov di,offset data_239 ; (3BE9:49CC=0)
3BE9:09AD F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
3BE9:09AF ,BE 49B7 mov si,offset data_237 ; (3BE9:49B7=0)
3BE9:09B2 ,BB 0000 mov bx,offset data_6 ; (3BE9:0000=1)
3BE9:09B5 E8 0088 call sub_44 ; (0A40)
3BE9:09B8 B8 0102 mov ax,102h
3BE9:09BB E8 0036 call sub_40 ; (09F4)
3BE9:09BE B8 5002 mov ax,5002h
3BE9:09C1 E8 0030 call sub_40 ; (09F4)
3BE9:09C4 B8 0118 mov ax,118h
3BE9:09C7 E8 02BE call sub_66 ; (0C88)
3BE9:09CA ,BE 49BF mov si,offset data_238 ; (3BE9:49BF=0)
3BE9:09CD ,BB 0000 mov bx,offset data_6 ; (3BE9:0000=1)
3BE9:09D0 E8 006D call sub_44 ; (0A40)
3BE9:09D3 BE 0223 mov si,223h
3BE9:09D6 80 3E 0101 FF cmp byte ptr ds:[101h],0FFh ; (3BE9:0101=97h)
3BE9:09DB 74 03 je loc_77 ; Jump if equal
3BE9:09DD ,BE 01E1 mov si,1E1h ; (3BE9:01E1=0E8h)
3BE9:09E0 loc_77: ; xref 3BE9:09DB
3BE9:09E0 E8 00C3 call sub_46 ; (0AA6)
3BE9:09E3 ,BF 4A2C mov di,offset data_241 ; (3BE9:4A2C=0)
3BE9:09E6 B0 84 mov al,84h
3BE9:09E8 B9 004E mov cx,4Eh
3BE9:09EB F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
3BE9:09ED ,BE 4A23 mov si,offset data_240 ; (3BE9:4A23=0)
3BE9:09F0 E8 00B3 call sub_46 ; (0AA6)
3BE9:09F3 C3 retn
sub_39 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:09BB, 09C1
;==========================================================================
3BE9:09F4 sub_40 proc near
3BE9:09F4 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
3BE9:09F7 E8 028E call sub_66 ; (0C88)
3BE9:09FA B9 0016 mov cx,16h
3BE9:09FD locloop_78: ; xref 3BE9:0A09
3BE9:09FD 51 push cx
3BE9:09FE B2 98 mov dl,98h
3BE9:0A00 B1 02 mov cl,2
3BE9:0A02 E8 014D call sub_50 ; (0B52)
3BE9:0A05 E8 013F call sub_49 ; (0B47)
3BE9:0A08 59 pop cx
3BE9:0A09 E2 F2 loop locloop_78 ; Loop if cx > 0
3BE9:0A0B C3 retn
sub_40 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:08C4, 0948
;==========================================================================
3BE9:0A0C sub_41 proc near
3BE9:0A0C 56 push si
3BE9:0A0D E8 010D call sub_47 ; (0B1D)
3BE9:0A10 5E pop si
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:00FB, 021D, 027C, 06FE, 093A, 095A
3BE9:0A11 sub_42:
3BE9:0A11 ,BB 0006 mov bx,offset data_8 ; (3BE9:0006=2)
3BE9:0A14 E8 000A call sub_43 ; (0A21)
3BE9:0A17 33 DB xor bx,bx ; Zero register
3BE9:0A19 8A 1E 49A5 mov bl,data_230 ; (3BE9:49A5=0)
3BE9:0A1D A0 49A6 mov al,data_231 ; (3BE9:49A6=0)
3BE9:0A20 C3 retn
sub_41 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0A14
;==========================================================================
3BE9:0A21 sub_43 proc near
3BE9:0A21 89 1E 49A3 mov data_229,bx ; (3BE9:49A3=0)
3BE9:0A25 33 DB xor bx,bx ; Zero register
3BE9:0A27 loc_79: ; xref 3BE9:0A3D
3BE9:0A27 ,AD lodsw ; String [si] to ax
3BE9:0A28 0B C0 or ax,ax ; Zero ?
3BE9:0A2A 74 09 jz loc_80 ; Jump if zero
3BE9:0A2C 56 push si
3BE9:0A2D 53 push bx
3BE9:0A2E 8B F0 mov si,ax
3BE9:0A30 E8 000D call sub_44 ; (0A40)
3BE9:0A33 5B pop bx
3BE9:0A34 5E pop si
3BE9:0A35 loc_80: ; xref 3BE9:0A2A
3BE9:0A35 3B 1E 49A3 cmp bx,data_229 ; (3BE9:49A3=0)
3BE9:0A39 74 04 je loc_ret_81 ; Jump if equal
3BE9:0A3B 43 inc bx
3BE9:0A3C 43 inc bx
3BE9:0A3D EB E8 jmp short loc_79 ; (0A27)
3BE9:0A3F loc_ret_81: ; xref 3BE9:0A39
3BE9:0A3F C3 retn
sub_43 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:06AC, 0905, 09B5, 09D0, 0A30
;==========================================================================
3BE9:0A40 sub_44 proc near
3BE9:0A40 AD lodsw ; String [si] to ax
3BE9:0A41 8B C8 mov cx,ax
3BE9:0A43 locloop_82: ; xref 3BE9:0A50
3BE9:0A43 51 push cx
3BE9:0A44 53 push bx
3BE9:0A45 AD lodsw ; String [si] to ax
3BE9:0A46 56 push si
3BE9:0A47 8B F0 mov si,ax
3BE9:0A49 FF 97 49A9 call word ptr data_233[bx] ;*(3BE9:49A9=0)
3BE9:0A4D 5E pop si
3BE9:0A4E 5B pop bx
3BE9:0A4F 59 pop cx
3BE9:0A50 E2 F1 loop locloop_82 ; Loop if cx > 0
3BE9:0A52 C3 retn
sub_44 endp
;* No entry point to code
3BE9:0A53 AD lodsw ; String [si] to ax
3BE9:0A54 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
3BE9:0A57 56 push si
3BE9:0A58 E8 022D call sub_66 ; (0C88)
3BE9:0A5B 5E pop si
3BE9:0A5C E8 001E call sub_45 ; (0A7D)
3BE9:0A5F AD lodsw ; String [si] to ax
3BE9:0A60 8B C8 mov cx,ax
3BE9:0A62 AD lodsw ; String [si] to ax
3BE9:0A63 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
3BE9:0A66 56 push si
3BE9:0A67 51 push cx
3BE9:0A68 E8 021D call sub_66 ; (0C88)
3BE9:0A6B 59 pop cx
3BE9:0A6C 5E pop si
3BE9:0A6D locloop_83: ; xref 3BE9:0A7A
3BE9:0A6D 51 push cx
3BE9:0A6E AD lodsw ; String [si] to ax
3BE9:0A6F 8B F0 mov si,ax
3BE9:0A71 56 push si
3BE9:0A72 E8 00E0 call sub_51 ; (0B55)
3BE9:0A75 E8 00CF call sub_49 ; (0B47)
3BE9:0A78 5E pop si
3BE9:0A79 59 pop cx
3BE9:0A7A E2 F1 loop locloop_83 ; Loop if cx > 0
3BE9:0A7C C3 retn
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0A5C
;==========================================================================
3BE9:0A7D sub_45 proc near
3BE9:0A7D ,BF 4A87 mov di,offset data_244 ; (3BE9:4A87=0)
3BE9:0A80 B9 0003 mov cx,3
3BE9:0A83 06 push es
3BE9:0A84 8C D8 mov ax,ds
3BE9:0A86 8E C0 mov es,ax
3BE9:0A88 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:0A8A 07 pop es
3BE9:0A8B 56 push si
3BE9:0A8C ,BE 4A7B mov si,offset data_242 ; (3BE9:4A7B=0)
3BE9:0A8F E8 00C3 call sub_51 ; (0B55)
3BE9:0A92 E8 00B2 call sub_49 ; (0B47)
3BE9:0A95 ,BE 4A83 mov si,offset data_243 ; (3BE9:4A83=0)
3BE9:0A98 E8 00BA call sub_51 ; (0B55)
3BE9:0A9B E8 00A9 call sub_49 ; (0B47)
3BE9:0A9E ,BE 4A8B mov si,offset data_245 ; (3BE9:4A8B=0)
3BE9:0AA1 E8 00B1 call sub_51 ; (0B55)
3BE9:0AA4 5E pop si
3BE9:0AA5 C3 retn
sub_45 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:09E0, 09F0
;==========================================================================
3BE9:0AA6 sub_46 proc near
3BE9:0AA6 AD lodsw ; String [si] to ax
3BE9:0AA7 56 push si
3BE9:0AA8 E8 01DD call sub_66 ; (0C88)
3BE9:0AAB 5E pop si
3BE9:0AAC AD lodsw ; String [si] to ax
3BE9:0AAD 56 push si
3BE9:0AAE 88 26 49A2 mov data_228,ah ; (3BE9:49A2=0)
3BE9:0AB2 E8 01F7 call sub_67 ; (0CAC)
3BE9:0AB5 5E pop si
3BE9:0AB6 8B 34 mov si,[si]
3BE9:0AB8 E8 009A call sub_51 ; (0B55)
3BE9:0ABB A0 49A2 mov al,data_228 ; (3BE9:49A2=0)
3BE9:0ABE E8 01EB call sub_67 ; (0CAC)
3BE9:0AC1 C3 retn
sub_46 endp
;* No entry point to code
3BE9:0AC2 33 C0 xor ax,ax ; Zero register
3BE9:0AC4 AC lodsb ; String [si] to al
3BE9:0AC5 A3 49A7 mov data_232,ax ; (3BE9:49A7=0)
3BE9:0AC8 87 F7 xchg si,di
3BE9:0ACA loc_84: ; xref 3BE9:0B0C
3BE9:0ACA ,57 push di
3BE9:0ACB 57 push di
3BE9:0ACC loc_85: ; xref 3BE9:0AD1
3BE9:0ACC E8 00AA call sub_53 ; (0B79)
3BE9:0ACF 0A C0 or al,al ; Zero ?
3BE9:0AD1 74 F9 jz loc_85 ; Jump if zero
3BE9:0AD3 8B 0E 49A7 mov cx,data_232 ; (3BE9:49A7=0)
3BE9:0AD7 E3 35 jcxz loc_88 ; Jump if cx=0
3BE9:0AD9 3C 1B cmp al,1Bh
3BE9:0ADB 75 3D jne loc_89 ; Jump if not equal
3BE9:0ADD E8 0099 call sub_53 ; (0B79)
3BE9:0AE0 0A C0 or al,al ; Zero ?
3BE9:0AE2 74 36 jz loc_89 ; Jump if zero
3BE9:0AE4 E8 0092 call sub_53 ; (0B79)
3BE9:0AE7 0A C0 or al,al ; Zero ?
3BE9:0AE9 74 2F jz loc_89 ; Jump if zero
3BE9:0AEB A2 49A6 mov data_231,al ; (3BE9:49A6=0)
3BE9:0AEE 8B 0E 49A7 mov cx,data_232 ; (3BE9:49A7=0)
3BE9:0AF2 5F pop di
3BE9:0AF3 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al
3BE9:0AF5 75 11 jnz loc_87 ; Jump if not zero
3BE9:0AF7 loc_86: ; xref 3BE9:0B18
3BE9:0AF7 ,5F pop di
3BE9:0AF8 A1 49A7 mov ax,data_232 ; (3BE9:49A7=0)
3BE9:0AFB 2B C1 sub ax,cx
3BE9:0AFD FE C8 dec al
3BE9:0AFF A2 49A5 mov data_230,al ; (3BE9:49A5=0)
3BE9:0B02 8A D8 mov bl,al
3BE9:0B04 A0 49A6 mov al,data_231 ; (3BE9:49A6=0)
3BE9:0B07 C3 retn
3BE9:0B08 loc_87: ; xref 3BE9:0AF5, 0B1B
3BE9:0B08 ,E8 0061 call sub_52 ; (0B6C)
3BE9:0B0B 5F pop di
3BE9:0B0C EB BC jmp short loc_84 ; (0ACA)
3BE9:0B0E loc_88: ; xref 3BE9:0AD7
3BE9:0B0E A2 49A6 mov data_231,al ; (3BE9:49A6=0)
3BE9:0B11 E8 0065 call sub_53 ; (0B79)
3BE9:0B14 E8 0062 call sub_53 ; (0B79)
3BE9:0B17 5F pop di
3BE9:0B18 EB DD jmp short loc_86 ; (0AF7)
3BE9:0B1A loc_89: ; xref 3BE9:0ADB, 0AE2, 0AE9
3BE9:0B1A 5F pop di
3BE9:0B1B EB EB jmp short loc_87 ; (0B08)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0104, 069D, 0A0D
;==========================================================================
3BE9:0B1D sub_47 proc near
3BE9:0B1D 80 3E 0102 FF cmp byte ptr ds:[102h],0FFh ; (3BE9:0102=0D7h)
3BE9:0B22 74 07 je loc_90 ; Jump if equal
3BE9:0B24 ,BE 4ADF mov si,offset data_247 ; (3BE9:4ADF=0)
3BE9:0B27 E8 002B call sub_51 ; (0B55)
3BE9:0B2A C3 retn
3BE9:0B2B loc_90: ; xref 3BE9:0B22
3BE9:0B2B B8 0604 mov ax,604h
3BE9:0B2E B9 0014 mov cx,14h
sub_47 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:08D9, 0943
;==========================================================================
3BE9:0B31 sub_48 proc near
3BE9:0B31 51 push cx
3BE9:0B32 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
3BE9:0B35 E8 0150 call sub_66 ; (0C88)
3BE9:0B38 59 pop cx
3BE9:0B39 locloop_91: ; xref 3BE9:0B44
3BE9:0B39 51 push cx
3BE9:0B3A ,BE 4A97 mov si,offset data_246 ; (3BE9:4A97=0)
3BE9:0B3D E8 0015 call sub_51 ; (0B55)
3BE9:0B40 E8 0004 call sub_49 ; (0B47)
3BE9:0B43 59 pop cx
3BE9:0B44 E2 F3 loop locloop_91 ; Loop if cx > 0
3BE9:0B46 C3 retn
sub_48 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0A05, 0A75, 0A92, 0A9B, 0B40
;==========================================================================
3BE9:0B47 sub_49 proc near
3BE9:0B47 FE 06 49A0 inc byte ptr data_227 ; (3BE9:49A0=0)
3BE9:0B4B A1 49A0 mov ax,data_227 ; (3BE9:49A0=0)
3BE9:0B4E E8 0137 call sub_66 ; (0C88)
3BE9:0B51 C3 retn
sub_49 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0A02, 0BFA, 0C02, 0C0B, 0C12, 0C1B, 0C2B
; 0C43, 0C5B, 0C75
;==========================================================================
3BE9:0B52 sub_50 proc near
3BE9:0B52 loc_92: ; xref 3BE9:0120, 0B62, 0B76, 0B7D
; 0B9C, 0BA1
3BE9:0B52 ,CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:0B54 C3 retn
sub_50 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0127, 012B, 0A72, 0A8F, 0A98, 0AA1, 0AB8
; 0B27, 0B3D, 0CBE
;==========================================================================
3BE9:0B55 sub_51 proc near
3BE9:0B55 loc_93: ; xref 3BE9:0B6F, 0CA9, 0CB2, 0CB8
3BE9:0B55 ,AD lodsw ; String [si] to ax
3BE9:0B56 A3 49B5 mov data_236,ax ; (3BE9:49B5=0)
3BE9:0B59 89 36 49B1 mov data_234,si ; (3BE9:49B1=0)
3BE9:0B5D B1 6F mov cl,6Fh ; 'o'
3BE9:0B5F BA 49B1 mov dx,49B1h
3BE9:0B62 E9 FFED ;* jmp loc_92 ; (0B52)
sub_51 endp
3BE9:0B62 db 0E9h,0EDh,0FFh ; Fixup - byte match
3BE9:0B65 B1 09 8B D6 E9 db 0B1h, 09h, 8Bh,0D6h,0E9h
3BE9:0B6A FFE6 data_156 dw 0FFE6h ; Data table (indexed access)
; xref 3BE9:189E
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0B08
;==========================================================================
3BE9:0B6C sub_52 proc near
3BE9:0B6C BE 4A93 mov si,4A93h
3BE9:0B6F E9 FFE3 ;* jmp loc_93 ; (0B55)
sub_52 endp
3BE9:0B6F db 0E9h,0E3h,0FFh ; Fixup - byte match
;* No entry point to code
3BE9:0B72 B2 FD mov dl,0FDh
3BE9:0B74 B1 06 mov cl,6
3BE9:0B76 E9 FFD9 ;* jmp loc_92 ; (0B52)
3BE9:0B76 db 0E9h,0D9h,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0ACC, 0ADD, 0AE4, 0B11, 0B14
;==========================================================================
3BE9:0B79 sub_53 proc near
3BE9:0B79 B2 FF mov dl,0FFh
3BE9:0B7B B1 06 mov cl,6
3BE9:0B7D E9 FFD2 ;* jmp loc_92 ; (0B52)
sub_53 endp
3BE9:0B7D db 0E9h,0D2h,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:08FC
;==========================================================================
3BE9:0B80 sub_54 proc near
3BE9:0B80 4F dec di
3BE9:0B81 03 F9 add di,cx
3BE9:0B83 BB 000A mov bx,0Ah
3BE9:0B86 locloop_94: ; xref 3BE9:0B94
3BE9:0B86 2B D2 sub dx,dx
3BE9:0B88 F7 F3 div bx ; ax,dx rem=dx:ax/reg
3BE9:0B8A 80 C2 30 add dl,30h ; '0'
3BE9:0B8D 88 15 mov [di],dl
3BE9:0B8F 4F dec di
3BE9:0B90 85 C0 test ax,ax
3BE9:0B92 74 02 jz loc_ret_95 ; Jump if zero
3BE9:0B94 E2 F0 loop locloop_94 ; Loop if cx > 0
3BE9:0B96 loc_ret_95: ; xref 3BE9:0B92
3BE9:0B96 C3 retn
sub_54 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00CE, 00E1
;==========================================================================
3BE9:0B97 sub_55 proc near
3BE9:0B97 B1 6D mov cl,6Dh ; 'm'
3BE9:0B99 BA 0009 mov dx,9
3BE9:0B9C E9 FFB3 ;* jmp loc_92 ; (0B52)
sub_55 endp
3BE9:0B9C db 0E9h,0B3h,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00DE, 00EF
;==========================================================================
3BE9:0B9F sub_56 proc near
3BE9:0B9F B1 91 mov cl,91h
3BE9:0BA1 E9 FFAE ;* jmp loc_92 ; (0B52)
sub_56 endp
3BE9:0BA1 db 0E9h,0AEh,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00E4
;==========================================================================
3BE9:0BA4 sub_57 proc near
3BE9:0BA4 8B 1E 4AF6 mov bx,data_248 ; (3BE9:4AF6=0)
3BE9:0BA8 1E push ds
3BE9:0BA9 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:0BAD 81 4F 06 0002 ;* or word ptr [bx+6],2
3BE9:0BAD db 81h, 4Fh, 06h, 02h, 00h ; Fixup - byte match
3BE9:0BB2 1F pop ds
3BE9:0BB3 C3 retn
sub_57 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0119
;==========================================================================
3BE9:0BB4 sub_58 proc near
3BE9:0BB4 8B 1E 4AF6 mov bx,data_248 ; (3BE9:4AF6=0)
3BE9:0BB8 1E push ds
3BE9:0BB9 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:0BBD 81 67 06 FFFD ;* and word ptr [bx+6],0FFFDh
3BE9:0BBD db 81h, 67h, 06h,0FDh,0FFh ; Fixup - byte match
3BE9:0BC2 1F pop ds
3BE9:0BC3 C3 retn
sub_58 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00E7
;==========================================================================
3BE9:0BC4 sub_59 proc near
3BE9:0BC4 8B 1E 4AFA mov bx,data_250 ; (3BE9:4AFA=0)
3BE9:0BC8 1E push ds
3BE9:0BC9 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:0BCD 9C pushf ; Push flags
3BE9:0BCE FA cli ; Disable interrupts
3BE9:0BCF 83 7F 0E 00 cmp word ptr [bx+0Eh],0
3BE9:0BD3 74 08 je loc_96 ; Jump if equal
3BE9:0BD5 9D popf ; Pop flags
3BE9:0BD6 1F pop ds
3BE9:0BD7 BE 4B0E mov si,4B0Eh
3BE9:0BDA E9 F546 jmp loc_8 ; (0123)
3BE9:0BDD loc_96: ; xref 3BE9:0BD3
3BE9:0BDD 81 4F 0E 0008 ;* or word ptr [bx+0Eh],8
3BE9:0BDD db 81h, 4Fh, 0Eh, 08h, 00h ; Fixup - byte match
3BE9:0BE2 9D popf ; Pop flags
3BE9:0BE3 1F pop ds
3BE9:0BE4 C3 retn
sub_59 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0116
;==========================================================================
3BE9:0BE5 sub_60 proc near
3BE9:0BE5 8B 1E 4AFA mov bx,data_250 ; (3BE9:4AFA=0)
3BE9:0BE9 1E push ds
3BE9:0BEA 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
3BE9:0BEE 81 67 0E FFF7 ;* and word ptr [bx+0Eh],0FFF7h
3BE9:0BEE db 81h, 67h, 0Eh,0F7h,0FFh ; Fixup - byte match
3BE9:0BF3 1F pop ds
3BE9:0BF4 C3 retn
sub_60 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00EA
;==========================================================================
3BE9:0BF5 sub_61 proc near
3BE9:0BF5 B1 87 mov cl,87h
3BE9:0BF7 BA 4AFE mov dx,4AFEh
3BE9:0BFA E8 FF55 call sub_50 ; (0B52)
3BE9:0BFD B1 89 mov cl,89h
3BE9:0BFF BA 4AFE mov dx,4AFEh
3BE9:0C02 E8 FF4D call sub_50 ; (0B52)
3BE9:0C05 C3 retn
sub_61 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0113
;==========================================================================
3BE9:0C06 sub_62 proc near
3BE9:0C06 B1 8B mov cl,8Bh
3BE9:0C08 BA 4AFE mov dx,4AFEh
3BE9:0C0B E8 FF44 call sub_50 ; (0B52)
3BE9:0C0E C3 retn
sub_62 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00D6
;==========================================================================
3BE9:0C0F sub_63 proc near
3BE9:0C0F 06 push es
3BE9:0C10 B1 9A mov cl,9Ah
3BE9:0C12 E8 FF3D call sub_50 ; (0B52)
3BE9:0C15 8C 06 4AF8 mov data_249,es ; (3BE9:4AF8=3BE9h)
3BE9:0C19 B1 9C mov cl,9Ch
3BE9:0C1B E8 FF34 call sub_50 ; (0B52)
3BE9:0C1E 89 1E 4AF6 mov data_248,bx ; (3BE9:4AF6=0)
3BE9:0C22 26: 8B 47 10 mov ax,es:[bx+10h]
3BE9:0C26 A3 4AFC mov data_251,ax ; (3BE9:4AFC=0)
3BE9:0C29 B1 99 mov cl,99h
3BE9:0C2B E8 FF24 call sub_50 ; (0B52)
3BE9:0C2E 32 E4 xor ah,ah ; Zero register
3BE9:0C30 BB 002C mov bx,2Ch
3BE9:0C33 F7 E3 mul bx ; dx:ax = reg * ax
3BE9:0C35 26: 03 06 0054 add ax,es:data_18 ; (3BE9:0054=0)
3BE9:0C3A A3 4AFA mov data_250,ax ; (3BE9:4AFA=0)
3BE9:0C3D 07 pop es
3BE9:0C3E C3 retn
sub_63 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00CB
;==========================================================================
3BE9:0C3F sub_64 proc near
3BE9:0C3F 1E push ds
3BE9:0C40 06 push es
3BE9:0C41 B1 1F mov cl,1Fh
3BE9:0C43 E8 FF0C call sub_50 ; (0B52)
3BE9:0C46 26: A1 004E mov ax,es:data_17 ; (3BE9:004E=0)
3BE9:0C4A A3 4AFC mov data_251,ax ; (3BE9:4AFC=0)
3BE9:0C4D 8C 06 4AF8 mov data_249,es ; (3BE9:4AF8=3BE9h)
3BE9:0C51 07 pop es
3BE9:0C52 1F pop ds
3BE9:0C53 C3 retn
sub_64 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00D1
;==========================================================================
3BE9:0C54 sub_65 proc near
3BE9:0C54 1E push ds
3BE9:0C55 06 push es
3BE9:0C56 BA 4B94 mov dx,4B94h
3BE9:0C59 B1 3C mov cl,3Ch ; '<'
3BE9:0C5B E8 FEF4 call sub_50 ; (0B52)
3BE9:0C5E 07 pop es
3BE9:0C5F 1F pop ds
3BE9:0C60 3D FFFF cmp ax,0FFFFh
3BE9:0C63 75 1C jne loc_97 ; Jump if not equal
3BE9:0C65 1E push ds
3BE9:0C66 06 push es
3BE9:0C67 BB 4B97 mov bx,4B97h
3BE9:0C6A C6 07 89 mov byte ptr [bx],89h
3BE9:0C6D C6 47 01 00 mov byte ptr [bx+1],0
3BE9:0C71 8B D3 mov dx,bx
3BE9:0C73 B1 31 mov cl,31h ; '1'
3BE9:0C75 E8 FEDA call sub_50 ; (0B52)
3BE9:0C78 07 pop es
3BE9:0C79 1F pop ds
3BE9:0C7A 80 3E 4B99 01 cmp byte ptr data_252,1 ; (3BE9:4B99=0)
3BE9:0C7F 74 06 je loc_ret_98 ; Jump if equal
3BE9:0C81 loc_97: ; xref 3BE9:0C63
3BE9:0C81 BE 4B49 mov si,4B49h
3BE9:0C84 E9 F49C jmp loc_8 ; (0123)
3BE9:0C87 loc_ret_98: ; xref 3BE9:0C7F
3BE9:0C87 C3 retn
sub_65 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:09C7, 09F7, 0A58, 0A68, 0AA8, 0B35, 0B4E
;==========================================================================
3BE9:0C88 sub_66 proc near
3BE9:0C88 8B D8 mov bx,ax
3BE9:0C8A ,BE 4B9E mov si,offset data_253 ; (3BE9:4B9E=0)
3BE9:0C8D D4 0A aam ; Ascii adjust
3BE9:0C8F 86 C4 xchg al,ah
3BE9:0C91 0D 3030 or ax,3030h
3BE9:0C94 89 04 mov [si],ax
3BE9:0C96 ,BE 4BA1 mov si,offset data_254 ; (3BE9:4BA1=0)
3BE9:0C99 8B C3 mov ax,bx
3BE9:0C9B 86 C4 xchg al,ah
3BE9:0C9D D4 0A aam ; Ascii adjust
3BE9:0C9F 0D 3030 or ax,3030h
3BE9:0CA2 86 C4 xchg al,ah
3BE9:0CA4 89 04 mov [si],ax
3BE9:0CA6 BE 4B9A mov si,4B9Ah
3BE9:0CA9 E9 FEA9 jmp loc_93 ; (0B55)
sub_66 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0AB2, 0ABE
;==========================================================================
3BE9:0CAC sub_67 proc near
3BE9:0CAC A2 4BCA mov data_256,al ; (3BE9:4BCA=0)
3BE9:0CAF BE 4BC6 mov si,4BC6h
3BE9:0CB2 E9 FEA0 jmp loc_93 ; (0B55)
sub_67 endp
;* No entry point to code
3BE9:0CB5 BE 4BBA mov si,4BBAh
3BE9:0CB8 E9 FE9A jmp loc_93 ; (0B55)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:00F2
;==========================================================================
3BE9:0CBB sub_68 proc near
3BE9:0CBB ,BE 4BA4 mov si,offset data_255 ; (3BE9:4BA4=0)
3BE9:0CBE E8 FE94 call sub_51 ; (0B55)
3BE9:0CC1 E8 FC9B call sub_38 ; (095F)
3BE9:0CC4 C3 retn
sub_68 endp
3BE9:0CC5 4C 4F 41 44 45 52 db 'LOADERGWK-TSS2 '
3BE9:0CCB 47 57 4B 2D 54 53
3BE9:0CD1 53 32 20
3BE9:0CD4 4446 3031 data_177 dw 4446h, 3031h ; xref 3BE9:186E, 1884
3BE9:0CD8 32 35 2D 31 db 32h, 35h, 2Dh, 31h
3BE9:0CDC 30 data_179 db 30h ; xref 3BE9:1875
3BE9:0CDD 37 31 db 37h, 31h
3BE9:0CDF 302D data_180 dw 302Dh ; xref 3BE9:187D
3BE9:0CE1 30 35 34 33 34 50 db '05434PG685 11.01.87'
3BE9:0CE7 47 36 38 35 20 20
3BE9:0CED 31 31 2E 30 31 2E
3BE9:0CF3 38 37
3BE9:0CF5 0016[00] db 22 dup (0)
3BE9:0D0B 94 55 db 94h, 55h
3BE9:0D0D 000D[00] db 13 dup (0)
3BE9:0D1A 20 00 00 00 00 00 db 20h, 00h, 00h, 00h, 00h, 00h
3BE9:0D20 20 23 00 00 00 01 db 20h, 23h, 00h, 00h, 00h, 01h
3BE9:0D26 00 db 00h
3BE9:0D27 01A2[00] db 418 dup (0)
3BE9:0EC9 FF 11 E9 05 00 E9 db 0FFh, 11h,0E9h, 05h, 00h,0E9h
3BE9:0ECF 2E 00 00 00 8C C8 db 2Eh, 00h, 00h, 00h, 8Ch,0C8h
3BE9:0ED5 8E D8 8E C0 8E D0 db 8Eh,0D8h, 8Eh,0C0h, 8Eh,0D0h
3BE9:0EDB BC 84 08 8C 0E AC db 0BCh, 84h, 08h, 8Ch, 0Eh,0ACh
3BE9:0EE1 07 FF 1E AA 07 C7 db 07h,0FFh, 1Eh,0AAh, 07h,0C7h
3BE9:0EE7 06 AA 07 03 09 33 db 06h,0AAh, 07h, 03h, 09h, 33h
3BE9:0EED C0 1E 8E D8 C7 06 db 0C0h, 1Eh, 8Eh,0D8h,0C7h, 06h
3BE9:0EF3 80 03 03 00 8C 0E db 80h, 03h, 03h, 00h, 8Ch, 0Eh
3BE9:0EF9 82 03 1F E9 D2 08 db 82h, 03h, 1Fh,0E9h,0D2h, 08h
3BE9:0EFF FC 8C D8 0E 1F 8C db 0FCh, 8Ch,0D8h, 0Eh, 1Fh, 8Ch
3BE9:0F05 06 F7 07 A3 C3 08 db 06h,0F7h, 07h,0A3h,0C3h, 08h
3BE9:0F0B 8B DC 36 F7 47 04 db 8Bh,0DCh, 36h,0F7h, 47h, 04h
3BE9:0F11 00 02 74 01 FB db 00h, 02h, 74h, 01h,0FBh
3BE9:0F16 loc_99:
3BE9:0F16 1E push ds
3BE9:0F17 07 pop es
3BE9:0F18 56 push si
3BE9:0F19 57 push di
3BE9:0F1A 55 push bp
3BE9:0F1B E8 000E call sub_69 ; (0F2C)
3BE9:0F1E 5D pop bp
3BE9:0F1F 5F pop di
3BE9:0F20 5E pop si
3BE9:0F21 8E 06 07F7 mov es,word ptr ds:[7F7h] ; (3BE9:07F7=0D103h)
3BE9:0F25 8E 1E 08C3 mov ds,word ptr ds:[8C3h] ; (3BE9:08C3=0E856h)
3BE9:0F29 8B C3 mov ax,bx
3BE9:0F2B CF iret ; Interrupt return
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0F1B
;==========================================================================
3BE9:0F2C sub_69 proc near
3BE9:0F2C 80 F9 0E cmp cl,0Eh
3BE9:0F2F 75 06 jne loc_100 ; Jump if not equal
3BE9:0F31 BE 00C7 mov si,0C7h
3BE9:0F34 E9 0064 ;* jmpn loc_109 ;*(0F9B)
3BE9:0F34 db 0E9h, 64h, 00h ; Fixup - byte match
3BE9:0F37 loc_100: ; xref 3BE9:0F2F
3BE9:0F37 80 F9 0F cmp cl,0Fh
3BE9:0F3A 75 06 jne loc_101 ; Jump if not equal
3BE9:0F3C BE 00CA mov si,0CAh
3BE9:0F3F E9 0059 ;* jmpn loc_109 ;*(0F9B)
3BE9:0F3F db 0E9h, 59h, 00h ; Fixup - byte match
3BE9:0F42 loc_101: ; xref 3BE9:0F3A
3BE9:0F42 80 F9 14 cmp cl,14h
3BE9:0F45 75 06 jne loc_102 ; Jump if not equal
3BE9:0F47 ,BE 00CD mov si,0CDh ; (3BE9:00CD=0Bh)
3BE9:0F4A E9 004E ;* jmpn loc_109 ;*(0F9B)
3BE9:0F4A db 0E9h, 4Eh, 00h ; Fixup - byte match
3BE9:0F4D loc_102: ; xref 3BE9:0F45
3BE9:0F4D 80 F9 1A cmp cl,1Ah
3BE9:0F50 74 13 je loc_103 ; Jump if equal
3BE9:0F52 80 F9 20 cmp cl,20h ; ' '
3BE9:0F55 74 13 je loc_104 ; Jump if equal
3BE9:0F57 80 F9 2C cmp cl,2Ch ; ','
3BE9:0F5A 74 1F je loc_106 ; Jump if equal
3BE9:0F5C 80 F9 33 cmp cl,33h ; '3'
3BE9:0F5F 74 2C je loc_108 ; Jump if equal
3BE9:0F61 BB FFFF mov bx,0FFFFh
3BE9:0F64 C3 retn
3BE9:0F65 loc_103: ; xref 3BE9:0F50
3BE9:0F65 89 16 08C5 mov word ptr ds:[8C5h],dx ; (3BE9:08C5=145h)
3BE9:0F69 C3 retn
3BE9:0F6A loc_104: ; xref 3BE9:0F55
3BE9:0F6A 8A C2 mov al,dl
3BE9:0F6C 3C FF cmp al,0FFh
3BE9:0F6E 75 05 jne loc_105 ; Jump if not equal
3BE9:0F70 8A 1E 07C0 mov bl,byte ptr ds:[7C0h] ; (3BE9:07C0=3)
3BE9:0F74 C3 retn
3BE9:0F75 loc_105: ; xref 3BE9:0F6E
3BE9:0F75 24 0F and al,0Fh
3BE9:0F77 A2 07C0 mov byte ptr ds:[7C0h],al ; (3BE9:07C0=3)
3BE9:0F7A C3 retn
3BE9:0F7B loc_106: ; xref 3BE9:0F5A
3BE9:0F7B 8A C2 mov al,dl
3BE9:0F7D 33 DB xor bx,bx ; Zero register
3BE9:0F7F 0A C0 or al,al ; Zero ?
3BE9:0F81 74 08 jz loc_107 ; Jump if zero
3BE9:0F83 3C 81 cmp al,81h
3BE9:0F85 73 04 jae loc_107 ; Jump if above or =
3BE9:0F87 A2 07C3 mov byte ptr ds:[7C3h],al ; (3BE9:07C3=3)
3BE9:0F8A C3 retn
3BE9:0F8B loc_107: ; xref 3BE9:0F81, 0F85
3BE9:0F8B 4B dec bx
3BE9:0F8C C3 retn
3BE9:0F8D loc_108: ; xref 3BE9:0F5F
3BE9:0F8D 89 16 08C7 mov word ptr ds:[8C7h],dx ; (3BE9:08C7=245Eh)
3BE9:0F91 C3 retn
;* No entry point to code
3BE9:0F92 A0 0106 mov al,byte ptr ds:[106h] ; (3BE9:0106=0Ah)
3BE9:0F95 AA stosb ; Store al to es:[di]
3BE9:0F96 06 push es
3BE9:0F97 01 D4 ;* add sp,dx
3BE9:0F97 db 01h,0D4h ; Fixup - byte match
3BE9:0F99 06 push es
3BE9:0F9A 03 A1 07BF add sp,word ptr ds:[7BFh][bx+di] ; (3BE9:07BF=3C2h)
3BE9:0F9E A3 08C9 mov word ptr ds:[8C9h],ax ; (3BE9:08C9=3CDFh)
3BE9:0FA1 B9 0007 mov cx,7
3BE9:0FA4 33 C0 xor ax,ax ; Zero register
3BE9:0FA6 ,BF 07AE mov di,7AEh ; (3BE9:07AE=1)
3BE9:0FA9 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
3BE9:0FAB 89 16 08C1 mov word ptr ds:[8C1h],dx ; (3BE9:08C1=696h)
3BE9:0FAF 80 3E 07C3 01 cmp byte ptr ds:[7C3h],1 ; (3BE9:07C3=3)
3BE9:0FB4 74 08 je loc_110 ; Jump if equal
3BE9:0FB6 2E: F6 84 0002 02 test cs:data_7[si],2 ; (3BE9:0002=2)
3BE9:0FBC 75 08 jnz loc_112 ; Jump if not zero
3BE9:0FBE loc_110: ; xref 3BE9:0FB4
3BE9:0FBE E8 0061 call sub_70 ; (1022)
3BE9:0FC1 loc_111: ; xref 3BE9:101F
3BE9:0FC1 ,8B 1E 07B0 mov bx,word ptr ds:[7B0h] ; (3BE9:07B0=2B0h)
3BE9:0FC5 C3 retn
3BE9:0FC6 loc_112: ; xref 3BE9:0FBC
3BE9:0FC6 89 36 07F2 mov word ptr ds:[7F2h],si ; (3BE9:07F2=0F703h)
3BE9:0FCA A1 08C5 mov ax,word ptr ds:[8C5h] ; (3BE9:08C5=145h)
3BE9:0FCD A3 07F4 mov word ptr ds:[7F4h],ax ; (3BE9:07F4=0A3E1h)
3BE9:0FD0 2E: 8A A4 0002 mov ah,cs:data_7[si] ; (3BE9:0002=2)
3BE9:0FD5 E8 006E call sub_71 ; (1046)
3BE9:0FD8 C6 06 07F6 FF mov byte ptr ds:[7F6h],0FFh ; (3BE9:07F6=0A8h)
3BE9:0FDD A0 07C3 mov al,byte ptr ds:[7C3h] ; (3BE9:07C3=3)
3BE9:0FE0 loc_113: ; xref 3BE9:1009
3BE9:0FE0 A2 07B4 mov byte ptr ds:[7B4h],al ; (3BE9:07B4=0C0h)
3BE9:0FE3 50 push ax
3BE9:0FE4 8B 36 07F2 mov si,word ptr ds:[7F2h] ; (3BE9:07F2=0F703h)
3BE9:0FE8 8B 16 08C1 mov dx,word ptr ds:[8C1h] ; (3BE9:08C1=696h)
3BE9:0FEC E8 0033 call sub_70 ; (1022)
3BE9:0FEF 8A 1E 07B0 mov bl,byte ptr ds:[7B0h] ; (3BE9:07B0=0B0h)
3BE9:0FF3 0A DB or bl,bl ; Zero ?
3BE9:0FF5 74 09 jz loc_114 ; Jump if zero
3BE9:0FF7 8A 3E 07C3 mov bh,byte ptr ds:[7C3h] ; (3BE9:07C3=3)
3BE9:0FFB 58 pop ax
3BE9:0FFC 2A F8 sub bh,al
3BE9:0FFE EB 0D jmp short loc_115 ; (100D)
3BE9:1000 loc_114: ; xref 3BE9:0FF5
3BE9:1000 81 06 08C5 0080 add word ptr ds:[8C5h],80h ; (3BE9:08C5=145h)
3BE9:1006 58 pop ax
3BE9:1007 FE C8 dec al
3BE9:1009 75 D5 jnz loc_113 ; Jump if not zero
3BE9:100B 33 DB xor bx,bx ; Zero register
3BE9:100D loc_115: ; xref 3BE9:0FFE
3BE9:100D 89 1E 07B0 mov word ptr ds:[7B0h],bx ; (3BE9:07B0=2B0h)
3BE9:1011 A1 07F4 mov ax,word ptr ds:[7F4h] ; (3BE9:07F4=0A3E1h)
3BE9:1014 A3 08C5 mov word ptr ds:[8C5h],ax ; (3BE9:08C5=145h)
3BE9:1017 C6 06 07F6 00 mov byte ptr ds:[7F6h],0 ; (3BE9:07F6=0A8h)
3BE9:101C E8 004B call sub_72 ; (106A)
3BE9:101F E9 FF9F ;* jmp loc_111 ; (0FC1)
sub_69 endp
3BE9:101F db 0E9h, 9Fh,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0FBE, 0FEC
;==========================================================================
3BE9:1022 sub_70 proc near
3BE9:1022 E8 01EE call sub_86 ; (1213)
3BE9:1025 89 26 0884 mov word ptr ds:[884h],sp ; (3BE9:0884=0FE8h)
3BE9:1029 2E: FF 94 0000 ;* call cs:data_6[si] ;*(3BE9:0000=0C501h)
3BE9:1029 db 2Eh,0FFh, 94h, 00h, 00h ; Fixup - byte match
3BE9:102E loc_116: ; xref 3BE9:10D8
3BE9:102E ,80 3E 07B2 00 cmp byte ptr ds:[7B2h],0 ; (3BE9:07B2=0C3h)
3BE9:1033 74 06 je loc_117 ; Jump if equal
3BE9:1035 A0 07AE mov al,byte ptr ds:[7AEh] ; (3BE9:07AE=1)
3BE9:1038 A2 0886 mov byte ptr ds:[886h],al ; (3BE9:0886=0)
3BE9:103B loc_117: ; xref 3BE9:1033
3BE9:103B 80 3E 07AF FF cmp byte ptr ds:[7AFh],0FFh ; (3BE9:07AF=0C3h)
3BE9:1040 75 03 jne loc_ret_118 ; Jump if not equal
3BE9:1042 E8 0025 call sub_72 ; (106A)
3BE9:1045 loc_ret_118: ; xref 3BE9:1040
3BE9:1045 C3 retn
sub_70 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0FD5, 1531
;==========================================================================
3BE9:1046 sub_71 proc near
3BE9:1046 B1 21 mov cl,21h ; '!'
3BE9:1048 F6 06 07F6 FF test byte ptr ds:[7F6h],0FFh ; (3BE9:07F6=0A8h)
3BE9:104D 75 1A jnz loc_ret_119 ; Jump if not zero
3BE9:104F C6 06 07AF FF mov byte ptr ds:[7AFh],0FFh ; (3BE9:07AF=0C3h)
3BE9:1054 88 0E 07F9 mov byte ptr ds:[7F9h],cl ; (3BE9:07F9=0E8h)
3BE9:1058 32 ED xor ch,ch ; Zero register
3BE9:105A 8B 36 08C1 mov si,word ptr ds:[8C1h] ; (3BE9:08C1=696h)
3BE9:105E ,BF 0886 mov di,886h ; (3BE9:0886=0)
3BE9:1061 1E push ds
3BE9:1062 8E 1E 08C3 mov ds,word ptr ds:[8C3h] ; (3BE9:08C3=0E856h)
3BE9:1066 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:1068 1F pop ds
3BE9:1069 loc_ret_119: ; xref 3BE9:104D, 106F
3BE9:1069 C3 retn
sub_71 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:101C, 1042
;==========================================================================
3BE9:106A sub_72 proc near
3BE9:106A F6 06 07F6 FF test byte ptr ds:[7F6h],0FFh ; (3BE9:07F6=0A8h)
3BE9:106F 75 F8 jnz loc_ret_119 ; Jump if not zero
3BE9:1071 8A 0E 07F9 mov cl,byte ptr ds:[7F9h] ; (3BE9:07F9=0E8h)
3BE9:1075 32 ED xor ch,ch ; Zero register
3BE9:1077 ,BE 0886 mov si,886h ; (3BE9:0886=0)
3BE9:107A 8B 3E 08C1 mov di,word ptr ds:[8C1h] ; (3BE9:08C1=696h)
3BE9:107E 06 push es
3BE9:107F 8E 06 08C3 mov es,word ptr ds:[8C3h] ; (3BE9:08C3=0E856h)
3BE9:1083 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:1085 07 pop es
3BE9:1086 C3 retn
sub_72 endp
3BE9:1087 loc_120: ; xref 3BE9:13EA, 13FA, 143D
3BE9:1087 ,B0 01 mov al,1
3BE9:1089 loc_121: ; xref 3BE9:12DF, 13D6
3BE9:1089 ,A2 07B0 mov byte ptr ds:[7B0h],al ; (3BE9:07B0=0B0h)
3BE9:108C C3 retn
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:10E8
;==========================================================================
3BE9:108D sub_73 proc near
3BE9:108D 06 push es
3BE9:108E FF 1E 07AA call dword ptr ds:[7AAh] ; (3BE9:07AA=0C032h)
3BE9:1092 FC cld ; Clear direction
3BE9:1093 07 pop es
3BE9:1094 C3 retn
sub_73 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1122
;==========================================================================
3BE9:1095 sub_74 proc near
3BE9:1095 8B 16 07EA mov dx,word ptr ds:[7EAh] ; (3BE9:07EA=890Fh)
3BE9:1099 8A 2E 07EC mov ch,byte ptr ds:[7ECh] ; (3BE9:07EC=0Eh)
3BE9:109D 8A 1E 07C4 mov bl,byte ptr ds:[7C4h] ; (3BE9:07C4=0C7h)
3BE9:10A1 B7 01 mov bh,1
3BE9:10A3 86 3E 07B5 xchg byte ptr ds:[7B5h],bh ; (3BE9:07B5=0A3h)
3BE9:10A7 53 push bx
3BE9:10A8 FF 36 07BB push word ptr ds:[7BBh] ; (3BE9:07BB=0C8A3h)
3BE9:10AC FF 36 07BD push word ptr ds:[7BDh] ; (3BE9:07BD=0A103h)
3BE9:10B0 FF 36 07ED push word ptr ds:[7EDh] ; (3BE9:07ED=3B0h)
3BE9:10B4 FF 36 07EF push word ptr ds:[7EFh] ; (3BE9:07EF=0E88h)
3BE9:10B8 FF 1E 07AA call dword ptr ds:[7AAh] ; (3BE9:07AA=0C032h)
3BE9:10BC 83 C4 0A add sp,0Ah
3BE9:10BF FC cld ; Clear direction
3BE9:10C0 1E push ds
3BE9:10C1 07 pop es
3BE9:10C2 C3 retn
sub_74 endp
3BE9:10C3 loc_122: ; xref 3BE9:1129
3BE9:10C3 ,B5 01 mov ch,1
3BE9:10C5 EB 07 jmp short loc_124 ; (10CE)
3BE9:10C7 loc_123: ; xref 3BE9:1520
3BE9:10C7 ,C6 06 07C4 FF mov byte ptr ds:[7C4h],0FFh ; (3BE9:07C4=0C7h)
3BE9:10CC B5 04 mov ch,4
3BE9:10CE loc_124: ; xref 3BE9:10C5
3BE9:10CE B1 FF mov cl,0FFh
3BE9:10D0 89 0E 07B0 mov word ptr ds:[7B0h],cx ; (3BE9:07B0=2B0h)
3BE9:10D4 loc_125: ; xref 3BE9:15AD
3BE9:10D4 ,8B 26 0884 mov sp,word ptr ds:[884h] ; (3BE9:0884=0FE8h)
3BE9:10D8 E9 FF53 jmp loc_116 ; (102E)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1357, 1616
;==========================================================================
3BE9:10DB sub_75 proc near
3BE9:10DB 32 ED xor ch,ch ; Zero register
3BE9:10DD 8B F2 mov si,dx
3BE9:10DF 8B FB mov di,bx
3BE9:10E1 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:10E3 C3 retn
sub_75 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:152B
;==========================================================================
3BE9:10E4 sub_76 proc near
3BE9:10E4 8A C8 mov cl,al
3BE9:10E6 B0 09 mov al,9
3BE9:10E8 E8 FFA2 call sub_73 ; (108D)
3BE9:10EB 0B DB or bx,bx ; Zero ?
3BE9:10ED 74 30 jz loc_ret_127 ; Jump if zero
3BE9:10EF 83 C3 08 add bx,8
3BE9:10F2 8B F3 mov si,bx
3BE9:10F4 ,BF 07C8 mov di,7C8h ; (3BE9:07C8=0)
3BE9:10F7 B9 000A mov cx,0Ah
3BE9:10FA F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:10FC 8B 36 07C8 mov si,word ptr ds:[7C8h] ; (3BE9:07C8=0)
3BE9:1100 ,BF 07D2 mov di,7D2h ; (3BE9:07D2=0B6h)
3BE9:1103 B9 0011 mov cx,11h
3BE9:1106 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
3BE9:1108 8A 0E 07E1 mov cl,byte ptr ds:[7E1h] ; (3BE9:07E1=0B8h)
3BE9:110C D3 26 07D2 shl word ptr ds:[7D2h],cl ; (3BE9:07D2=3B6h) Shift w/zeros fill
3BE9:1110 A0 07D8 mov al,byte ptr ds:[7D8h] ; (3BE9:07D8=6)
3BE9:1113 0A C0 or al,al ; Zero ?
3BE9:1115 74 02 jz loc_126 ; Jump if zero
3BE9:1117 B0 01 mov al,1
3BE9:1119 loc_126: ; xref 3BE9:1115
3BE9:1119 FE C8 dec al
3BE9:111B A2 07E5 mov byte ptr ds:[7E5h],al ; (3BE9:07E5=4Fh)
3BE9:111E F9 stc ; Set carry flag
3BE9:111F loc_ret_127: ; xref 3BE9:10ED, 1127
3BE9:111F C3 retn
sub_76 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1437, 1662
;==========================================================================
3BE9:1120 sub_77 proc near
3BE9:1120 B0 0A mov al,0Ah
3BE9:1122 E8 FF70 call sub_74 ; (1095)
3BE9:1125 0A C0 or al,al ; Zero ?
3BE9:1127 74 F6 jz loc_ret_127 ; Jump if zero
3BE9:1129 E9 FF97 ;* jmp loc_122 ; (10C3)
sub_77 endp
3BE9:1129 db 0E9h, 97h,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1434, 165A
;==========================================================================
3BE9:112C sub_78 proc near
3BE9:112C A1 07EA mov ax,word ptr ds:[7EAh] ; (3BE9:07EA=890Fh)
3BE9:112F 33 D2 xor dx,dx ; Zero register
3BE9:1131 8A 16 07EC mov dl,byte ptr ds:[7ECh] ; (3BE9:07EC=0Eh)
3BE9:1135 F7 36 07D2 div word ptr ds:[7D2h] ; (3BE9:07D2=3B6h) ax,dxrem=dx:ax/data
3BE9:1139 03 06 07DF add ax,word ptr ds:[7DFh] ; (3BE9:07DF=386h)
3BE9:113D A3 07BB mov word ptr ds:[7BBh],ax ; (3BE9:07BB=0C8A3h)
3BE9:1140 8A 0E 07E1 mov cl,byte ptr ds:[7E1h] ; (3BE9:07E1=0B8h)
3BE9:1144 D3 EA shr dx,cl ; Shift w/zeros fill
3BE9:1146 89 16 07BD mov word ptr ds:[7BDh],dx ; (3BE9:07BD=0A103h)
3BE9:114A C3 retn
sub_78 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1178, 14A2
;==========================================================================
3BE9:114B sub_79 proc near
3BE9:114B 8A 0E 07D4 mov cl,byte ptr ds:[7D4h] ; (3BE9:07D4=0A3h)
3BE9:114F 8A 2E 07E8 mov ch,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
3BE9:1153 D2 ED shr ch,cl ; Shift w/zeros fill
3BE9:1155 F6 D9 neg cl
3BE9:1157 80 C1 07 add cl,7
3BE9:115A A0 07E7 mov al,byte ptr ds:[7E7h] ; (3BE9:07E7=0D3h)
3BE9:115D D2 E0 shl al,cl ; Shift w/zeros fill
3BE9:115F 02 C5 add al,ch
3BE9:1161 C3 retn
sub_79 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1182, 14B5, 14BA
;==========================================================================
3BE9:1162 sub_80 proc near
3BE9:1162 ,BB 0896 mov bx,896h ; (3BE9:0896=0B0h)
3BE9:1165 03 D9 add bx,cx
3BE9:1167 80 3E 07E5 00 cmp byte ptr ds:[7E5h],0 ; (3BE9:07E5=4Fh)
3BE9:116C 74 05 je loc_128 ; Jump if equal
3BE9:116E 8A 1F mov bl,[bx]
3BE9:1170 32 FF xor bh,bh ; Zero register
3BE9:1172 C3 retn
3BE9:1173 loc_128: ; xref 3BE9:116C
3BE9:1173 03 D9 add bx,cx
3BE9:1175 8B 1F mov bx,[bx]
3BE9:1177 C3 retn
sub_80 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:141F
;==========================================================================
3BE9:1178 sub_81 proc near
3BE9:1178 E8 FFD0 call sub_79 ; (114B)
3BE9:117B A2 07E4 mov byte ptr ds:[7E4h],al ; (3BE9:07E4=8Ah)
3BE9:117E 8A C8 mov cl,al
3BE9:1180 32 ED xor ch,ch ; Zero register
3BE9:1182 E8 FFDD call sub_80 ; (1162)
3BE9:1185 89 1E 07EA mov word ptr ds:[7EAh],bx ; (3BE9:07EA=890Fh)
3BE9:1189 0B DB or bx,bx ; Zero ?
3BE9:118B C3 retn
sub_81 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1424
;==========================================================================
3BE9:118C sub_82 proc near
3BE9:118C 8A 0E 07D4 mov cl,byte ptr ds:[7D4h] ; (3BE9:07D4=0A3h)
3BE9:1190 A1 07EA mov ax,word ptr ds:[7EAh] ; (3BE9:07EA=890Fh)
3BE9:1193 32 FF xor bh,bh ; Zero register
3BE9:1195 8A DC mov bl,ah
3BE9:1197 D3 E0 shl ax,cl ; Shift w/zeros fill
3BE9:1199 D3 E3 shl bx,cl ; Shift w/zeros fill
3BE9:119B 93 xchg bx,ax
3BE9:119C A0 07E8 mov al,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
3BE9:119F 22 06 07D5 and al,byte ptr ds:[7D5h] ; (3BE9:07D5=0C8h)
3BE9:11A3 A2 07B6 mov byte ptr ds:[7B6h],al ; (3BE9:07B6=0C6h)
3BE9:11A6 0A D8 or bl,al
3BE9:11A8 89 1E 07EA mov word ptr ds:[7EAh],bx ; (3BE9:07EA=890Fh)
3BE9:11AC 88 26 07EC mov byte ptr ds:[7ECh],ah ; (3BE9:07EC=0Eh)
3BE9:11B0 C3 retn
sub_82 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:13CE, 1405
;==========================================================================
3BE9:11B1 sub_83 proc near
3BE9:11B1 A0 08A6 mov al,byte ptr ds:[8A6h] ; (3BE9:08A6=7)
3BE9:11B4 A2 07E8 mov byte ptr ds:[7E8h],al ; (3BE9:07E8=0E0h)
3BE9:11B7 80 3E 0895 00 cmp byte ptr ds:[895h],0 ; (3BE9:0895=0C3h)
3BE9:11BC 75 08 jne loc_129 ; Jump if not equal
3BE9:11BE E8 00A3 call sub_91 ; (1264)
3BE9:11C1 8A C8 mov cl,al
3BE9:11C3 E8 01A1 call sub_99 ; (1367)
3BE9:11C6 loc_129: ; xref 3BE9:11BC
3BE9:11C6 A0 0895 mov al,byte ptr ds:[895h] ; (3BE9:0895=0C3h)
3BE9:11C9 3C 81 cmp al,81h
3BE9:11CB 72 02 jb loc_130 ; Jump if below
3BE9:11CD B0 80 mov al,80h
3BE9:11CF loc_130: ; xref 3BE9:11CB
3BE9:11CF A2 07E6 mov byte ptr ds:[7E6h],al ; (3BE9:07E6=0Fh)
3BE9:11D2 A0 07D6 mov al,byte ptr ds:[7D6h] ; (3BE9:07D6=3)
3BE9:11D5 22 06 0892 and al,byte ptr ds:[892h] ; (3BE9:0892=1Dh)
3BE9:11D9 A2 07E7 mov byte ptr ds:[7E7h],al ; (3BE9:07E7=0D3h)
3BE9:11DC C3 retn
sub_83 endp
3BE9:11DD loc_131: ; xref 3BE9:143A, 15B5
3BE9:11DD ,B0 01 mov al,1
3BE9:11DF 02 06 07E8 add al,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
3BE9:11E3 A2 08A6 mov byte ptr ds:[8A6h],al ; (3BE9:08A6=7)
3BE9:11E6 80 3E 0895 80 cmp byte ptr ds:[895h],80h ; (3BE9:0895=0C3h)
3BE9:11EB 73 06 jae loc_ret_132 ; Jump if above or =
3BE9:11ED A0 07E6 mov al,byte ptr ds:[7E6h] ; (3BE9:07E6=0Fh)
3BE9:11F0 A2 0895 mov byte ptr ds:[895h],al ; (3BE9:0895=0C3h)
3BE9:11F3 loc_ret_132: ; xref 3BE9:11EB
3BE9:11F3 C3 retn
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:12C6, 134D
;==========================================================================
3BE9:11F4 sub_84 proc near
3BE9:11F4 8A 1E 07F1 mov bl,byte ptr ds:[7F1h] ; (3BE9:07F1=0C1h)
3BE9:11F8 32 FF xor bh,bh ; Zero register
3BE9:11FA 03 1E 07C6 add bx,word ptr ds:[7C6h] ; (3BE9:07C6=3B4h)
3BE9:11FE C3 retn
sub_84 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:124F
;==========================================================================
3BE9:11FF sub_85 proc near
3BE9:11FF A1 08CB mov ax,word ptr ds:[8CBh] ; (3BE9:08CB=744Eh)
3BE9:1202 B1 02 mov cl,2
3BE9:1204 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1206 A3 07EA mov word ptr ds:[7EAh],ax ; (3BE9:07EA=890Fh)
3BE9:1209 C6 06 07EC 00 mov byte ptr ds:[7ECh],0 ; (3BE9:07EC=0Eh)
3BE9:120E B4 03 mov ah,3
3BE9:1210 E8 03A5 call sub_108 ; (15B8)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1022, 1431
3BE9:1213 sub_86:
3BE9:1213 A1 08C7 mov ax,word ptr ds:[8C7h] ; (3BE9:08C7=245Eh)
3BE9:1216 A3 07ED mov word ptr ds:[7EDh],ax ; (3BE9:07ED=3B0h)
3BE9:1219 A1 08C5 mov ax,word ptr ds:[8C5h] ; (3BE9:08C5=145h)
3BE9:121C A3 07EF mov word ptr ds:[7EFh],ax ; (3BE9:07EF=0E88h)
3BE9:121F C3 retn
sub_85 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:12BD, 1589
;==========================================================================
3BE9:1220 sub_87 proc near
3BE9:1220 ,BB 08CB mov bx,8CBh ; (3BE9:08CB=4Eh)
3BE9:1223 83 3F FF ;* cmp word ptr [bx],0FFFFh
3BE9:1223 db 83h, 3Fh,0FFh ; Fixup - byte match
3BE9:1226 C3 retn
sub_87 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:12B7
;==========================================================================
3BE9:1227 sub_88 proc near
3BE9:1227 loc_133: ; xref 3BE9:123D
3BE9:1227 C7 06 08CB FFFF mov word ptr ds:[8CBh],0FFFFh ; (3BE9:08CB=744Eh)
3BE9:122D C3 retn
sub_88 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:12BA
;==========================================================================
3BE9:122E sub_89 proc near
3BE9:122E 8B 16 07D9 mov dx,word ptr ds:[7D9h] ; (3BE9:07D9=3B4h)
3BE9:1232 8B 1E 08CB mov bx,word ptr ds:[8CBh] ; (3BE9:08CB=744Eh)
3BE9:1236 43 inc bx
3BE9:1237 89 1E 08CB mov word ptr ds:[8CBh],bx ; (3BE9:08CB=744Eh)
3BE9:123B 2B D3 sub dx,bx
3BE9:123D 72 E8 jc loc_133 ; Jump if carry Set
3BE9:123F A0 08CB mov al,byte ptr ds:[8CBh] ; (3BE9:08CB=4Eh)
3BE9:1242 24 03 and al,3
3BE9:1244 B1 05 mov cl,5
3BE9:1246 D2 E0 shl al,cl ; Shift w/zeros fill
3BE9:1248 A2 07F1 mov byte ptr ds:[7F1h],al ; (3BE9:07F1=0C1h)
3BE9:124B 0A C0 or al,al ; Zero ?
3BE9:124D 75 03 jnz loc_ret_134 ; Jump if not zero
3BE9:124F E8 FFAD call sub_85 ; (11FF)
3BE9:1252 loc_ret_134: ; xref 3BE9:124D
3BE9:1252 C3 retn
sub_89 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1307, 13AB
;==========================================================================
3BE9:1253 sub_90 proc near
3BE9:1253 51 push cx
3BE9:1254 8A 2E 07D6 mov ch,byte ptr ds:[7D6h] ; (3BE9:07D6=3)
3BE9:1258 F6 D5 not ch
3BE9:125A 22 CD and cl,ch
3BE9:125C 22 C5 and al,ch
3BE9:125E 2A C1 sub al,cl
3BE9:1260 24 1F and al,1Fh
3BE9:1262 59 pop cx
3BE9:1263 C3 retn
sub_90 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:11BE, 135A, 13EF
;==========================================================================
3BE9:1264 sub_91 proc near
3BE9:1264 ,BB 08A6 mov bx,8A6h ; (3BE9:08A6=7)
3BE9:1267 BA 1001 mov dx,1001h
3BE9:126A loc_135: ; xref 3BE9:1274, 1295
3BE9:126A FE CE dec dh
3BE9:126C 4B dec bx
3BE9:126D 80 3F 00 cmp byte ptr [bx],0
3BE9:1270 75 06 jne loc_136 ; Jump if not equal
3BE9:1272 0A F6 or dh,dh ; Zero ?
3BE9:1274 75 F4 jnz loc_135 ; Jump if not zero
3BE9:1276 FE CA dec dl
3BE9:1278 loc_136: ; xref 3BE9:1270
3BE9:1278 88 16 07E4 mov byte ptr ds:[7E4h],dl ; (3BE9:07E4=8Ah)
3BE9:127C 80 3E 07E5 FF cmp byte ptr ds:[7E5h],0FFh ; (3BE9:07E5=4Fh)
3BE9:1281 8A C6 mov al,dh
3BE9:1283 74 02 jz loc_137 ; Jump if zero
3BE9:1285 D0 E8 shr al,1 ; Shift w/zeros fill
3BE9:1287 loc_137: ; xref 3BE9:1283
3BE9:1287 B1 07 mov cl,7
3BE9:1289 2A 0E 07D4 sub cl,byte ptr ds:[7D4h] ; (3BE9:07D4=0A3h)
3BE9:128D D2 E8 shr al,cl ; Shift w/zeros fill
3BE9:128F 8A 26 07D6 mov ah,byte ptr ds:[7D6h] ; (3BE9:07D6=3)
3BE9:1293 3A E0 cmp ah,al
3BE9:1295 72 D3 jb loc_135 ; Jump if below
3BE9:1297 ,BB 0892 mov bx,892h ; (3BE9:0892=1Dh)
3BE9:129A 8A 0F mov cl,[bx]
3BE9:129C F6 D4 not ah
3BE9:129E 80 E4 1F and ah,1Fh
3BE9:12A1 22 E1 and ah,cl
3BE9:12A3 0A C4 or al,ah
3BE9:12A5 C3 retn
sub_91 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:12B4
;==========================================================================
3BE9:12A6 sub_92 proc near
3BE9:12A6 BB 0886 mov bx,886h
3BE9:12A9 89 1E 07C1 mov word ptr ds:[7C1h],bx ; (3BE9:07C1=0B8A3h)
3BE9:12AD 88 0E 08CD mov byte ptr ds:[8CDh],cl ; (3BE9:08CD=10h)
3BE9:12B1 C3 retn
sub_92 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1342, 13C6
;==========================================================================
3BE9:12B2 sub_93 proc near
3BE9:12B2 B1 0F mov cl,0Fh
3BE9:12B4 E8 FFEF call sub_92 ; (12A6)
3BE9:12B7 E8 FF6D call sub_88 ; (1227)
3BE9:12BA loc_138: ; xref 3BE9:12D7, 1315
3BE9:12BA ,E8 FF71 call sub_89 ; (122E)
3BE9:12BD E8 FF60 call sub_87 ; (1220)
3BE9:12C0 74 17 jz loc_139 ; Jump if zero
3BE9:12C2 8B 16 07C1 mov dx,word ptr ds:[7C1h] ; (3BE9:07C1=0B8A3h)
3BE9:12C6 E8 FF2B call sub_84 ; (11F4)
3BE9:12C9 8A 0E 08CD mov cl,byte ptr ds:[8CDh] ; (3BE9:08CD=10h)
3BE9:12CD 32 ED xor ch,ch ; Zero register
3BE9:12CF 8A 07 mov al,[bx]
3BE9:12D1 24 EF and al,0EFh
3BE9:12D3 3A 07 cmp al,[bx]
3BE9:12D5 74 0B je loc_140 ; Jump if equal
3BE9:12D7 EB E1 jmp short loc_138 ; (12BA)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:15AA
3BE9:12D9 sub_94:
3BE9:12D9 loc_139: ; xref 3BE9:12C0
3BE9:12D9 B0 FF mov al,0FFh
3BE9:12DB 8A E8 mov ch,al
3BE9:12DD FE C5 inc ch
3BE9:12DF E9 FDA7 jmp loc_121 ; (1089)
3BE9:12E2 loc_140: ; xref 3BE9:12D5, 1313
3BE9:12E2 ,0A C9 or cl,cl ; Zero ?
3BE9:12E4 74 32 jz loc_145 ; Jump if zero
3BE9:12E6 8B F2 mov si,dx
3BE9:12E8 AC lodsb ; String [si] to al
3BE9:12E9 24 7F and al,7Fh
3BE9:12EB 80 FD 0D cmp ch,0Dh
3BE9:12EE 74 1D je loc_143 ; Jump if equal
3BE9:12F0 80 FD 0C cmp ch,0Ch
3BE9:12F3 74 0F je loc_142 ; Jump if equal
3BE9:12F5 80 FD 0E cmp ch,0Eh
3BE9:12F8 75 02 jne loc_141 ; Jump if not equal
3BE9:12FA 24 3F and al,3Fh ; '?'
3BE9:12FC loc_141: ; xref 3BE9:12F8
3BE9:12FC 2A 07 sub al,[bx]
3BE9:12FE 24 7F and al,7Fh
3BE9:1300 75 13 jnz loc_144 ; Jump if not zero
3BE9:1302 EB 09 jmp short loc_143 ; (130D)
3BE9:1304 loc_142: ; xref 3BE9:12F3
3BE9:1304 51 push cx
3BE9:1305 8A 0F mov cl,[bx]
3BE9:1307 E8 FF49 call sub_90 ; (1253)
3BE9:130A 59 pop cx
3BE9:130B 75 08 jnz loc_144 ; Jump if not zero
3BE9:130D loc_143: ; xref 3BE9:12EE, 1302
3BE9:130D 42 inc dx
3BE9:130E 43 inc bx
3BE9:130F FE C5 inc ch
3BE9:1311 FE C9 dec cl
3BE9:1313 EB CD jmp short loc_140 ; (12E2)
3BE9:1315 loc_144: ; xref 3BE9:1300, 130B
3BE9:1315 E9 FFA2 ;* jmp loc_138 ; (12BA)
3BE9:1315 db 0E9h,0A2h,0FFh ; Fixup - byte match
3BE9:1318 loc_145: ; xref 3BE9:12E4
3BE9:1318 32 C0 xor al,al ; Zero register
3BE9:131A A2 07B0 mov byte ptr ds:[7B0h],al ; (3BE9:07B0=0B0h)
3BE9:131D 8A E8 mov ch,al
3BE9:131F FE C5 inc ch
3BE9:1321 C3 retn
sub_93 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:157D
;==========================================================================
3BE9:1322 sub_95 proc near
3BE9:1322 BB 0886 mov bx,886h
3BE9:1325 E8 0007 call sub_96 ; (132F)
3BE9:1328 75 17 jnz loc_ret_147 ; Jump if not zero
3BE9:132A B0 09 mov al,9
3BE9:132C E9 0276 jmp loc_181 ; (15A5)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1325
3BE9:132F sub_96:
3BE9:132F B9 3F0B mov cx,3F0Bh
3BE9:1332 loc_146: ; xref 3BE9:133D
3BE9:1332 43 inc bx
3BE9:1333 8A C5 mov al,ch
3BE9:1335 2A 07 sub al,[bx]
3BE9:1337 22 C5 and al,ch
3BE9:1339 74 06 jz loc_ret_147 ; Jump if zero
3BE9:133B FE C9 dec cl
3BE9:133D 75 F3 jnz loc_146 ; Jump if not zero
3BE9:133F 0A C0 or al,al ; Zero ?
3BE9:1341 loc_ret_147: ; xref 3BE9:1328, 1339, 1345
3BE9:1341 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1580
3BE9:1342 sub_97:
3BE9:1342 E8 FF6D call sub_93 ; (12B2)
3BE9:1345 74 FA jz loc_ret_147 ; Jump if zero
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:13CB
3BE9:1347 sub_98:
3BE9:1347 E9 044F jmp loc_189 ; (1799)
3BE9:134A loc_148: ; xref 3BE9:17A1
3BE9:134A ,8A 27 mov ah,[bx]
3BE9:134C 50 push ax
3BE9:134D E8 FEA4 call sub_84 ; (11F4)
3BE9:1350 8B D3 mov dx,bx
3BE9:1352 BB 0886 mov bx,886h
3BE9:1355 B1 20 mov cl,20h ; ' '
3BE9:1357 E8 FD81 call sub_75 ; (10DB)
3BE9:135A E8 FF07 call sub_91 ; (1264)
3BE9:135D 8A C8 mov cl,al
3BE9:135F 58 pop ax
3BE9:1360 5B pop bx
3BE9:1361 88 07 mov [bx],al
3BE9:1363 4B dec bx
3BE9:1364 4B dec bx
3BE9:1365 88 27 mov [bx],ah
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:11C3, 1400
3BE9:1367 sub_99:
3BE9:1367 32 ED xor ch,ch ; Zero register
3BE9:1369 ,BE 0895 mov si,895h ; (3BE9:0895=0C3h)
3BE9:136C 8A 07 mov al,[bx]
3BE9:136E 2A C1 sub al,cl
3BE9:1370 74 0B jz loc_151 ; Jump if zero
3BE9:1372 8A C5 mov al,ch
3BE9:1374 73 04 jnc loc_149 ; Jump if carry=0
3BE9:1376 B0 80 mov al,80h
3BE9:1378 0A 04 or al,[si]
3BE9:137A loc_149: ; xref 3BE9:1374
3BE9:137A 88 04 mov [si],al
3BE9:137C loc_ret_150: ; xref 3BE9:137F, 1389
3BE9:137C C3 retn
3BE9:137D loc_151: ; xref 3BE9:1370
3BE9:137D 38 04 cmp [si],al
3BE9:137F 75 FB jne loc_ret_150 ; Jump if not equal
3BE9:1381 32 C0 xor al,al ; Zero register
3BE9:1383 88 04 mov [si],al
3BE9:1385 38 06 07E4 cmp byte ptr ds:[7E4h],al ; (3BE9:07E4=8Ah)
3BE9:1389 74 F1 je loc_ret_150 ; Jump if equal
3BE9:138B C6 04 80 mov byte ptr [si],80h
3BE9:138E C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:13FD
3BE9:138F sub_100:
3BE9:138F A0 0895 mov al,byte ptr ds:[895h] ; (3BE9:0895=0C3h)
3BE9:1392 3C 81 cmp al,81h
3BE9:1394 72 05 jb loc_ret_152 ; Jump if below
3BE9:1396 24 7F and al,7Fh
3BE9:1398 A2 0895 mov byte ptr ds:[895h],al ; (3BE9:0895=0C3h)
3BE9:139B loc_ret_152: ; xref 3BE9:1394
3BE9:139B C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1415
3BE9:139C sub_101:
3BE9:139C A0 0894 mov al,byte ptr ds:[894h] ; (3BE9:0894=7)
3BE9:139F A2 07E3 mov byte ptr ds:[7E3h],al ; (3BE9:07E3=0)
3BE9:13A2 ,BB 0892 mov bx,892h ; (3BE9:0892=1Dh)
3BE9:13A5 8A 07 mov al,[bx]
3BE9:13A7 8A C8 mov cl,al
3BE9:13A9 FE C1 inc cl
3BE9:13AB E8 FEA5 call sub_90 ; (1253)
3BE9:13AE 75 03 jnz loc_153 ; Jump if not zero
3BE9:13B0 E9 003A jmpn loc_157 ; (13ED)
3BE9:13B3 loc_153: ; xref 3BE9:13AE
3BE9:13B3 B0 1F mov al,1Fh
3BE9:13B5 22 C1 and al,cl
3BE9:13B7 88 07 mov [bx],al
3BE9:13B9 75 0B jnz loc_154 ; Jump if not zero
3BE9:13BB 83 C3 02 add bx,2
3BE9:13BE FE 07 inc byte ptr [bx]
3BE9:13C0 8A 07 mov al,[bx]
3BE9:13C2 24 3F and al,3Fh ; '?'
3BE9:13C4 74 13 jz loc_156 ; Jump if zero
3BE9:13C6 loc_154: ; xref 3BE9:13B9
3BE9:13C6 E8 FEE9 call sub_93 ; (12B2)
3BE9:13C9 74 0E jz loc_156 ; Jump if zero
3BE9:13CB E8 FF79 call sub_98 ; (1347)
3BE9:13CE loc_155: ; xref 3BE9:1403
3BE9:13CE ,E8 FDE0 call sub_83 ; (11B1)
3BE9:13D1 32 C0 xor al,al ; Zero register
3BE9:13D3 A2 07E8 mov byte ptr ds:[7E8h],al ; (3BE9:07E8=0E0h)
3BE9:13D6 E9 FCB0 jmp loc_121 ; (1089)
3BE9:13D9 loc_156: ; xref 3BE9:13C4, 13C9
3BE9:13D9 ,BB 0892 mov bx,892h ; (3BE9:0892=1Dh)
3BE9:13DC A0 07E3 mov al,byte ptr ds:[7E3h] ; (3BE9:07E3=0)
3BE9:13DF 88 47 02 mov [bx+2],al
3BE9:13E2 8A 07 mov al,[bx]
3BE9:13E4 FE C8 dec al
3BE9:13E6 24 1F and al,1Fh
3BE9:13E8 88 07 mov [bx],al
3BE9:13EA E9 FC9A jmp loc_120 ; (1087)
3BE9:13ED loc_157: ; xref 3BE9:13B0
3BE9:13ED 88 0F mov [bx],cl
3BE9:13EF E8 FE72 call sub_91 ; (1264)
3BE9:13F2 8A C8 mov cl,al
3BE9:13F4 3A 07 cmp al,[bx]
3BE9:13F6 73 05 jae loc_158 ; Jump if above or =
3BE9:13F8 FE 0F dec byte ptr [bx]
3BE9:13FA E9 FC8A jmp loc_120 ; (1087)
3BE9:13FD loc_158: ; xref 3BE9:13F6
3BE9:13FD E8 FF8F call sub_100 ; (138F)
3BE9:1400 E8 FF64 call sub_99 ; (1367)
3BE9:1403 EB C9 jmp short loc_155 ; (13CE)
3BE9:1405 loc_159: ; xref 3BE9:15A2
3BE9:1405 ,E8 FDA9 call sub_83 ; (11B1)
3BE9:1408 A0 07E8 mov al,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
3BE9:140B 3A 06 07E6 cmp al,byte ptr ds:[7E6h] ; (3BE9:07E6=0Fh)
3BE9:140F 72 0E jb loc_160 ; Jump if below
3BE9:1411 3C 80 cmp al,80h
3BE9:1413 75 28 jne loc_163 ; Jump if not equal
3BE9:1415 E8 FF84 call sub_101 ; (139C)
3BE9:1418 80 3E 07B0 00 cmp byte ptr ds:[7B0h],0 ; (3BE9:07B0=0B0h)
3BE9:141D 75 1E jne loc_163 ; Jump if not equal
3BE9:141F loc_160: ; xref 3BE9:140F
3BE9:141F E8 FD56 call sub_81 ; (1178)
3BE9:1422 74 19 jz loc_163 ; Jump if zero
3BE9:1424 E8 FD65 call sub_82 ; (118C)
3BE9:1427 E8 0016 call sub_102 ; (1440)
3BE9:142A 72 0E jc loc_162 ; Jump if carry Set
3BE9:142C 75 03 jnz loc_161 ; Jump if not zero
3BE9:142E E9 017F jmp loc_182 ; (15B0)
3BE9:1431 loc_161: ; xref 3BE9:142C
3BE9:1431 E8 FDDF call sub_86 ; (1213)
3BE9:1434 E8 FCF5 call sub_78 ; (112C)
3BE9:1437 E8 FCE6 call sub_77 ; (1120)
3BE9:143A loc_162: ; xref 3BE9:142A
3BE9:143A E9 FDA0 jmp loc_131 ; (11DD)
3BE9:143D loc_163: ; xref 3BE9:1413, 141D, 1422
3BE9:143D E9 FC47 jmp loc_120 ; (1087)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1427
3BE9:1440 sub_102:
3BE9:1440 8A 2E 07B6 mov ch,byte ptr ds:[7B6h] ; (3BE9:07B6=0C6h)
3BE9:1444 A0 07B3 mov al,byte ptr ds:[7B3h] ; (3BE9:07B3=33h)
3BE9:1447 3C 02 cmp al,2
3BE9:1449 72 07 jb loc_164 ; Jump if below
3BE9:144B FE C8 dec al
3BE9:144D A2 07B3 mov byte ptr ds:[7B3h],al ; (3BE9:07B3=33h)
3BE9:1450 F9 stc ; Set carry flag
3BE9:1451 C3 retn
3BE9:1452 loc_164: ; xref 3BE9:1449
3BE9:1452 A0 07E2 mov al,byte ptr ds:[7E2h] ; (3BE9:07E2=80h)
3BE9:1455 8A C8 mov cl,al
3BE9:1457 22 C5 and al,ch
3BE9:1459 74 0A jz loc_167 ; Jump if zero
3BE9:145B loc_165: ; xref 3BE9:146E
3BE9:145B 0A C9 or cl,cl ; Zero ?
3BE9:145D 74 03 jz loc_166 ; Jump if zero
3BE9:145F 32 C0 xor al,al ; Zero register
3BE9:1461 C3 retn
3BE9:1462 loc_166: ; xref 3BE9:145D
3BE9:1462 0C 01 or al,1
3BE9:1464 C3 retn
3BE9:1465 loc_167: ; xref 3BE9:1459
3BE9:1465 8A F1 mov dh,cl
3BE9:1467 F6 D6 not dh
3BE9:1469 A0 07B4 mov al,byte ptr ds:[7B4h] ; (3BE9:07B4=0C0h)
3BE9:146C 3C 02 cmp al,2
3BE9:146E 72 EB jb loc_165 ; Jump if below
3BE9:1470 ,BB 07E8 mov bx,7E8h ; (3BE9:07E8=0E0h)
3BE9:1473 8A 27 mov ah,[bx]
3BE9:1475 02 C4 add al,ah
3BE9:1477 3C 80 cmp al,80h
3BE9:1479 72 02 jb loc_168 ; Jump if below
3BE9:147B B0 80 mov al,80h
3BE9:147D loc_168: ; xref 3BE9:1479
3BE9:147D 51 push cx
3BE9:147E C6 07 7F mov byte ptr [bx],7Fh
3BE9:1481 53 push bx
3BE9:1482 50 push ax
3BE9:1483 8A D8 mov bl,al
3BE9:1485 A0 07D5 mov al,byte ptr ds:[7D5h] ; (3BE9:07D5=0C8h)
3BE9:1488 8A D0 mov dl,al
3BE9:148A FE C2 inc dl
3BE9:148C F6 D0 not al
3BE9:148E 22 E0 and ah,al
3BE9:1490 A0 07E6 mov al,byte ptr ds:[7E6h] ; (3BE9:07E6=0Fh)
3BE9:1493 22 C6 and al,dh
3BE9:1495 3A C3 cmp al,bl
3BE9:1497 72 02 jb loc_169 ; Jump if below
3BE9:1499 8A C3 mov al,bl
3BE9:149B loc_169: ; xref 3BE9:1497
3BE9:149B 2A C4 sub al,ah
3BE9:149D 3A C2 cmp al,dl
3BE9:149F 72 43 jb loc_172 ; Jump if below
3BE9:14A1 50 push ax
3BE9:14A2 E8 FCA6 call sub_79 ; (114B)
3BE9:14A5 8A E8 mov ch,al
3BE9:14A7 A0 07E4 mov al,byte ptr ds:[7E4h] ; (3BE9:07E4=8Ah)
3BE9:14AA 3A C5 cmp al,ch
3BE9:14AC 8A D0 mov dl,al
3BE9:14AE 74 1E jz loc_171 ; Jump if zero
3BE9:14B0 8A C8 mov cl,al
3BE9:14B2 51 push cx
3BE9:14B3 B5 00 mov ch,0
3BE9:14B5 E8 FCAA call sub_80 ; (1162)
3BE9:14B8 loc_170: ; xref 3BE9:14C1
3BE9:14B8 53 push bx
3BE9:14B9 41 inc cx
3BE9:14BA E8 FCA5 call sub_80 ; (1162)
3BE9:14BD 5A pop dx
3BE9:14BE 42 inc dx
3BE9:14BF 3B DA cmp bx,dx
3BE9:14C1 74 F5 je loc_170 ; Jump if equal
3BE9:14C3 FE C9 dec cl
3BE9:14C5 5A pop dx
3BE9:14C6 8A C6 mov al,dh
3BE9:14C8 3A C1 cmp al,cl
3BE9:14CA 72 02 jb loc_171 ; Jump if below
3BE9:14CC 8A C1 mov al,cl
3BE9:14CE loc_171: ; xref 3BE9:14AE, 14CA
3BE9:14CE 2A C2 sub al,dl
3BE9:14D0 8A E8 mov ch,al
3BE9:14D2 FE C5 inc ch
3BE9:14D4 A0 07D5 mov al,byte ptr ds:[7D5h] ; (3BE9:07D5=0C8h)
3BE9:14D7 FE C0 inc al
3BE9:14D9 F6 E5 mul ch ; ax = reg * al
3BE9:14DB 59 pop cx
3BE9:14DC 86 C1 xchg al,cl
3BE9:14DE 3A C1 cmp al,cl
3BE9:14E0 72 02 jb loc_172 ; Jump if below
3BE9:14E2 8A C1 mov al,cl
3BE9:14E4 loc_172: ; xref 3BE9:149F, 14E0
3BE9:14E4 59 pop cx
3BE9:14E5 5B pop bx
3BE9:14E6 88 2F mov [bx],ch
3BE9:14E8 59 pop cx
3BE9:14E9 8A 36 07B4 mov dh,byte ptr ds:[7B4h] ; (3BE9:07B4=0C0h)
3BE9:14ED 2A C5 sub al,ch
3BE9:14EF 3A C6 cmp al,dh
3BE9:14F1 72 02 jb loc_173 ; Jump if below
3BE9:14F3 8A C6 mov al,dh
3BE9:14F5 loc_173: ; xref 3BE9:14F1
3BE9:14F5 F6 D1 not cl
3BE9:14F7 22 C1 and al,cl
3BE9:14F9 74 0E jz loc_ret_174 ; Jump if zero
3BE9:14FB A2 07B3 mov byte ptr ds:[7B3h],al ; (3BE9:07B3=33h)
3BE9:14FE 8A 0E 07E1 mov cl,byte ptr ds:[7E1h] ; (3BE9:07E1=0B8h)
3BE9:1502 D2 E8 shr al,cl ; Shift w/zeros fill
3BE9:1504 A2 07B5 mov byte ptr ds:[7B5h],al ; (3BE9:07B5=0A3h)
3BE9:1507 0C 01 or al,1
3BE9:1509 loc_ret_174: ; xref 3BE9:14F9
3BE9:1509 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:156B
3BE9:150A sub_103:
3BE9:150A 88 16 08C9 mov byte ptr ds:[8C9h],dl ; (3BE9:08C9=0DFh)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1558
3BE9:150E sub_104:
3BE9:150E A0 08C9 mov al,byte ptr ds:[8C9h] ; (3BE9:08C9=0DFh)
3BE9:1511 3A 06 07C4 cmp al,byte ptr ds:[7C4h] ; (3BE9:07C4=0C7h)
3BE9:1515 75 05 jne loc_175 ; Jump if not equal
3BE9:1517 FE C0 inc al
3BE9:1519 74 05 jz loc_176 ; Jump if zero
3BE9:151B C3 retn
3BE9:151C loc_175: ; xref 3BE9:1515
3BE9:151C 3C 10 cmp al,10h
3BE9:151E 72 03 jb loc_177 ; Jump if below
3BE9:1520 loc_176: ; xref 3BE9:1519, 152E
3BE9:1520 E9 FBA4 jmp loc_123 ; (10C7)
3BE9:1523 loc_177: ; xref 3BE9:151E
3BE9:1523 A2 07E9 mov byte ptr ds:[7E9h],al ; (3BE9:07E9=8Bh)
3BE9:1526 A2 07C4 mov byte ptr ds:[7C4h],al ; (3BE9:07C4=0C7h)
3BE9:1529 33 D2 xor dx,dx ; Zero register
3BE9:152B E8 FBB6 call sub_76 ; (10E4)
3BE9:152E 73 F0 jnc loc_176 ; Jump if carry=0
3BE9:1530 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1575, 159F
3BE9:1531 sub_105:
3BE9:1531 E8 FB12 call sub_71 ; (1046)
3BE9:1534 B1 7F mov cl,7Fh
3BE9:1536 ,BB 088D mov bx,88Dh ; (3BE9:088D=8Ch)
3BE9:1539 20 0F and [bx],cl
3BE9:153B 20 4F 01 and [bx+1],cl
3BE9:153E 80 67 05 1F and byte ptr [bx+5],1Fh
3BE9:1542 C6 06 07B2 FF mov byte ptr ds:[7B2h],0FFh ; (3BE9:07B2=0C3h)
3BE9:1547 A0 0886 mov al,byte ptr ds:[886h] ; (3BE9:0886=0)
3BE9:154A A2 07AE mov byte ptr ds:[7AEh],al ; (3BE9:07AE=1)
3BE9:154D 24 1F and al,1Fh
3BE9:154F FE C8 dec al
3BE9:1551 3C FF cmp al,0FFh
3BE9:1553 74 03 je loc_178 ; Jump if equal
3BE9:1555 A2 08C9 mov byte ptr ds:[8C9h],al ; (3BE9:08C9=0DFh)
3BE9:1558 loc_178: ; xref 3BE9:1553
3BE9:1558 E8 FFB3 call sub_104 ; (150E)
3BE9:155B A0 08CA mov al,byte ptr ds:[8CAh] ; (3BE9:08CA=3Ch)
3BE9:155E A2 0886 mov byte ptr ds:[886h],al ; (3BE9:0886=0)
3BE9:1561 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1602
3BE9:1562 sub_106:
3BE9:1562 B5 00 mov ch,0
3BE9:1564 8B F3 mov si,bx
3BE9:1566 8B FA mov di,dx
3BE9:1568 F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di]
3BE9:156A C3 retn
;* No entry point to code
3BE9:156B E8 FF9C call sub_103 ; (150A)
3BE9:156E A0 08C9 mov al,byte ptr ds:[8C9h] ; (3BE9:08C9=0DFh)
3BE9:1571 A2 07BF mov byte ptr ds:[7BFh],al ; (3BE9:07BF=0C2h)
3BE9:1574 C3 retn
;* No entry point to code
3BE9:1575 E8 FFB9 call sub_105 ; (1531)
3BE9:1578 C6 06 0894 00 mov byte ptr ds:[894h],0 ; (3BE9:0894=7)
3BE9:157D E8 FDA2 call sub_95 ; (1322)
3BE9:1580 E8 FDBF call sub_97 ; (1342)
3BE9:1583 E8 0003 call sub_107 ; (1589)
3BE9:1586 32 C0 xor al,al ; Zero register
3BE9:1588 loc_ret_179: ; xref 3BE9:158C
3BE9:1588 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:1583
3BE9:1589 sub_107:
3BE9:1589 E8 FC94 call sub_87 ; (1220)
3BE9:158C 74 FA jz loc_ret_179 ; Jump if zero
3BE9:158E ,BB 08A6 mov bx,8A6h ; (3BE9:08A6=7)
3BE9:1591 80 3F FF cmp byte ptr [bx],0FFh
3BE9:1594 75 05 jne loc_180 ; Jump if not equal
3BE9:1596 A0 0893 mov al,byte ptr ds:[893h] ; (3BE9:0893=0)
3BE9:1599 88 07 mov [bx],al
3BE9:159B loc_180: ; xref 3BE9:1594
3BE9:159B 5B pop bx
3BE9:159C B1 40 mov cl,40h ; '@'
3BE9:159E C3 retn
;* No entry point to code
3BE9:159F E8 FF8F call sub_105 ; (1531)
3BE9:15A2 E9 FE60 jmp loc_159 ; (1405)
3BE9:15A5 loc_181: ; xref 3BE9:132C
3BE9:15A5 8A C8 mov cl,al
3BE9:15A7 A2 07B1 mov byte ptr ds:[7B1h],al ; (3BE9:07B1=2)
3BE9:15AA E8 FD2C call sub_94 ; (12D9)
3BE9:15AD E9 FB24 jmp loc_125 ; (10D4)
3BE9:15B0 loc_182: ; xref 3BE9:142E
3BE9:15B0 B4 01 mov ah,1
3BE9:15B2 E8 000D call sub_109 ; (15C2)
3BE9:15B5 E9 FC25 jmp loc_131 ; (11DD)
sub_95 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1210
;==========================================================================
3BE9:15B8 sub_108 proc near
3BE9:15B8 8C 1E 07ED mov word ptr ds:[7EDh],ds ; (3BE9:07ED=3B0h)
3BE9:15BC 8B 1E 07CE mov bx,word ptr ds:[7CEh] ; (3BE9:07CE=0C2A3h)
3BE9:15C0 EB 0A jmp short loc_183 ; (15CC)
;==== External Entry into Subroutine ======================================
;
; Called from: 3BE9:15B2
3BE9:15C2 sub_109:
3BE9:15C2 8B 1E 07D0 mov bx,word ptr ds:[7D0h] ; (3BE9:07D0=0A103h)
3BE9:15C6 C7 06 07ED 0000 mov word ptr ds:[7EDh],0 ; (3BE9:07ED=3B0h)
3BE9:15CC loc_183: ; xref 3BE9:15C0
3BE9:15CC 88 26 07B7 mov byte ptr ds:[7B7h],ah ; (3BE9:07B7=3)
3BE9:15D0 8A 0E 07E2 mov cl,byte ptr ds:[7E2h] ; (3BE9:07E2=80h)
3BE9:15D4 A0 07EA mov al,byte ptr ds:[7EAh] ; (3BE9:07EA=0Fh)
3BE9:15D7 22 C1 and al,cl
3BE9:15D9 A2 07B8 mov byte ptr ds:[7B8h],al ; (3BE9:07B8=0A1h)
3BE9:15DC F6 D1 not cl
3BE9:15DE 20 0E 07EA and byte ptr ds:[7EAh],cl ; (3BE9:07EA=0Fh)
3BE9:15E2 8B 1F mov bx,[bx]
3BE9:15E4 89 1E 07B9 mov word ptr ds:[7B9h],bx ; (3BE9:07B9=3B6h)
3BE9:15E8 8B 47 0A mov ax,[bx+0Ah]
3BE9:15EB 83 3E 07ED 00 cmp word ptr ds:[7EDh],0 ; (3BE9:07ED=3B0h)
3BE9:15F0 75 05 jne loc_184 ; Jump if not equal
3BE9:15F2 A3 07ED mov word ptr ds:[7EDh],ax ; (3BE9:07ED=3B0h)
3BE9:15F5 33 C0 xor ax,ax ; Zero register
3BE9:15F7 loc_184: ; xref 3BE9:15F0
3BE9:15F7 A3 07EF mov word ptr ds:[7EFh],ax ; (3BE9:07EF=0E88h)
3BE9:15FA E8 0052 call sub_110 ; (164F)
3BE9:15FD 80 3F FF cmp byte ptr [bx],0FFh
3BE9:1600 74 05 je loc_185 ; Jump if equal
3BE9:1602 E8 FF5D call sub_106 ; (1562)
3BE9:1605 74 15 jz loc_186 ; Jump if zero
3BE9:1607 loc_185: ; xref 3BE9:1600
3BE9:1607 8B 1E 07B9 mov bx,word ptr ds:[7B9h] ; (3BE9:07B9=3B6h)
3BE9:160B C6 07 FF mov byte ptr [bx],0FFh
3BE9:160E B0 02 mov al,2
3BE9:1610 E8 0046 call sub_111 ; (1659)
3BE9:1613 E8 0039 call sub_110 ; (164F)
3BE9:1616 E8 FAC2 call sub_75 ; (10DB)
3BE9:1619 C6 05 00 mov byte ptr [di],0
3BE9:161C loc_186: ; xref 3BE9:1605
3BE9:161C 32 C0 xor al,al ; Zero register
3BE9:161E 8A 26 07B8 mov ah,byte ptr ds:[7B8h] ; (3BE9:07B8=0A1h)
3BE9:1622 D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:1624 8B 36 07EF mov si,word ptr ds:[7EFh] ; (3BE9:07EF=0E88h)
3BE9:1628 03 F0 add si,ax
3BE9:162A A0 07B7 mov al,byte ptr ds:[7B7h] ; (3BE9:07B7=3)
3BE9:162D 3C 03 cmp al,3
3BE9:162F 75 05 jne loc_187 ; Jump if not equal
3BE9:1631 89 36 07C6 mov word ptr ds:[7C6h],si ; (3BE9:07C6=3B4h)
3BE9:1635 C3 retn
3BE9:1636 loc_187: ; xref 3BE9:162F
3BE9:1636 B9 0040 mov cx,40h
3BE9:1639 8B 3E 08C5 mov di,word ptr ds:[8C5h] ; (3BE9:08C5=145h)
3BE9:163D A1 08C7 mov ax,word ptr ds:[8C7h] ; (3BE9:08C7=245Eh)
3BE9:1640 8B 16 07ED mov dx,word ptr ds:[7EDh] ; (3BE9:07ED=3B0h)
3BE9:1644 1E push ds
3BE9:1645 06 push es
3BE9:1646 8E DA mov ds,dx
3BE9:1648 8E C0 mov es,ax
3BE9:164A F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di]
3BE9:164C 07 pop es
3BE9:164D 1F pop ds
3BE9:164E C3 retn
sub_108 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:15FA, 1613
;==========================================================================
3BE9:164F sub_110 proc near
3BE9:164F 8B 1E 07B9 mov bx,word ptr ds:[7B9h] ; (3BE9:07B9=3B6h)
3BE9:1653 BA 07E9 mov dx,7E9h
3BE9:1656 B1 04 mov cl,4
3BE9:1658 C3 retn
sub_110 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1610
;==========================================================================
3BE9:1659 sub_111 proc near
3BE9:1659 50 push ax
3BE9:165A E8 FACF call sub_78 ; (112C)
3BE9:165D 58 pop ax
3BE9:165E FE C8 dec al
3BE9:1660 78 03 js loc_188 ; Jump if sign=1
3BE9:1662 E8 FABB call sub_77 ; (1120)
3BE9:1665 loc_188: ; xref 3BE9:1660
3BE9:1665 ,BE 07BB mov si,7BBh ; (3BE9:07BB=0A3h)
3BE9:1668 8B 3E 07B9 mov di,word ptr ds:[7B9h] ; (3BE9:07B9=3B6h)
3BE9:166C 83 C7 06 add di,6
3BE9:166F B9 0002 mov cx,2
3BE9:1672 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di]
3BE9:1674 C3 retn
sub_111 endp
3BE9:1675 00 09 db 0, 9
3BE9:1677 0009[00] db 9 dup (0)
3BE9:1680 01 00 db 1, 0
3BE9:1682 000C[00] db 12 dup (0)
3BE9:168E 01 FF db 01h,0FFh
3BE9:1690 0035[00] db 53 dup (0)
3BE9:16C5 008A[CC] db 138 dup (0CCh)
3BE9:174F 00 00 db 0, 0
3BE9:1751 43 4F 50 59 52 49 db 'COPYRIGHT(C)1983,DIGITAL RESEARC'
3BE9:1757 47 48 54 28 43 29
3BE9:175D 31 39 38 33 2C 44
3BE9:1763 49 47 49 54 41 4C
3BE9:1769 20 52 45 53 45 41
3BE9:176F 52 43
3BE9:1771 48 28 30 31 2F 32 db 'H(01/26/83)XXXX-0000-005434'
3BE9:1777 36 2F 38 33 29 58
3BE9:177D 58 58 58 2D 30 30
3BE9:1783 30 30 2D 30 30 35
3BE9:1789 34 33 34
3BE9:178C 000D[00] db 13 dup (0)
3BE9:1799 loc_189: ; xref 3BE9:1347
3BE9:1799 ,BB 0894 mov bx,894h ; (3BE9:0894=7)
3BE9:179C 8A 07 mov al,[bx]
3BE9:179E 53 push bx
3BE9:179F 4B dec bx
3BE9:17A0 4B dec bx
3BE9:17A1 E9 FBA6 jmp loc_148 ; (134A)
3BE9:17A4 0027[00] db 39 dup (0)
3BE9:17CB E9 4A 02 E9 C6 00 db 0E9h, 4Ah, 02h,0E9h,0C6h, 00h
3BE9:17D1 loc_190:
3BE9:17D1 E9 0004 jmpn loc_191 ; (17D8)
3BE9:17D4 85 0C B1 0C db 85h, 0Ch,0B1h, 0Ch
3BE9:17D8 loc_191: ; xref 3BE9:17D1
3BE9:17D8 FC cld ; Clear direction
3BE9:17D9 B2 00 mov dl,0
3BE9:17DB B1 20 mov cl,20h ; ' '
3BE9:17DD CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:17DF 2E: 8B 16 090B mov dx,word ptr cs:[90Bh] ; (3BE9:090B=8ED8h)
3BE9:17E4 B1 0F mov cl,0Fh
3BE9:17E6 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:17E8 3C FF cmp al,0FFh
3BE9:17EA 74 02 je loc_192 ; Jump if equal
3BE9:17EC EB 1E jmp short loc_193 ; (180C)
3BE9:17EE loc_192: ; xref 3BE9:17EA
3BE9:17EE BA 0C7B mov dx,0C7Bh
3BE9:17F1 2E: 89 16 0909 mov word ptr cs:[909h],dx ; (3BE9:0909=8C06h)
3BE9:17F6 BA 0C8F mov dx,0C8Fh
3BE9:17F9 2E: 89 16 090B mov word ptr cs:[90Bh],dx ; (3BE9:090B=8ED8h)
3BE9:17FE B1 0F mov cl,0Fh
3BE9:1800 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1802 3C FF cmp al,0FFh
3BE9:1804 75 06 jne loc_193 ; Jump if not equal
3BE9:1806 ,BE 0C4B mov si,0C4Bh ; (3BE9:0C4B=0FCh)
3BE9:1809 E9 005A jmpn loc_195 ; (1866)
3BE9:180C loc_193: ; xref 3BE9:17EC, 1804
3BE9:180C 2E: 8B 36 0909 mov si,word ptr cs:[909h] ; (3BE9:0909=8C06h)
3BE9:1811 E8 0075 call sub_112 ; (1889)
3BE9:1814 8C DA mov dx,ds
3BE9:1816 B1 33 mov cl,33h ; '3'
3BE9:1818 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:181A BA 0CD3 mov dx,0CD3h
3BE9:181D B1 1A mov cl,1Ah
3BE9:181F CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1821 B2 01 mov dl,1
3BE9:1823 B1 2C mov cl,2Ch ; ','
3BE9:1825 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1827 2E: 8B 16 090B mov dx,word ptr cs:[90Bh] ; (3BE9:090B=8ED8h)
3BE9:182C B1 14 mov cl,14h
3BE9:182E CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1830 BA 0080 mov dx,80h
3BE9:1833 B1 2C mov cl,2Ch ; ','
3BE9:1835 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1837 BA 0000 mov dx,0
3BE9:183A B1 1A mov cl,1Ah
3BE9:183C CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:183E 8B 16 0CD6 mov dx,word ptr data_177+2 ; (3BE9:0CD6=3031h)
3BE9:1842 loc_194: ; xref 3BE9:1861
3BE9:1842 52 push dx
3BE9:1843 B1 33 mov cl,33h ; '3'
3BE9:1845 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1847 B4 0E mov ah,0Eh
3BE9:1849 B0 2E mov al,2Eh ; '.'
3BE9:184B CD 10 int 10h ; Video display ah=functn 0Eh
; write char al, teletype mode
3BE9:184D 2E: 8B 16 090B mov dx,word ptr cs:[90Bh] ; (3BE9:090B=8ED8h)
3BE9:1852 B1 14 mov cl,14h
3BE9:1854 CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:1856 5A pop dx
3BE9:1857 81 C2 0400 add dx,400h
3BE9:185B 3C 01 cmp al,1
3BE9:185D 74 0D je loc_197 ; Jump if equal
3BE9:185F 3C 00 cmp al,0
3BE9:1861 74 DF je loc_194 ; Jump if equal
3BE9:1863 ,BE 0C61 mov si,0C61h ; (3BE9:0C61=0FFh)
3BE9:1866 loc_195: ; xref 3BE9:1809
3BE9:1866 E8 0020 call sub_112 ; (1889)
3BE9:1869 FB sti ; Enable interrupts
3BE9:186A loc_196: ; xref 3BE9:186A
3BE9:186A EB FE jmp short loc_196 ; (186A)
3BE9:186C loc_197: ; xref 3BE9:185D
3BE9:186C 33 C0 xor ax,ax ; Zero register
3BE9:186E A3 0CD4 mov data_177,ax ; (3BE9:0CD4=4446h)
3BE9:1871 8E 1E 0CD6 mov ds,word ptr data_177+2 ; (3BE9:0CD6=3031h)
3BE9:1875 2E: 80 3E 0CDC 00 cmp cs:data_179,0 ; (3BE9:0CDC=30h)
3BE9:187B 74 05 je loc_198 ; Jump if equal
3BE9:187D 2E: 8E 1E 0CDF mov ds,cs:data_180 ; (3BE9:0CDF=302Dh)
3BE9:1882 loc_198: ; xref 3BE9:187B
3BE9:1882 B2 00 mov dl,0
3BE9:1884 2E: FF 2E 0CD4 jmp dword ptr cs:data_177 ; (3BE9:0CD4=4446h)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1811, 1866
;==========================================================================
3BE9:1889 sub_112 proc near
3BE9:1889 loc_199: ; xref 3BE9:1894
3BE9:1889 ,AC lodsb ; String [si] to al
3BE9:188A 84 C0 test al,al
3BE9:188C 74 08 jz loc_ret_200 ; Jump if zero
3BE9:188E B4 0E mov ah,0Eh
3BE9:1890 B7 00 mov bh,0
3BE9:1892 CD 10 int 10h ; Video display ah=functn 0Eh
; write char al, teletype mode
3BE9:1894 EB F3 jmp short loc_199 ; (1889)
3BE9:1896 loc_ret_200: ; xref 3BE9:188C
3BE9:1896 C3 retn
sub_112 endp
;* No entry point to code
3BE9:1897 FC cld ; Clear direction
3BE9:1898 32 E4 xor ah,ah ; Zero register
3BE9:189A D0 E0 shl al,1 ; Shift w/zeros fill
3BE9:189C 8B D8 mov bx,ax
3BE9:189E FF 97 0B6A call data_156[bx] ;*(3BE9:0B6A=0FFE6h)
3BE9:18A2 8B D8 mov bx,ax
3BE9:18A4 CB retf
;* No entry point to code
3BE9:18A5 C3 retn
;* No entry point to code
3BE9:18A6 ,BB 0BAB mov bx,0BABh ; (3BE9:0BAB=0F8h)
3BE9:18A9 E8 0003 call sub_113 ; (18AF)
3BE9:18AC 8B C3 mov ax,bx
3BE9:18AE C3 retn
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:18A9
;==========================================================================
3BE9:18AF sub_113 proc near
3BE9:18AF 06 push es
3BE9:18B0 B8 FFFF mov ax,0FFFFh
3BE9:18B3 8E C0 mov es,ax
3BE9:18B5 26: 80 3E 000E 02 cmp byte ptr es:data_268e,2 ; (FFFF:000E=0FCh)
3BE9:18BB 75 0F jne loc_201 ; Jump if not equal
3BE9:18BD BF 0003 mov di,3
3BE9:18C0 2B C0 sub ax,ax
3BE9:18C2 8E C0 mov es,ax
3BE9:18C4 26: C6 06 0000 00 mov byte ptr es:data_1e,0 ; (0000:0000=60h)
3BE9:18CA EB 29 jmp short loc_203 ; (18F5)
3BE9:18CC loc_201: ; xref 3BE9:18BB
3BE9:18CC 33 C0 xor ax,ax ; Zero register
3BE9:18CE 8E C0 mov es,ax
3BE9:18D0 26: A0 7DFF mov al,es:data_4e ; (0000:7DFF=15h)
3BE9:18D4 1E push ds
3BE9:18D5 07 pop es
3BE9:18D6 ,BF 0B8D mov di,0B8Dh ; (3BE9:0B8D=88h)
3BE9:18D9 B1 05 mov cl,5
3BE9:18DB F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al
3BE9:18DD 74 04 jz loc_202 ; Jump if zero
3BE9:18DF 33 DB xor bx,bx ; Zero register
3BE9:18E1 EB 29 jmp short loc_204 ; (190C)
3BE9:18E3 loc_202: ; xref 3BE9:18DD
3BE9:18E3 81 EF 0B8D sub di,0B8Dh
3BE9:18E7 4F dec di
3BE9:18E8 B8 0040 mov ax,40h
3BE9:18EB 8E C0 mov es,ax
3BE9:18ED 8A 85 0B92 mov al,byte ptr ds:[0B92h][di] ; (3BE9:0B92=74h)
3BE9:18F1 26: A2 0090 mov es:data_5e,al ; (0040:0090=7)
3BE9:18F5 loc_203: ; xref 3BE9:18CA
3BE9:18F5 D1 E7 shl di,1 ; Shift w/zeros fill
3BE9:18F7 8B 85 0BA1 mov ax,word ptr ds:[0BA1h][di] ; (3BE9:0BA1=0AEE9h)
3BE9:18FB 89 47 08 mov [bx+8],ax
3BE9:18FE 8B F0 mov si,ax
3BE9:1900 8A 04 mov al,[si]
3BE9:1902 A2 0B83 mov byte ptr ds:[0B83h],al ; (3BE9:0B83=0BBh)
3BE9:1905 8B 85 0B97 mov ax,word ptr ds:[0B97h][di] ; (3BE9:0B97=6DB1h)
3BE9:1909 A3 0B80 mov word ptr ds:[0B80h],ax ; (3BE9:0B80=34Fh)
3BE9:190C loc_204: ; xref 3BE9:18E1
3BE9:190C 07 pop es
3BE9:190D C3 retn
sub_113 endp
3BE9:190E 8B EC db 8Bh,0ECh
3BE9:1910 loc_205: ; xref 3BE9:19A3
3BE9:1910 ,8A 5E 0F mov bl,[bp+0Fh]
3BE9:1913 0A DB or bl,bl ; Zero ?
3BE9:1915 75 03 jnz loc_206 ; Jump if not zero
3BE9:1917 E9 008C jmp loc_212 ; (19A6)
3BE9:191A loc_206: ; xref 3BE9:1915
3BE9:191A A0 0B83 mov al,byte ptr ds:[0B83h] ; (3BE9:0B83=0BBh)
3BE9:191D 98 cbw ; Convrt byte to word
3BE9:191E 2B 46 0A sub ax,[bp+0Ah]
3BE9:1921 3A D8 cmp bl,al
3BE9:1923 76 02 jbe loc_207 ; Jump if below or =
3BE9:1925 8A D8 mov bl,al
3BE9:1927 loc_207: ; xref 3BE9:1923
3BE9:1927 8B 46 08 mov ax,[bp+8]
3BE9:192A B1 04 mov cl,4
3BE9:192C D3 E0 shl ax,cl ; Shift w/zeros fill
3BE9:192E 03 46 06 add ax,[bp+6]
3BE9:1931 F7 D0 not ax
3BE9:1933 B1 09 mov cl,9
3BE9:1935 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1937 3A D8 cmp bl,al
3BE9:1939 76 02 jbe loc_208 ; Jump if below or =
3BE9:193B 8A D8 mov bl,al
3BE9:193D loc_208: ; xref 3BE9:1939
3BE9:193D 0A DB or bl,bl ; Zero ?
3BE9:193F 74 6C jz loc_214 ; Jump if zero
3BE9:1941 C6 06 0B8C 00 mov byte ptr ds:[0B8Ch],0 ; (3BE9:0B8C=30h)
3BE9:1946 88 1E 0B85 mov byte ptr ds:[0B85h],bl ; (3BE9:0B85=0)
3BE9:194A 8B 46 06 mov ax,[bp+6]
3BE9:194D A3 0B88 mov word ptr ds:[0B88h],ax ; (3BE9:0B88=0F3F7h)
3BE9:1950 8B 46 08 mov ax,[bp+8]
3BE9:1953 A3 0B8A mov word ptr ds:[0B8Ah],ax ; (3BE9:0B8A=0C280h)
3BE9:1956 loc_209: ; xref 3BE9:19C1
3BE9:1956 ,8B 46 0C mov ax,[bp+0Ch]
3BE9:1959 FF 16 0B80 call word ptr ds:[0B80h] ; (3BE9:0B80=34Fh)
3BE9:195D 06 push es
3BE9:195E 53 push bx
3BE9:195F E8 0062 call sub_114 ; (19C4)
3BE9:1962 5B pop bx
3BE9:1963 07 pop es
3BE9:1964 80 3E 0B87 00 cmp byte ptr ds:[0B87h],0 ; (3BE9:0B87=0D2h)
3BE9:1969 75 3E jne loc_213 ; Jump if not equal
3BE9:196B F6 06 0B8C FF test byte ptr ds:[0B8Ch],0FFh ; (3BE9:0B8C=30h)
3BE9:1970 74 0D jz loc_210 ; Jump if zero
3BE9:1972 06 push es
3BE9:1973 B9 0100 mov cx,100h
3BE9:1976 C4 7E 06 les di,dword ptr [bp+6] ; Load seg:offset ptr
3BE9:1979 ,BE 10E0 mov si,10E0h ; (3BE9:10E0=0FBh)
3BE9:197C F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di]
3BE9:197E 07 pop es
3BE9:197F loc_210: ; xref 3BE9:1970
3BE9:197F A0 0B85 mov al,byte ptr ds:[0B85h] ; (3BE9:0B85=0)
3BE9:1982 28 46 0F sub [bp+0Fh],al
3BE9:1985 74 1F jz loc_212 ; Jump if zero
3BE9:1987 32 E4 xor ah,ah ; Zero register
3BE9:1989 8B D0 mov dx,ax
3BE9:198B B1 05 mov cl,5
3BE9:198D D3 E2 shl dx,cl ; Shift w/zeros fill
3BE9:198F 01 56 08 add [bp+8],dx
3BE9:1992 03 46 0A add ax,[bp+0Ah]
3BE9:1995 3A 06 0B83 cmp al,byte ptr ds:[0B83h] ; (3BE9:0B83=0BBh)
3BE9:1999 72 05 jb loc_211 ; Jump if below
3BE9:199B 33 C0 xor ax,ax ; Zero register
3BE9:199D FF 46 0C inc word ptr [bp+0Ch]
3BE9:19A0 loc_211: ; xref 3BE9:1999
3BE9:19A0 89 46 0A mov [bp+0Ah],ax
3BE9:19A3 E9 FF6A jmp loc_205 ; (1910)
3BE9:19A6 loc_212: ; xref 3BE9:1917, 1985
3BE9:19A6 33 C0 xor ax,ax ; Zero register
3BE9:19A8 C3 retn
3BE9:19A9 loc_213: ; xref 3BE9:1969
3BE9:19A9 B8 0001 mov ax,1
3BE9:19AC C3 retn
3BE9:19AD loc_214: ; xref 3BE9:193F
3BE9:19AD C6 06 0B8C FF mov byte ptr ds:[0B8Ch],0FFh ; (3BE9:0B8C=30h)
3BE9:19B2 C6 06 0B85 01 mov byte ptr ds:[0B85h],1 ; (3BE9:0B85=0)
3BE9:19B7 C7 06 0B88 10E0 mov word ptr ds:[0B88h],10E0h ; (3BE9:0B88=0F3F7h)
3BE9:19BD 8C 1E 0B8A mov word ptr ds:[0B8Ah],ds ; (3BE9:0B8A=0C280h)
3BE9:19C1 E9 FF92 ;* jmp loc_209 ; (1956)
3BE9:19C1 db 0E9h, 92h,0FFh ; Fixup - byte match
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:195F
;==========================================================================
3BE9:19C4 sub_114 proc near
3BE9:19C4 8A 56 0E mov dl,[bp+0Eh]
3BE9:19C7 8B 4E 0A mov cx,[bp+0Ah]
3BE9:19CA FE C1 inc cl
3BE9:19CC 8A 36 0B84 mov dh,byte ptr ds:[0B84h] ; (3BE9:0B84=0Ah)
3BE9:19D0 8A 2E 0B82 mov ch,byte ptr ds:[0B82h] ; (3BE9:0B82=0F9h)
3BE9:19D4 A0 0B85 mov al,byte ptr ds:[0B85h] ; (3BE9:0B85=0)
3BE9:19D7 C4 1E 0B88 les bx,dword ptr ds:[0B88h] ; (3BE9:0B88=0F3F7h) Load seg:offset p
3BE9:19DB C6 06 0B86 03 mov byte ptr ds:[0B86h],3 ; (3BE9:0B86=2Bh)
3BE9:19E0 loc_215: ; xref 3BE9:19EF
3BE9:19E0 B4 02 mov ah,2
3BE9:19E2 CD 13 int 13h ; Disk dl=drive ? ah=func 02h
; read sectors to memory es:bx
; al=#,ch=cyl,cl=sectr,dh=head
3BE9:19E4 72 01 jc loc_216 ; Jump if carry Set
3BE9:19E6 C3 retn
3BE9:19E7 loc_216: ; xref 3BE9:19E4
3BE9:19E7 B4 00 mov ah,0
3BE9:19E9 CD 13 int 13h ; Disk dl=drive ? ah=func 00h
; reset disk, al=return status
3BE9:19EB FE 0E 0B86 dec byte ptr ds:[0B86h] ; (3BE9:0B86=2Bh)
3BE9:19EF 75 EF jnz loc_215 ; Jump if not zero
3BE9:19F1 C6 06 0B87 01 mov byte ptr ds:[0B87h],1 ; (3BE9:0B87=0D2h)
3BE9:19F6 C3 retn
sub_114 endp
;* No entry point to code
3BE9:19F7 C6 06 0B84 00 mov byte ptr ds:[0B84h],0 ; (3BE9:0B84=0Ah)
3BE9:19FC 3C 28 cmp al,28h ; '('
3BE9:19FE 72 08 jb loc_217 ; Jump if below
3BE9:1A00 FE 06 0B84 inc byte ptr ds:[0B84h] ; (3BE9:0B84=0Ah)
3BE9:1A04 F6 D8 neg al
3BE9:1A06 04 4F add al,4Fh ; 'O'
3BE9:1A08 loc_217: ; xref 3BE9:19FE
3BE9:1A08 A2 0B82 mov byte ptr ds:[0B82h],al ; (3BE9:0B82=0F9h)
3BE9:1A0B C3 retn
;* No entry point to code
3BE9:1A0C B1 02 mov cl,2
3BE9:1A0E F6 F1 div cl ; al, ah rem = ax/reg
3BE9:1A10 88 26 0B84 mov byte ptr ds:[0B84h],ah ; (3BE9:0B84=0Ah)
3BE9:1A14 A2 0B82 mov byte ptr ds:[0B82h],al ; (3BE9:0B82=0F9h)
3BE9:1A17 C3 retn
;* No entry point to code
3BE9:1A18 FC cld ; Clear direction
3BE9:1A19 8C D8 mov ax,ds
3BE9:1A1B 01 06 0C45 add word ptr ds:[0C45h],ax ; (3BE9:0C45=26FFh)
3BE9:1A1F B8 0600 mov ax,600h
3BE9:1A22 B9 0000 mov cx,0
3BE9:1A25 BA 184F mov dx,184Fh
3BE9:1A28 B7 07 mov bh,7
3BE9:1A2A CD 10 int 10h ; Video display ah=functn 06h
; scroll up, al=lines
; bh=attrib, cx+dx=window size
3BE9:1A2C B4 02 mov ah,2
3BE9:1A2E 33 D2 xor dx,dx ; Zero register
3BE9:1A30 32 FF xor bh,bh ; Zero register
3BE9:1A32 CD 10 int 10h ; Video display ah=functn 02h
; set cursor location in dx
3BE9:1A34 CB retf
3BE9:1A35 DA 09 DA 09 DA 09 db 0DAh, 09h,0DAh, 09h,0DAh, 09h
3BE9:1A3B DA 09 DA 09 DA 09 db 0DAh, 09h,0DAh, 09h,0DAh, 09h
3BE9:1A41 DA 09 DA 09 DA 09 db 0DAh, 09h,0DAh, 09h,0DAh, 09h
3BE9:1A47 DB 09 43 0A 2C 0B db 0DBh, 09h, 43h, 0Ah, 2Ch, 0Bh
3BE9:1A4D 0008[00] db 8 dup (0)
3BE9:1A55 01 00 00 00 01 10 db 01h, 00h, 00h, 00h, 01h, 10h
3BE9:1A5B 11 20 74 74 74 54 db 11h, 20h, 74h, 74h, 74h, 54h
3BE9:1A61 15 2C 0B 2C 0B 41 db 15h, 2Ch, 0Bh, 2Ch, 0Bh, 41h
3BE9:1A67 0B 41 0B 41 0B BF db 0Bh, 41h, 0Bh, 41h, 0Bh,0BFh
3BE9:1A6D 0B D0 0B E1 0B F2 db 0Bh,0D0h, 0Bh,0E1h, 0Bh,0F2h
3BE9:1A73 0B 03 0C 00 db 0Bh, 03h, 0Ch, 00h
3BE9:1A77 0007[00] db 7 dup (0)
3BE9:1A7E F2 0B 00 00 00 00 db 0F2h, 0Bh, 00h, 00h, 00h, 00h
3BE9:1A84 25 0C 38 0C 00 00 db 25h, 0Ch, 38h, 0Ch, 00h, 00h
3BE9:1A8A 08 00 03 07 00 9B db 08h, 00h, 03h, 07h, 00h, 9Bh
3BE9:1A90 00 3F 00 C0 00 10 db 00h, 3Fh, 00h,0C0h, 00h, 10h
3BE9:1A96 00 01 00 02 03 08 db 00h, 01h, 00h, 02h, 03h, 08h
3BE9:1A9C 00 04 0F 01 9D 00 db 00h, 04h, 0Fh, 01h, 9Dh, 00h
3BE9:1AA2 3F 00 80 00 10 00 db 3Fh, 00h, 80h, 00h, 10h, 00h
3BE9:1AA8 01 00 02 03 09 00 db 01h, 00h, 02h, 03h, 09h, 00h
3BE9:1AAE 04 0F 01 AA 00 3F db 04h, 0Fh, 01h,0AAh, 00h, 3Fh
3BE9:1AB4 00 80 00 10 00 04 db 00h, 80h, 00h, 10h, 00h, 04h
3BE9:1ABA 00 02 03 09 00 04 db 00h, 02h, 03h, 09h, 00h, 04h
3BE9:1AC0 0F 00 5E 01 FF 00 db 0Fh, 00h, 5Eh, 01h,0FFh, 00h
3BE9:1AC6 F0 00 40 00 04 00 db 0F0h, 00h, 40h, 00h, 04h, 00h
3BE9:1ACC 02 03 db 02h, 03h
3BE9:1ACE 0022[CC] db 34 dup (0CCh)
3BE9:1AF0 28 0C 01 FF db 28h, 0Ch, 01h,0FFh
3BE9:1AF4 0009[00] db 9 dup (0)
3BE9:1AFD E0 0E 00 00 00 00 db 0E0h, 0Eh, 00h, 00h, 00h, 00h
3BE9:1B03 3B 0C 01 FF 00 db 3Bh, 0Ch, 01h,0FFh, 00h
3BE9:1B08 0008[00] db 8 dup (0)
3BE9:1B10 2E 01 00 00 00 00 db 2Eh, 01h, 00h, 00h, 00h, 00h
3BE9:1B16 0D db 0Dh
3BE9:1B17 2A 2A 2A 20 53 79 db '*** Systemdisk ? ***', 0
3BE9:1B1D 73 74 65 6D 64 69
3BE9:1B23 73 6B 20 3F 20 2A
3BE9:1B29 2A 2A 00
3BE9:1B2C 0D 0A 2A 2A 2A 20 db 0Dh, 0Ah, '*** Disk read error **'
3BE9:1B32 44 69 73 6B 20 72
3BE9:1B38 65 61 64 20 65 72
3BE9:1B3E 72 6F 72 20 2A 2A
3BE9:1B44 2A 00 db '*', 0
3BE9:1B46 43 43 50 4D 2E 53 db 'CCPM.SYS ', 0
3BE9:1B4C 59 53 20 00
3BE9:1B50 50 43 50 4D 2E 53 db 'PCPM.SYS ', 0
3BE9:1B56 59 53 20 00
3BE9:1B5A 01 db 1
3BE9:1B5B 43 43 50 4D 20 20 db 'CCPM SYS'
3BE9:1B61 20 20 53 59 53
3BE9:1B66 0016[00] db 22 dup (0)
3BE9:1B7C 01 db 1
3BE9:1B7D 50 43 50 4D 20 20 db 'PCPM SYS'
3BE9:1B83 20 20 53 59 53
3BE9:1B88 124B[00] db 4683 dup (0)
3BE9:2DD3 04 00 db 4, 0
3BE9:2DD5 1B 5B 32 4A 0D 0A db 1Bh, '[2J', 0Dh, 0Ah, 'Dieser DSK'
3BE9:2DDB 44 69 65 73 65 72
3BE9:2DE1 20 44 53 4B
3BE9:2DE5 4D 41 49 4E 54 20 db 'MAINT benoetigt das PG685 und Co'
3BE9:2DEB 62 65 6E 6F 65 74
3BE9:2DF1 69 67 74 20 64 61
3BE9:2DF7 73 20 50 47 36 38
3BE9:2DFD 35 20 75 6E 64 20
3BE9:2E03 43 6F
3BE9:2E05 6E 63 75 72 72 65 db 'ncurrent CP/M 3.1', 0Dh, 0Ah, '$'
3BE9:2E0B 6E 74 20 43 50 2F
3BE9:2E11 4D 20 33 2E 31 0D
3BE9:2E17 0A 24
3BE9:2E19 0D 0A 44 69 65 73 db 0Dh, 0Ah, 'Dieser DSKMAINT benoet'
3BE9:2E1F 65 72 20 44 53 4B
3BE9:2E25 4D 41 49 4E 54 20
3BE9:2E2B 62 65 6E 6F 65 74
3BE9:2E31 69 67 74 20 64 61 db 'igt das PG685 und Personal CP/M '
3BE9:2E37 73 20 50 47 36 38
3BE9:2E3D 35 20 75 6E 64 20
3BE9:2E43 50 65 72 73 6F 6E
3BE9:2E49 61 6C 20 43 50 2F
3BE9:2E4F 4D 20
3BE9:2E51 56 65 72 73 69 6F db 'Version 1.0 oder 2.0', 0Dh, 0Ah, '$'
3BE9:2E57 6E 20 31 2E 30 20
3BE9:2E5D 6F 64 65 72 20 32
3BE9:2E63 2E 30 0D 0A 24
3BE9:2E68 0D 0A 44 69 65 73 db 0Dh, 0Ah, 'Dieser DSKMAINT benoet'
3BE9:2E6E 65 72 20 44 53 4B
3BE9:2E74 4D 41 49 4E 54 20
3BE9:2E7A 62 65 6E 6F 65 74
3BE9:2E80 69 67 74 20 43 6F db 'igt Concurrent CP/M XIOS-Version'
3BE9:2E86 6E 63 75 72 72 65
3BE9:2E8C 6E 74 20 43 50 2F
3BE9:2E92 4D 20 58 49 4F 53
3BE9:2E98 2D 56 65 72 73 69
3BE9:2E9E 6F 6E
3BE9:2EA0 20 33 2E 31 0D 0A db ' 3.1', 0Dh, 0Ah, '$'
3BE9:2EA6 24
3BE9:2EA7 F5 05 52 01 07 02 db 0F5h, 05h, 52h, 01h, 07h, 02h
3BE9:2EAD 14 02 89 00 02 0B db 14h, 02h, 89h, 00h, 02h, 0Bh
3BE9:2EB3 30 30 E7 01 3A 00 db 30h, 30h,0E7h, 01h, 3Ah, 00h
3BE9:2EB9 50 47 db 50h, 47h
3BE9:2EBB 20 36 38 35 3A 20 db ' 685: CCP/M-86 Disketten-Verwalt'
3BE9:2EC1 43 43 50 2F 4D 2D
3BE9:2EC7 38 36 20 44 69 73
3BE9:2ECD 6B 65 74 74 65 6E
3BE9:2ED3 2D 56 65 72 77 61
3BE9:2ED9 6C 74
3BE9:2EDB 75 6E 67 73 70 72 db 'ungsprogramm Version 3.0'
3BE9:2EE1 6F 67 72 61 6D 6D
3BE9:2EE7 20 56 65 72 73 69
3BE9:2EED 6F 6E 20 33 2E 30
3BE9:2EF3 02 0B 30 30 29 02 db 02h, 0Bh, 30h, 30h, 29h, 02h
3BE9:2EF9 3A 00 db ':', 0
3BE9:2EFB 50 47 20 36 38 35 db 'PG 685: PCP/M-86 Disketten-Verwa'
3BE9:2F01 3A 20 50 43 50 2F
3BE9:2F07 4D 2D 38 36 20 44
3BE9:2F0D 69 73 6B 65 74 74
3BE9:2F13 65 6E 2D 56 65 72
3BE9:2F19 77 61
3BE9:2F1B 6C 74 75 6E 67 73 db 'ltungsprogramm Version 3.0'
3BE9:2F21 70 72 6F 67 72 61
3BE9:2F27 6D 6D 20 56 65 72
3BE9:2F2D 73 69 6F 6E 20 33
3BE9:2F33 2E 30
3BE9:2F35 00 00 6D 02 A2 02 db 00h, 00h, 6Dh, 02h,0A2h, 02h
3BE9:2F3B 77 03 02 00 73 02 db 77h, 03h, 02h, 00h, 73h, 02h
3BE9:2F41 85 02 05 23 30 30 db 85h, 02h, 05h, 23h, 30h, 30h
3BE9:2F47 79 02 0A 00 db 79h, 02h, 0Ah, 00h
3BE9:2F4B 48 61 75 70 74 6D db 'Hauptmenue'
3BE9:2F51 65 6E 75 65
3BE9:2F55 07 1D 30 30 8B 02 db 07h, 1Dh, 30h, 30h, 8Bh, 02h
3BE9:2F5B 15 00 db 15h, 00h
3BE9:2F5D 57 41 45 48 4C 45 db 'WAEHLE EINE FUNKTION'
3BE9:2F63 20 45 49 4E 45 20
3BE9:2F69 20 46 55 4E 4B 54
3BE9:2F6F 49 4F 4E
3BE9:2F72 05 00 AE 02 B9 02 db 05h, 00h,0AEh, 02h,0B9h, 02h
3BE9:2F78 C4 02 CF 02 DA 02 db 0C4h, 02h,0CFh, 02h,0DAh, 02h
3BE9:2F7E 09 1A 66 31 20 01 db 09h, 1Ah, 66h, 31h, 20h, 01h
3BE9:2F84 00 0A 20 E5 02 0C db 00h, 0Ah, 20h,0E5h, 02h, 0Ch
3BE9:2F8A 1A 66 33 20 01 00 db 1Ah, 66h, 33h, 20h, 01h, 00h
3BE9:2F90 0D 20 FC 02 0F 1A db 0Dh, 20h,0FCh, 02h, 0Fh, 1Ah
3BE9:2F96 66 35 20 01 00 10 db 66h, 35h, 20h, 01h, 00h, 10h
3BE9:2F9C 20 17 03 12 1A 66 db 20h, 17h, 03h, 12h, 1Ah, 66h
3BE9:2FA2 37 20 01 00 13 20 db 37h, 20h, 01h, 00h, 13h, 20h
3BE9:2FA8 32 03 15 1A 66 38 db 32h, 03h, 15h, 1Ah, 66h, 38h
3BE9:2FAE 20 01 00 16 20 60 db 20h, 01h, 00h, 16h, 20h, 60h
3BE9:2FB4 03 15 00 db 03h, 15h, 00h
3BE9:2FB7 20 2D 2D 3E 20 44 db ' --> Diskette pruefen'
3BE9:2FBD 69 73 6B 65 74 74
3BE9:2FC3 65 20 70 72 75 65
3BE9:2FC9 66 65 6E
3BE9:2FCC 19 00 db 19h, 00h
3BE9:2FCE 20 2D 2D 3E 20 44 db ' --> Diskette duplizieren'
3BE9:2FD4 69 73 6B 65 74 74
3BE9:2FDA 65 20 64 75 70 6C
3BE9:2FE0 69 7A 69 65 72 65
3BE9:2FE6 6E
3BE9:2FE7 19 00 db 19h, 00h
3BE9:2FE9 20 2D 2D 3E 20 44 db ' --> Diskette formatieren,', 0
3BE9:2FEF 69 73 6B 65 74 74
3BE9:2FF5 65 20 66 6F 72 6D
3BE9:2FFB 61 74 69 65 72 65
3BE9:3001 6E 2C 00
3BE9:3004 20 2D 2D 3E 20 44 db ' --> Diskette formatieren und in'
3BE9:300A 69 73 6B 65 74 74
3BE9:3010 65 20 66 6F 72 6D
3BE9:3016 61 74 69 65 72 65
3BE9:301C 6E 20 75 6E 64 20
3BE9:3022 69 6E
3BE9:3024 69 74 69 61 6C 69 db 'itialis'
3BE9:302A 73
3BE9:302B 69 65 72 65 6E 15 db 69h, 65h, 72h, 65h, 6Eh, 15h
3BE9:3031 00 db 00h
3BE9:3032 20 2D 2D 3E 20 50 db ' --> Programm beenden'
3BE9:3038 72 6F 67 72 61 6D
3BE9:303E 6D 20 62 65 65 6E
3BE9:3044 64 65 6E
3BE9:3047 01 00 7B 03 05 50 db 01h, 00h, 7Bh, 03h, 05h, 50h
3BE9:304D 52 54 56 57 00 00 db 52h, 54h, 56h, 57h, 00h, 00h
3BE9:3053 01 02 03 00 db 01h, 02h, 03h, 00h
3BE9:3057 0046[00] db 70 dup (0)
3BE9:309D D3 03 75 05 66 05 db 0D3h, 03h, 75h, 05h, 66h, 05h
3BE9:30A3 02 00 BB 04 D9 03 db 02h, 00h,0BBh, 04h,0D9h, 03h
3BE9:30A9 07 0D 30 30 00 00 db 07h, 0Dh, 30h, 30h, 00h, 00h
3BE9:30AF 35 00 db '5', 0
3BE9:30B1 20 20 20 20 20 20 db ' ZU PRUEFENDE DISKETTE'
3BE9:30B7 20 20 20 20 20 5A
3BE9:30BD 55 20 50 52 55 45
3BE9:30C3 46 45 4E 44 45 20
3BE9:30C9 44 49 53 4B 45 54
3BE9:30CF 54 45
3BE9:30D1 20 41 55 53 57 41 db ' AUSWAEHLEN 5', 0
3BE9:30D7 45 48 4C 45 4E 20
3BE9:30DD 20 20 20 20 20 20
3BE9:30E3 20 20 20 35 00
3BE9:30E8 20 20 20 20 20 20 db ' ZU FORMATIERENDE DISKET'
3BE9:30EE 20 20 20 5A 55 20
3BE9:30F4 46 4F 52 4D 41 54
3BE9:30FA 49 45 52 45 4E 44
3BE9:3100 45 20 44 49 53 4B
3BE9:3106 45 54
3BE9:3108 54 45 20 41 55 53 db 'TE AUSWAEHLEN 5', 0
3BE9:310E 57 41 45 48 4C 45
3BE9:3114 4E 20 20 20 20 20
3BE9:311A 20 20 20 35 00
3BE9:311F 20 20 20 20 20 20 db ' QUELL-DISKETTE AU'
3BE9:3125 20 20 20 20 20 20
3BE9:312B 20 20 20 51 55 45
3BE9:3131 4C 4C 2D 44 49 53
3BE9:3137 4B 45 54 54 45 20
3BE9:313D 41 55
3BE9:313F 53 57 41 45 48 4C db 'SWAEHLEN 5', 0
3BE9:3145 45 4E 20 20 20 20
3BE9:314B 20 20 20 20 20 20
3BE9:3151 20 20 20 35 00
3BE9:3156 20 20 20 20 20 20 db ' ZIEL-DISKETTE AU'
3BE9:315C 20 20 20 20 20 20
3BE9:3162 20 20 20 20 5A 49
3BE9:3168 45 4C 2D 44 49 53
3BE9:316E 4B 45 54 54 45 20
3BE9:3174 41 55
3BE9:3176 53 57 41 45 48 4C db 'SWAEHLEN '
3BE9:317C 45 4E 20 20 20 20
3BE9:3182 20 20 20 20 20 20
3BE9:3188 20 20 20
3BE9:318B 05 14 30 30 00 00 db 05h, 14h, 30h, 30h, 00h, 00h
3BE9:3191 27 00 db 27h, 00h
3BE9:3193 20 db 20h
3BE9:3194 20 20 20 20 20 20 db ' Diskette pruefen '
3BE9:319A 20 20 20 44 69 73
3BE9:31A0 6B 65 74 74 65 20
3BE9:31A6 70 72 75 65 66 65
3BE9:31AC 6E 20 20 20 20 20
3BE9:31B2 20 20
3BE9:31B4 20 20 20 20 20 20 db ' ', 27h, 0
3BE9:31BA 27 00
3BE9:31BC 20 20 20 20 20 20 db ' Diskette duplizieren '
3BE9:31C2 20 20 20 20 44 69
3BE9:31C8 73 6B 65 74 74 65
3BE9:31CE 20 64 75 70 6C 69
3BE9:31D4 7A 69 65 72 65 6E
3BE9:31DA 20 20
3BE9:31DC 20 20 20 20 20 20 db ' ', 27h, 0
3BE9:31E2 20 27 00
3BE9:31E5 20 20 20 20 20 20 db ' Diskette formatieren '
3BE9:31EB 20 20 20 20 44 69
3BE9:31F1 73 6B 65 74 74 65
3BE9:31F7 20 66 6F 72 6D 61
3BE9:31FD 74 69 65 72 65 6E
3BE9:3203 20 20
3BE9:3205 20 20 20 20 20 20 db ' (', 0
3BE9:320B 20 28 00
3BE9:320E 44 69 73 6B 65 74 db 'Diskette formatieren und initial'
3BE9:3214 74 65 20 66 6F 72
3BE9:321A 6D 61 74 69 65 72
3BE9:3220 65 6E 20 75 6E 64
3BE9:3226 20 69 6E 69 74 69
3BE9:322C 61 6C
3BE9:322E 69 73 69 65 72 65 db 'isieren '
3BE9:3234 6E 20
3BE9:3236 01 00 6A 05 00 00 db 01h, 00h, 6Ah, 05h, 00h, 00h
3BE9:323C 00 00 00 00 50 52 db 00h, 00h, 00h, 00h, 50h, 52h
3BE9:3242 54 56 57 05 00 81 db 54h, 56h, 57h, 05h, 00h, 81h
3BE9:3248 05 94 05 A7 05 BA db 05h, 94h, 05h,0A7h, 05h,0BAh
3BE9:324E 05 CD 05 09 1A 66 db 05h,0CDh, 05h, 09h, 1Ah, 66h
3BE9:3254 31 20 01 00 0A 20 db 31h, 20h, 01h, 00h, 0Ah, 20h
3BE9:325A 8C 05 06 00 2D 2D db 8Ch, 05h, 06h, 00h, 2Dh, 2Dh
3BE9:3260 3E 20 41 3A 0C 1A db 3Eh, 20h, 41h, 3Ah, 0Ch, 1Ah
3BE9:3266 66 33 20 01 00 0D db 66h, 33h, 20h, 01h, 00h, 0Dh
3BE9:326C 20 9F 05 06 00 2D db 20h, 9Fh, 05h, 06h, 00h, 2Dh
3BE9:3272 2D 3E 20 42 3A 0F db 2Dh, 3Eh, 20h, 42h, 3Ah, 0Fh
3BE9:3278 1A 66 35 20 01 00 db 1Ah, 66h, 35h, 20h, 01h, 00h
3BE9:327E 10 20 B2 05 06 00 db 10h, 20h,0B2h, 05h, 06h, 00h
3BE9:3284 2D 2D 3E 20 43 3A db 2Dh, 2Dh, 3Eh, 20h, 43h, 3Ah
3BE9:328A 12 1A 66 37 20 01 db 12h, 1Ah, 66h, 37h, 20h, 01h
3BE9:3290 00 13 20 C5 05 06 db 00h, 13h, 20h,0C5h, 05h, 06h
3BE9:3296 00 2D 2D 3E 20 44 db 00h, 2Dh, 2Dh, 3Eh, 20h, 44h
3BE9:329C 3A 15 1A 66 38 20 db 3Ah, 15h, 1Ah, 66h, 38h, 20h
3BE9:32A2 01 00 16 20 D8 05 db 01h, 00h, 16h, 20h,0D8h, 05h
3BE9:32A8 1A 00 db 1Ah, 00h
3BE9:32AA 2D 2D 3E 20 5A 75 db '--> Zurueck zum Hauptmenue'
3BE9:32B0 72 75 65 63 6B 20
3BE9:32B6 7A 75 6D 20 48 61
3BE9:32BC 75 70 74 6D 65 6E
3BE9:32C2 75 65
3BE9:32C4 04 11 30 30 FA 05 db 04h, 11h, 30h, 30h,0FAh, 05h
3BE9:32CA 2E 00 db 2Eh, 00h
3BE9:32CC 5A 69 65 6C 2D 20 db 'Ziel- und Quell-Diskette sind ni'
3BE9:32D2 75 6E 64 20 51 75
3BE9:32D8 65 6C 6C 2D 44 69
3BE9:32DE 73 6B 65 74 74 65
3BE9:32E4 20 73 69 6E 64 20
3BE9:32EA 6E 69
3BE9:32EC 63 68 74 20 6B 6F db 'cht kompatibel'
3BE9:32F2 6D 70 61 74 69 62
3BE9:32F8 65 6C
3BE9:32FA 00 00 32 06 00 00 db 00h, 00h, 32h, 06h, 00h, 00h
3BE9:3300 48 08 02 00 38 06 db 48h, 08h, 02h, 00h, 38h, 06h
3BE9:3306 55 06 04 1D 30 30 db 55h, 06h, 04h, 1Dh, 30h, 30h
3BE9:330C 3E 06 15 00 db 3Eh, 06h, 15h, 00h
3BE9:3310 20 44 49 53 4B 45 db ' DISKETTE FEHLERHAFT ', 8
3BE9:3316 54 54 45 20 46 45
3BE9:331C 48 4C 45 52 48 41
3BE9:3322 46 54 20 08
3BE9:3326 0B 30 30 5B 06 db 0Bh, 30h, 30h, 5Bh, 06h
3BE9:332B 39 00 db '9', 0
3BE9:332D 52 db 'R'
3BE9:332E 75 65 63 6B 6B 65 db 'ueckkehr zum Menue durch Druecke'
3BE9:3334 68 72 20 7A 75 6D
3BE9:333A 20 4D 65 6E 75 65
3BE9:3340 20 64 75 72 63 68
3BE9:3346 20 44 72 75 65 63
3BE9:334C 6B 65
3BE9:334E 6E 20 65 69 6E 65 db 'n einer beliebigen Taste'
3BE9:3354 72 20 62 65 6C 69
3BE9:335A 65 62 69 67 65 6E
3BE9:3360 20 54 61 73 74 65
3BE9:3366 00 00 A6 06 00 00 db 00h, 00h,0A6h, 06h, 00h, 00h
3BE9:336C 48 08 00 00 B0 06 db 48h, 08h, 00h, 00h,0B0h, 06h
3BE9:3372 00 00 48 08 04 00 db 00h, 00h, 48h, 08h, 04h, 00h
3BE9:3378 B8 06 E8 06 18 07 db 0B8h, 06h,0E8h, 06h, 18h, 07h
3BE9:337E 60 07 03 00 9A 07 db 60h, 07h, 03h, 00h, 9Ah, 07h
3BE9:3384 18 07 60 07 05 14 db 18h, 07h, 60h, 07h, 05h, 14h
3BE9:338A 30 30 BE 06 28 00 db 30h, 30h,0BEh, 06h, 28h, 00h
3BE9:3390 4B 6F db 4Bh, 6Fh
3BE9:3392 70 69 65 72 65 6E db 'pieren von der Diskette im Laufw'
3BE9:3398 20 76 6F 6E 20 64
3BE9:339E 65 72 20 44 69 73
3BE9:33A4 6B 65 74 74 65 20
3BE9:33AA 69 6D 20 4C 61 75
3BE9:33B0 66 77
3BE9:33B2 65 72 6B 20 20 3A db 'erk :'
3BE9:33B8 06 14 30 30 EE 06 db 06h, 14h, 30h, 30h,0EEh, 06h
3BE9:33BE 28 00 db '(', 0
3BE9:33C0 20 20 20 20 20 20 db ' zu der Diskette im Lau'
3BE9:33C6 20 20 20 20 7A 75
3BE9:33CC 20 64 65 72 20 44
3BE9:33D2 69 73 6B 65 74 74
3BE9:33D8 65 20 69 6D 20 4C
3BE9:33DE 61 75
3BE9:33E0 66 77 65 72 6B 20 db 'fwerk :', 8, 8, '00'
3BE9:33E6 20 3A 08 08 30 30
3BE9:33EC 1E 07 db 1Eh, 07h
3BE9:33EE 40 00 db '@', 0
3BE9:33F0 44 69 65 20 46 75 db 'Die Funktion loescht vorhandene '
3BE9:33F6 6E 6B 74 69 6F 6E
3BE9:33FC 20 6C 6F 65 73 63
3BE9:3402 68 74 20 76 6F 72
3BE9:3408 68 61 6E 64 65 6E
3BE9:340E 65 20
3BE9:3410 44 61 74 65 6E 20 db 'Daten auf der Zieldiskette in :'
3BE9:3416 61 75 66 20 64 65
3BE9:341C 72 20 5A 69 65 6C
3BE9:3422 64 69 73 6B 65 74
3BE9:3428 74 65 20 69 6E 20
3BE9:342E 20 3A
3BE9:3430 0A db 0Ah
3BE9:3431 0F 30 30 66 07 db 0Fh, 30h, 30h, 66h, 07h
3BE9:3436 32 00 db '2', 0
3BE9:3438 53 6F 6C 6C 20 64 db 'Soll die Funktion ausgefuehrt we'
3BE9:343E 69 65 20 46 75 6E
3BE9:3444 6B 74 69 6F 6E 20
3BE9:344A 61 75 73 67 65 66
3BE9:3450 75 65 68 72 74 20
3BE9:3456 77 65
3BE9:3458 72 64 65 6E 20 3F db 'rden ? (J oder N) '
3BE9:345E 20 28 4A 20 6F 64
3BE9:3464 65 72 20 4E 29 20
3BE9:346A 06 14 30 30 A0 07 db 06h, 14h, 30h, 30h,0A0h, 07h
3BE9:3470 27 00 db 27h, 00h
3BE9:3472 46 6F db 46h, 6Fh
3BE9:3474 72 6D 61 74 69 65 db 'rmatieren der Diskette im Laufwe'
3BE9:347A 72 65 6E 20 64 65
3BE9:3480 72 20 44 69 73 6B
3BE9:3486 65 74 74 65 20 69
3BE9:348C 6D 20 4C 61 75 66
3BE9:3492 77 65
3BE9:3494 72 6B 20 20 3A db 'rk :'
3BE9:3499 00 00 D1 07 00 00 db 00h, 00h,0D1h, 07h, 00h, 00h
3BE9:349F 48 08 01 00 D5 07 db 48h, 08h, 01h, 00h,0D5h, 07h
3BE9:34A5 07 0E 30 30 00 00 db 07h, 0Eh, 30h, 30h, 00h, 00h
3BE9:34AB 34 00 db '4', 0
3BE9:34AD 5A 49 45 4C 2D 44 db 'ZIEL-DISKETTE EINLEGEN UND BELIE'
3BE9:34B3 49 53 4B 45 54 54
3BE9:34B9 45 20 45 49 4E 4C
3BE9:34BF 45 47 45 4E 20 55
3BE9:34C5 4E 44 20 42 45 4C
3BE9:34CB 49 45
3BE9:34CD 42 49 47 45 20 54 db 'BIGE TASTE DRUECKEN 5', 0
3BE9:34D3 41 53 54 45 20 44
3BE9:34D9 52 55 45 43 4B 45
3BE9:34DF 4E 20 35 00
3BE9:34E3 51 55 45 4C 4C 2D db 'QUELL-DISKETTE EINLEGEN UND BELI'
3BE9:34E9 44 49 53 4B 45 54
3BE9:34EF 54 45 20 45 49 4E
3BE9:34F5 4C 45 47 45 4E 20
3BE9:34FB 55 4E 44 20 42 45
3BE9:3501 4C 49
3BE9:3503 45 42 49 47 45 20 db 'EBIGE TASTE DRUECKEN '
3BE9:3509 54 41 53 54 45 20
3BE9:350F 44 52 55 45 43 4B
3BE9:3515 45 4E 20
3BE9:3518 01 00 4C 08 00 02 db 01h, 00h, 4Ch, 08h, 00h, 02h
3BE9:351E 00 53 08 59 08 0A db 00h, 53h, 08h, 59h, 08h, 0Ah
3BE9:3524 1F 30 30 00 00 0A db 1Fh, 30h, 30h, 00h, 00h, 0Ah
3BE9:352A 30 30 30 5F 08 04 db 30h, 30h, 30h, 5Fh, 08h, 04h
3BE9:3530 00 20 20 20 20 11 db 00h, 20h, 20h, 20h, 20h, 11h
3BE9:3536 00 db 00h
3BE9:3537 53 70 75 72 20 6C db 'Spur lesen'
3BE9:353D 65 73 65 6E
3BE9:3541 0007[20] db 7 dup (20h)
3BE9:3548 11 00 db 11h, 00h
3BE9:354A 53 70 75 72 20 62 db 'Spur beschreiben '
3BE9:3550 65 73 63 68 72 65
3BE9:3556 69 62 65 6E 20
3BE9:355B 11 00 db 11h, 00h
3BE9:355D 53 70 75 72 20 75 db 'Spur ueberpruefen'
3BE9:3563 65 62 65 72 70 72
3BE9:3569 75 65 66 65 6E
3BE9:356E 11 00 db 11h, 00h
3BE9:3570 53 70 75 72 20 66 db 'Spur formatieren '
3BE9:3576 6F 72 6D 61 74 69
3BE9:357C 65 72 65 6E 20
3BE9:3581 01 00 B5 08 05 16 db 01h, 00h,0B5h, 08h, 05h, 16h
3BE9:3587 30 30 BB 08 23 00 db 30h, 30h,0BBh, 08h, 23h, 00h
3BE9:358D 50 72 db 50h, 72h
3BE9:358F 75 65 66 65 6E 20 db 'uefen '
3BE9:3595 64 65 72 20 44 69 db 'der Diskette in Laufwerk :'
3BE9:359B 73 6B 65 74 74 65
3BE9:35A1 20 69 6E 20 4C 61
3BE9:35A7 75 66 77 65 72 6B
3BE9:35AD 20 20 3A
3BE9:35B0 01 00 E4 08 05 14 db 01h, 00h,0E4h, 08h, 05h, 14h
3BE9:35B6 30 30 EA db 30h, 30h,0EAh
3BE9:35B9 08 27 db 8, 27h
3BE9:35BB 00 46 6F db 00h, 46h, 6Fh
3BE9:35BE 72 6D 61 74 db 'rmat'
3BE9:35C2 69 65 72 65 6E 20 db 'ieren der Diskett'
3BE9:35C8 64 65 72 20 44 69
3BE9:35CE 73 6B 65 74 74
3BE9:35D3 65 20 69 6D 20 4C db 'e im Laufwerk :'
3BE9:35D9 61 75 66 77 65 72
3BE9:35DF 6B 20 20 3A
3BE9:35E3 00 50 00 4E 0C 00 db 00h, 50h, 00h, 4Eh, 0Ch, 00h
3BE9:35E9 00 03 00 F6 01 00 db 00h, 03h, 00h,0F6h, 01h, 00h
3BE9:35EF FC 32 00 4E 0C 00 db 0FCh, 32h, 00h, 4Eh, 0Ch, 00h
3BE9:35F5 00 03 00 F5 01 00 db 00h, 03h, 00h,0F5h, 01h, 00h
3BE9:35FB FE 01 00 00 01 00 db 0FEh, 01h, 00h, 00h, 01h, 00h
3BE9:3601 00 01 00 01 01 00 db 00h, 01h, 00h, 01h, 01h, 00h
3BE9:3607 02 01 00 F7 16 00 db 02h, 01h, 00h,0F7h, 16h, 00h
3BE9:360D 4E 0C 00 00 03 00 db 4Eh, 0Ch, 00h, 00h, 03h, 00h
3BE9:3613 F5 01 00 FB 00 02 db 0F5h, 01h, 00h,0FBh, 00h, 02h
3BE9:3619 E5 01 00 F7 50 00 db 0E5h, 01h, 00h,0F7h, 50h, 00h
3BE9:361F 4E 00 00 db 4Eh, 00h, 00h
3BE9:3622 4E 20 db 4Eh, 20h
3BE9:3624 000B[20] db 11 dup (20h)
3BE9:362F 00 00 00 00 20 db 00h, 00h, 00h, 00h, 20h
3BE9:3634 0007[20] db 7 dup (20h)
3BE9:363B 0008[00] db 8 dup (0)
3BE9:3643 21 00 db 21h, 00h
3BE9:3645 001E[00] db 30 dup (0)
3BE9:3663 01 0C 02 09 db 01h, 0Ch, 02h, 09h
3BE9:3667 1339[00] db 4921 dup (0)
3BE9:49A0 0000 data_227 dw 0 ; xref 3BE9:09F4, 0A54, 0A63, 0B32
; 0B47, 0B4B
3BE9:49A2 00 data_228 db 0 ; xref 3BE9:0AAE, 0ABB
3BE9:49A3 0000 data_229 dw 0 ; xref 3BE9:0A21, 0A35
3BE9:49A5 00 data_230 db 0 ; xref 3BE9:0A19, 0AFF
3BE9:49A6 00 data_231 db 0 ; xref 3BE9:0A1D, 0AEB, 0B04, 0B0E
3BE9:49A7 0000 data_232 dw 0 ; xref 3BE9:0AC5, 0AD3, 0AEE, 0AF8
3BE9:49A9 0000 data_233 dw 0 ; Data table (indexed access)
; xref 3BE9:0A49
3BE9:49AB 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
3BE9:49B1 0000 data_234 dw 0 ; xref 3BE9:0B59
3BE9:49B3 0000 data_235 dw 0
3BE9:49B5 0000 data_236 dw 0 ; xref 3BE9:0B56
3BE9:49B7 00 data_237 db 0 ; xref 3BE9:09AF
3BE9:49B8 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
3BE9:49BE 00 db 0
3BE9:49BF 00 data_238 db 0 ; xref 3BE9:09CA
3BE9:49C0 000C[00] db 12 dup (0)
3BE9:49CC 00 data_239 db 0 ; xref 3BE9:09AA
3BE9:49CD 0056[00] db 86 dup (0)
3BE9:4A23 00 data_240 db 0 ; xref 3BE9:09ED
3BE9:4A24 0008[00] db 8 dup (0)
3BE9:4A2C 00 data_241 db 0 ; xref 3BE9:09E3
3BE9:4A2D 004E[00] db 78 dup (0)
3BE9:4A7B 00 data_242 db 0 ; xref 3BE9:0A8C
3BE9:4A7C 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
3BE9:4A82 00 db 0
3BE9:4A83 00 data_243 db 0 ; xref 3BE9:0A95
3BE9:4A84 00 00 00 db 0, 0, 0
3BE9:4A87 00 data_244 db 0 ; xref 3BE9:0A7D
3BE9:4A88 00 00 00 db 0, 0, 0
3BE9:4A8B 00 data_245 db 0 ; xref 3BE9:0A9E
3BE9:4A8C 000B[00] db 11 dup (0)
3BE9:4A97 00 data_246 db 0 ; xref 3BE9:0B3A
3BE9:4A98 0047[00] db 71 dup (0)
3BE9:4ADF 00 data_247 db 0 ; xref 3BE9:0B24
3BE9:4AE0 0016[00] db 22 dup (0)
3BE9:4AF6 0000 data_248 dw 0 ; xref 3BE9:0BA4, 0BB4, 0C1E
3BE9:4AF8 ,0000 data_249 dw 0 ; segment storage
; xref 3BE9:01B7, 076C, 089E, 08B2
; 0960, 0BA9, 0BB9, 0BC9
; 0BEA, 0C15, 0C4D
3BE9:4AFA 0000 data_250 dw 0 ; xref 3BE9:0BC4, 0BE5, 0C3A
3BE9:4AFC 0000 data_251 dw 0 ; xref 3BE9:0748, 089A, 0C26, 0C4A
3BE9:4AFE 009B[00] db 155 dup (0)
3BE9:4B99 00 data_252 db 0 ; xref 3BE9:0C7A
3BE9:4B9A 00 00 00 00 db 0, 0, 0, 0
3BE9:4B9E 00 data_253 db 0 ; xref 3BE9:0C8A
3BE9:4B9F 00 00 db 0, 0
3BE9:4BA1 00 data_254 db 0 ; xref 3BE9:0C96
3BE9:4BA2 00 00 db 0, 0
3BE9:4BA4 00 data_255 db 0 ; xref 3BE9:0CBB
3BE9:4BA5 0025[00] db 37 dup (0)
3BE9:4BCA 00 data_256 db 0 ; xref 3BE9:0CAC
3BE9:4BCB 2AAE[00] db 10926 dup (0)
3BE9:7679 D5 0A 26 0A D3 09 db 0D5h, 0Ah, 26h, 0Ah,0D3h, 09h
3BE9:767F 42 0A 00 00 00 00 db 42h, 0Ah, 00h, 00h, 00h, 00h
3BE9:7685 00 00 03 00 C7 49 db 00h, 00h, 03h, 00h,0C7h, 49h
3BE9:768B CA 49 1A 4A 03 00 db 0CAh, 49h, 1Ah, 4Ah, 03h, 00h
3BE9:7691 1D 4A CA 49 20 4A db 1Dh, 4Ah,0CAh, 49h, 20h, 4Ah
3BE9:7697 01 00 8C 4E 00 db 01h, 00h, 8Ch, 4Eh, 00h
3BE9:769C 004E[00] db 78 dup (0)
3BE9:76EA 01 00 8B 01 00 8D db 01h, 00h, 8Bh, 01h, 00h, 8Dh
3BE9:76F0 01 00 8A 03 01 30 db 01h, 00h, 8Ah, 03h, 01h, 30h
3BE9:76F6 30 29 4A 50 00 99 db 30h, 29h, 4Ah, 50h, 00h, 99h
3BE9:76FC 00 00 db 00h, 00h
3BE9:76FE 004C[00] db 76 dup (0)
3BE9:774A 9C 06 00 8C 91 91 db 9Ch, 06h, 00h, 8Ch, 91h, 91h
3BE9:7750 91 91 8B 06 00 98 db 91h, 91h, 8Bh, 06h, 00h, 98h
3BE9:7756 20 20 20 20 98 06 db 20h, 20h, 20h, 20h, 98h, 06h
3BE9:775C 00 8D 91 91 91 91 db 00h, 8Dh, 91h, 91h, 91h, 91h
3BE9:7762 8A 02 00 07 07 db 8Ah, 02h, 00h, 07h, 07h
3BE9:7767 46 00 db 'F', 0
3BE9:7769 20 20 20 20 20 20 db ' '
3BE9:776F 20 20 20 20 20 20
3BE9:7775 20 20 20 20 20 20
3BE9:777B 20 20 20 20 20 20
3BE9:7781 20 20 20 20 20 20
3BE9:7787 20 20
3BE9:7789 20 20 20 20 20 20 db ' '
3BE9:778F 20 20 20 20 20 20
3BE9:7795 20 20 20 20 20 20
3BE9:779B 20 20 20 20 20 20
3BE9:77A1 20 20 20 20 20 20
3BE9:77A7 20 20
3BE9:77A9 20 20 20 20 20 20 db ' '
3BE9:77AF 15 00 db 15h, 00h
3BE9:77B1 1B 5B 32 3B 37 38 db 1Bh, '[2;78S', 1Bh, '[23;4U', 1Bh
3BE9:77B7 53 1B 5B 32 33 3B
3BE9:77BD 34 55 1B
3BE9:77C0 5B 31 3B 37 39 53 db '[1;79S'
3BE9:77C6 00 db 0
3BE9:77C7 000F[00] db 15 dup (0)
3BE9:77D6 4D 58 64 69 73 6B db 'MXdisk 9', 0
3BE9:77DC 20 20 39 00
3BE9:77E0 0D 0A 44 53 4B 4D db 0Dh, 0Ah, 'DSKMAINT kann nicht al'
3BE9:77E6 41 49 4E 54 20 6B
3BE9:77EC 61 6E 6E 20 6E 69
3BE9:77F2 63 68 74 20 61 6C
3BE9:77F8 73 20 48 69 6E 74 db 's Hintergrundprogramm ablaufen.', 0Dh
3BE9:77FE 65 72 67 72 75 6E
3BE9:7804 64 70 72 6F 67 72
3BE9:780A 61 6D 6D 20 61 62
3BE9:7810 6C 61 75 66 65 6E
3BE9:7816 2E 0D
3BE9:7818 0A 49 00 db 0Ah, 'I', 0
3BE9:781B 0D 0A 44 53 4B 4D db 0Dh, 0Ah, 'DSKMAINT kann nicht ge'
3BE9:7821 41 49 4E 54 20 6B
3BE9:7827 61 6E 6E 20 6E 69
3BE9:782D 63 68 74 20 67 65
3BE9:7833 73 74 61 72 74 65 db 'startet werden, solange andere P'
3BE9:7839 74 20 77 65 72 64
3BE9:783F 65 6E 2C 20 73 6F
3BE9:7845 6C 61 6E 67 65 20
3BE9:784B 61 6E 64 65 72 65
3BE9:7851 20 50
3BE9:7853 72 6F 7A 65 73 73 db 'rozesse laufen.', 0Dh, 0Ah
3BE9:7859 65 20 6C 61 75 66
3BE9:785F 65 6E 2E 0D 0A
3BE9:7864 96 00 FF 00 00 00 db 96h, 00h,0FFh, 00h, 00h, 00h
3BE9:786A 08 00 1B 5B 00 00 db 08h, 00h, 1Bh, 5Bh, 00h, 00h
3BE9:7870 3B 00 00 48 14 00 db 3Bh, 00h, 00h, 48h, 14h, 00h
3BE9:7876 1B 5B 32 4A 1B 5B db 1Bh, '[2J', 1Bh, '[s', 1Bh, '#w', 1Bh
3BE9:787C 73 1B 23 77 1B
3BE9:7881 5B 34 63 1B 23 73 db '[4c', 1Bh, '#s', 1Bh, '#c', 0Ah
3BE9:7887 1B 23 63 0A
3BE9:788B 00 db 0
3BE9:788C 1B 5B 32 4A 1B 5B db 1Bh, '[2J', 1Bh, '[u', 1Bh, '#c'
3BE9:7892 75 1B 23 63
3BE9:7896 04 00 1B 5B 58 6D db 04h, 00h, 1Bh, 5Bh, 58h, 6Dh
3BE9:789C 0164[00] db 356 dup (0)
seg_a ends
end
__________________ Interrupt Usage Synopsis __________________
Interrupt 10h : Video display ah=functn xxh
Interrupt 10h : ah=02h set cursor location in dx
Interrupt 10h : ah=06h scroll up, al=lines
Interrupt 10h : ah=0Eh write char al, teletype mode
Interrupt 13h : Disk dl=drive # ah=func xxh
Interrupt 13h : ah=00h reset disk, al=return status
Interrupt 13h : ah=02h read sectors to memory es:bx
19 Ocurrences of non-standard interrupts used (search for ??).
__________________ I/O Port Usage Synopsis __________________
No I/O ports used.