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

5562 lines
436 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.

DEVICE.LST Sourcer v7.00
PAGE 59,132
;==========================================================================
;== ==
;== DEVICE ==
;== ==
;== Created: ==
;== Code type: special ==
;== Passes: 9 Analysis Options on: QRSUX ==
;== COPYRIGHT 1983, DIGITAL RESEARCH1053-0673-005434 ==
;== ==
;==========================================================================
target EQU 'T3' ; Target assembler: TASM-3.0
; The following equates show data references outside the range of the program.
= 01E8 data_1e equ 1E8h ;*(000B:01E8=0)
= 4321 data_153e equ 4321h ;*(3BE9:4321=0)
= 01A2 data_154e equ 1A2h ; (C700:01A2=0FCh)
;------------------------------------------------------------ seg_a ----
seg_a segment byte public
assume cs:seg_a , ds:seg_a
3BE9:0000 01 4C 02 00 db 01h, 4Ch, 02h, 00h
;===== Indexed Entry Point ================================================
3BE9:0004 loc_1: ; xref 3BE9:163F
3BE9:0004 00 4C 02 add [si+2],cl
3BE9:0007 00 00 add [bx+si],al
3BE9:0009 02 E6 add ah,dh
3BE9:000B 00 00 add [bx+si],al
3BE9:000D 00 E6 ;* add dh,ah
3BE9:000D db 00h,0E6h ; Fixup - byte match
3BE9:000F 00 db 0
3BE9:0010 0070[00] db 112 dup (0)
3BE9:0080 9C data_3 db 9Ch ; xref 3BE9:2421, 2445
3BE9:0081 58 FA 8C D9 8E D1 db 58h,0FAh, 8Ch,0D9h, 8Eh,0D1h
3BE9:0087 8D 26 34 0E 50 9D db 8Dh, 26h, 34h, 0Eh, 50h, 9Dh
3BE9:008D E8 F3 00 33 C9 8B db 0E8h,0F3h, 00h, 33h,0C9h, 8Bh
3BE9:0093 D1 CD E0 db 0D1h,0CDh,0E0h
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01D7, 02F3, 0302, 0312, 032C, 0348, 0365
; 0384, 03A3, 06A5, 0B28, 1A8B, 1CD9, 1DC4
; 236E
;==========================================================================
3BE9:0096 sub_1 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:0096 55 push bp
3BE9:0097 8B EC mov bp,sp
3BE9:0099 8B 56 04 mov dx,[bp+PARAMETER_1]
3BE9:009C 8B 4E 06 mov cx,[bp+PARAMETER_2]
3BE9:009F CD E0 int 0E0h ; ??INT Non-standard interrupt
3BE9:00A1 5D pop bp
3BE9:00A2 C2 0004 retn 4
sub_1 endp
3BE9:00A5 0015[00] db 21 dup (0)
3BE9:00BA 31 36 31 31 38 33 db '161183CP/M-86 Plus'
3BE9:00C0 43 50 2F 4D 2D 38
3BE9:00C6 36 20 50 6C 75 73
3BE9:00CC 00 00 00 00 db 0, 0, 0, 0
3BE9:00D0 43 4F 50 59 52 49 copyright db 'COPYRIGHT 1983, DIGITAL RESEARCH'
3BE9:00D6 47 48 54 20 31 39
3BE9:00DC 38 33 2C 20 44 49
3BE9:00E2 47 49 54 41 4C 20
3BE9:00E8 52 45 53 45 41 52
3BE9:00EE 43 48
3BE9:00F0 31 30 35 33 2D 30 db '1053-0673-005434'
3BE9:00F6 36 37 33 2D 30 30
3BE9:00FC 35 34 33 34
3BE9:0100 0014[00] db 20 dup (0)
3BE9:0114 0000 data_7 dw 0 ; xref 3BE9:09A6, 2432, 243F
3BE9:0116 0000 data_8 dw 0 ; xref 3BE9:01DD, 0219, 06CE, 06F5
3BE9:0118 0000 data_9 dw 0 ; xref 3BE9:01E7, 04FB, 050C, 058B
; 05A5, 0600, 0613, 064B
; 066E, 0673, 067C, 0692
; 09F6, 09FD, 0A0A, 0B73
; 144C, 1462, 1469, 1475
; 14B3, 14FD, 151C, 1551
; 1BF6, 1C4B, 1F4D, 2123
; 213E, 214A, 23D6, 23EB
; 23FC, 242E, 2439, 248E
3BE9:011A 0057[00] db 87 dup (0)
3BE9:0171 43 53 45 47 20 70 db 'CSEG patch area'
3BE9:0177 61 74 63 68 20 61
3BE9:017D 72 65 61
3BE9:0180 8B EC FB BC 34 0E db 8Bh,0ECh,0FBh,0BCh, 34h, 0Eh
3BE9:0186 8B EC E8 B3 01 80 db 8Bh,0ECh,0E8h,0B3h, 01h, 80h
3BE9:018C F8 30 18 C0 50 E8 db 0F8h, 30h, 18h,0C0h, 50h,0E8h
3BE9:0192 AA 01 8A C4 db 0AAh, 01h, 8Ah,0C4h
3BE9:0196 F880 data_10 dw 0F880h ; xref 3BE9:06B3, 078D, 0811, 081D
; 08F9, 0903, 0917, 0929
; 0BE5, 1A40
3BE9:0198 B001 data_11 dw 0B001h ; xref 3BE9:06B7, 0BE9, 1A44
3BE9:019A 74FF 4001 data_12 dw 74FFh, 4001h ; xref 3BE9:06A8, 06B0, 06BF, 0796
; 082F, 0854, 0BE2, 0BF9
3BE9:019E loc_3:
3BE9:019E 59 pop cx
3BE9:019F 0A C1 or al,cl
3BE9:01A1 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:01A3 72 03 jc loc_4 ; Jump if carry Set
3BE9:01A5 E9 000A jmpn loc_5 ; (01B2)
3BE9:01A8 loc_4: ; xref 3BE9:01A3
3BE9:01A8 B8 0436 mov ax,436h
3BE9:01AB ,50 push ax ; PARAMETER_1
3BE9:01AC E8 015A call sub_3 ; (0309)
3BE9:01AF E9 013B jmp loc_23 ; (02ED)
3BE9:01B2 loc_5: ; xref 3BE9:01A5
3BE9:01B2 B0 89 mov al,89h
3BE9:01B4 ,50 push ax ; PARAMETER_2
3BE9:01B5 B8 03A8 mov ax,3A8h
3BE9:01B8 50 push ax ; PARAMETER_1
3BE9:01B9 E8 0191 call sub_6 ; (034D)
3BE9:01BC 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:01BC db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:01C0 80 3E 03AA 01 cmp byte ptr ds:[3AAh],1 ; (3BE9:03AA=55h)
3BE9:01C5 77 03 ja loc_6 ; Jump if above
3BE9:01C7 E9 0010 jmpn loc_7 ; (01DA)
3BE9:01CA loc_6: ; xref 3BE9:01C5
3BE9:01CA B8 0462 mov ax,462h
3BE9:01CD ,50 push ax ; PARAMETER_1
3BE9:01CE E8 0138 call sub_3 ; (0309)
3BE9:01D1 B0 00 mov al,0
3BE9:01D3 ,50 push ax ; PARAMETER_2
3BE9:01D4 B4 00 mov ah,0
3BE9:01D6 50 push ax ; PARAMETER_1
3BE9:01D7 E8 FEBC call sub_1 ; (0096)
3BE9:01DA loc_7: ; xref 3BE9:01C7
3BE9:01DA E8 04BE call sub_16 ; (069B)
3BE9:01DD 83 3E 0116 00 cmp data_8,0 ; (3BE9:0116=0)
3BE9:01E2 74 03 je loc_8 ; Jump if equal
3BE9:01E4 E9 0046 jmpn loc_15 ; (022D)
3BE9:01E7 loc_8: ; xref 3BE9:01E2
3BE9:01E7 C7 06 0118 0081 mov data_9,81h ; (3BE9:0118=0)
3BE9:01ED B8 0536 mov ax,536h
3BE9:01F0 50 push ax
3BE9:01F1 B8 0584 mov ax,584h
3BE9:01F4 50 push ax
3BE9:01F5 E8 01F6 call sub_10 ; (03EE)
3BE9:01F8 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:01F8 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:01FC 80 F8 04 ;* cmp al,4
3BE9:01FC db 80h,0F8h, 04h ; Fixup - byte match
3BE9:01FF 75 03 jnz loc_9 ; Jump if not zero
3BE9:0201 E9 0008 jmpn loc_10 ; (020C)
3BE9:0204 loc_9: ; xref 3BE9:01FF
3BE9:0204 80 F8 0B ;* cmp al,0Bh
3BE9:0204 db 80h,0F8h, 0Bh ; Fixup - byte match
3BE9:0207 74 03 jz loc_10 ; Jump if zero
3BE9:0209 E9 000D jmpn loc_12 ; (0219)
3BE9:020C loc_10: ; xref 3BE9:0201, 0207
3BE9:020C 80 3E 0321 01 cmp byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:0211 74 03 je loc_11 ; Jump if equal
3BE9:0213 E9 0003 jmpn loc_12 ; (0219)
3BE9:0216 loc_11: ; xref 3BE9:0211
3BE9:0216 E8 21FB call sub_45 ; (2414)
3BE9:0219 loc_12: ; xref 3BE9:0209, 0213
3BE9:0219 83 3E 0116 00 cmp data_8,0 ; (3BE9:0116=0)
3BE9:021E 74 03 je loc_13 ; Jump if equal
3BE9:0220 E9 0007 jmpn loc_14 ; (022A)
3BE9:0223 loc_13: ; xref 3BE9:021E
3BE9:0223 B8 090A mov ax,90Ah
3BE9:0226 ,50 push ax ; PARAMETER_1
3BE9:0227 E8 00DF call sub_3 ; (0309)
3BE9:022A loc_14: ; xref 3BE9:0220
3BE9:022A E9 00C0 jmp loc_23 ; (02ED)
3BE9:022D loc_15: ; xref 3BE9:01E4
3BE9:022D B0 00 mov al,0
3BE9:022F ,50 push ax ; PARAMETER_2
3BE9:0230 B8 03AB mov ax,3ABh
3BE9:0233 50 push ax ; PARAMETER_1
3BE9:0234 E8 0116 call sub_6 ; (034D)
3BE9:0237 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:0237 db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:023B 8A 06 03AD ;* mov al,byte ptr ds:[3ADh] ; (3BE9:03AD=0C6h)
3BE9:023B db 8Ah, 06h,0ADh, 03h ; Fixup - byte match
3BE9:023F FE C0 inc al
3BE9:0241 88 06 020C ;* mov byte ptr ds:[20Ch],al ; (3BE9:020C=80h)
3BE9:0241 db 88h, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:0245 B0 01 mov al,1
3BE9:0247 ,50 push ax ; PARAMETER_2
3BE9:0248 B8 03A8 mov ax,3A8h
3BE9:024B 50 push ax ; PARAMETER_1
3BE9:024C E8 00FE call sub_6 ; (034D)
3BE9:024F 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:024F db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:0253 8A 06 03AA ;* mov al,byte ptr ds:[3AAh] ; (3BE9:03AA=55h)
3BE9:0253 db 8Ah, 06h,0AAh, 03h ; Fixup - byte match
3BE9:0257 FE C0 inc al
3BE9:0259 88 06 020D ;* mov byte ptr ds:[20Dh],al ; (3BE9:020D=3Eh)
3BE9:0259 db 88h, 06h, 0Dh, 02h ; Fixup - byte match
3BE9:025D B8 0081 mov ax,81h
3BE9:0260 ,50 push ax ; PARAMETER_1
3BE9:0261 E8 229A call sub_46 ; (24FE)
3BE9:0264 F6 D0 not al
3BE9:0266 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0268 72 03 jc loc_16 ; Jump if carry Set
3BE9:026A E9 007D jmpn loc_22 ; (02EA)
3BE9:026D loc_16: ; xref 3BE9:0268
3BE9:026D E8 0E5B call sub_27 ; (10CB)
3BE9:0270 E8 1098 call sub_29 ; (130B)
3BE9:0273 B8 0506 mov ax,506h
3BE9:0276 ,50 push ax ; PARAMETER_1
3BE9:0277 E8 008F call sub_3 ; (0309)
3BE9:027A E8 06EB call sub_19 ; (0968)
3BE9:027D B8 0220 mov ax,220h
3BE9:0280 ,50 push ax ; PARAMETER_2
3BE9:0281 B0 FF mov al,0FFh
3BE9:0283 50 push ax ; PARAMETER_1
3BE9:0284 E8 0092 call sub_4 ; (0319)
3BE9:0287 88 06 020E ;* mov byte ptr ds:[20Eh],al ; (3BE9:020E=21h)
3BE9:0287 db 88h, 06h, 0Eh, 02h ; Fixup - byte match
3BE9:028B E8 06DA call sub_19 ; (0968)
3BE9:028E C6 06 0221 20 mov byte ptr ds:[221h],20h ; (3BE9:0221=7) ' '
3BE9:0293 8A 1E 020E mov bl,byte ptr ds:[20Eh] ; (3BE9:020E=21h)
3BE9:0297 B7 00 mov bh,0
3BE9:0299 C6 87 0222 00 mov byte ptr ds:[222h][bx],0 ; (3BE9:0222=0)
3BE9:029E B8 0221 mov ax,221h
3BE9:02A1 ,50 push ax ; PARAMETER_1
3BE9:02A2 E8 2259 call sub_46 ; (24FE)
3BE9:02A5 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:02A7 72 03 jc loc_17 ; Jump if carry Set
3BE9:02A9 E9 003B jmpn loc_21 ; (02E7)
3BE9:02AC loc_17: ; xref 3BE9:02A7
3BE9:02AC C6 06 020F 01 mov byte ptr ds:[20Fh],1 ; (3BE9:020F=3)
3BE9:02B1 loc_18: ; xref 3BE9:02D9
3BE9:02B1 ,8A 06 020F ;* mov al,byte ptr ds:[20Fh] ; (3BE9:020F=3)
3BE9:02B1 db 8Ah, 06h, 0Fh, 02h ; Fixup - byte match
3BE9:02B5 38 06 020E cmp byte ptr ds:[20Eh],al ; (3BE9:020E=21h)
3BE9:02B9 73 03 jae loc_19 ; Jump if above or =
3BE9:02BB E9 001E jmpn loc_20 ; (02DC)
3BE9:02BE loc_19: ; xref 3BE9:02B9
3BE9:02BE B4 00 mov ah,0
3BE9:02C0 8B D8 mov bx,ax
3BE9:02C2 FF B7 0221 push word ptr ds:[221h][bx] ; (3BE9:0221=7)
3BE9:02C6 E8 067B call sub_18 ; (0944)
3BE9:02C9 8A 1E 020F mov bl,byte ptr ds:[20Fh] ; (3BE9:020F=3)
3BE9:02CD B7 00 mov bh,0
3BE9:02CF 88 87 0221 mov byte ptr ds:[221h][bx],al ; (3BE9:0221=7)
3BE9:02D3 FE 06 020F inc byte ptr ds:[20Fh] ; (3BE9:020F=3)
3BE9:02D7 74 03 jz loc_20 ; Jump if zero
3BE9:02D9 E9 FFD5 ;* jmp loc_18 ; (02B1)
3BE9:02D9 db 0E9h,0D5h,0FFh ; Fixup - byte match
3BE9:02DC loc_20: ; xref 3BE9:02BB, 02D7
3BE9:02DC 8A 06 020E ;* mov al,byte ptr ds:[20Eh] ; (3BE9:020E=21h)
3BE9:02DC db 8Ah, 06h, 0Eh, 02h ; Fixup - byte match
3BE9:02E0 88 06 020B ;* mov byte ptr ds:[20Bh],al ; (3BE9:020B=0)
3BE9:02E0 db 88h, 06h, 0Bh, 02h ; Fixup - byte match
3BE9:02E4 E8 212D call sub_45 ; (2414)
3BE9:02E7 loc_21: ; xref 3BE9:02A9
3BE9:02E7 E9 0003 jmpn loc_23 ; (02ED)
3BE9:02EA loc_22: ; xref 3BE9:026A
3BE9:02EA E8 2127 call sub_45 ; (2414)
3BE9:02ED loc_23: ; xref 3BE9:01AF, 022A, 02E7
3BE9:02ED B0 00 mov al,0
3BE9:02EF ,50 push ax ; PARAMETER_2
3BE9:02F0 B4 00 mov ah,0
3BE9:02F2 50 push ax ; PARAMETER_1
3BE9:02F3 E8 FDA0 call sub_1 ; (0096)
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:096E, 0974, 0B49, 0B84, 0B8D, 0D46, 0DAA
; 0DB9, 0DFC, 0E36, 0E3C, 0E59, 0E5F, 0E7E
; 0E84, 0EAF, 0EB5, 0ECB, 0ED1, 0EE9, 0EEF
; 0F07, 0F0D, 0F41, 0F47, 0F50, 0F56, 0F9A
; 0FA0, 0FA9, 0FAF, 0FB8, 0FBE, 0FE1, 0FE7
; 100E, 1014, 101D, 1023, 102C, 1032, 103B
; 1041, 1073, 1079, 107F, 1085, 108E, 1094
; 109A, 10A0, 10A9, 10AF, 10B5, 10BB, 111E
; 123C, 1249, 12CE, 1B5C, 1B7B, 1B86, 22B7
; 22EC, 2353
;==========================================================================
3BE9:02F6 sub_2 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:02F6 55 push bp
3BE9:02F7 8B EC mov bp,sp
3BE9:02F9 B0 02 mov al,2
3BE9:02FB ,50 push ax ; PARAMETER_2
3BE9:02FC 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:02FF B4 00 mov ah,0
3BE9:0301 50 push ax ; PARAMETER_1
3BE9:0302 E8 FD91 call sub_1 ; (0096)
3BE9:0305 5D pop bp
3BE9:0306 C2 0002 retn 2
sub_2 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01AC, 01CE, 0227, 0277, 0A51, 0A5B, 0A7B
; 0E46, 0E69, 0E8E, 0F17, 0F60, 10D2, 1198
; 11BF, 11DF, 11E9, 1257, 12F0, 1301, 1315
; 131C, 132A, 1338, 1346, 1354, 1CAB, 1CBC
; 1CCD, 1CF8, 1D06, 1D2A, 1D38, 1D52, 1D6C
; 1D86, 1DA0, 1DB1, 224E, 225E, 226E, 229F
; 22D4, 233B
;==========================================================================
3BE9:0309 sub_3 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:0309 55 push bp
3BE9:030A 8B EC mov bp,sp
3BE9:030C B0 09 mov al,9
3BE9:030E ,50 push ax ; PARAMETER_2
3BE9:030F FF 76 04 push word ptr [bp+PARAMETER_1] ; PARAMETER_1
3BE9:0312 E8 FD81 call sub_1 ; (0096)
3BE9:0315 5D pop bp
3BE9:0316 C2 0002 retn 2
sub_3 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0284
;==========================================================================
3BE9:0319 sub_4 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:0319 55 push bp
3BE9:031A 8B EC mov bp,sp
3BE9:031C 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:031F B4 00 mov ah,0
3BE9:0321 8B 5E 06 mov bx,[bp+PARAMETER_2]
3BE9:0324 89 07 mov [bx],ax
3BE9:0326 B0 0A mov al,0Ah
3BE9:0328 ,50 push ax ; PARAMETER_2
3BE9:0329 FF 76 06 push word ptr [bp+PARAMETER_2] ; PARAMETER_1
3BE9:032C E8 FD67 call sub_1 ; (0096)
3BE9:032F 8B 46 06 mov ax,[bp+PARAMETER_2]
3BE9:0332 40 inc ax
3BE9:0333 89 46 06 mov [bp+PARAMETER_2],ax
3BE9:0336 8B D8 mov bx,ax
3BE9:0338 8B 07 mov ax,[bx]
3BE9:033A 5D pop bp
3BE9:033B C2 0004 retn 4
sub_4 endp
;==========================================================================
; SUBROUTINE
;==========================================================================
3BE9:033E sub_5 proc near
3BE9:033E ,55 push bp
3BE9:033F 8B EC mov bp,sp
3BE9:0341 B0 0C mov al,0Ch
3BE9:0343 ,50 push ax ; PARAMETER_2
3BE9:0344 B8 0000 mov ax,0
3BE9:0347 50 push ax ; PARAMETER_1
3BE9:0348 E8 FD4B call sub_1 ; (0096)
3BE9:034B 5D pop bp
3BE9:034C C3 retn
sub_5 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01B9, 0234, 024C, 1C7F, 1C95
;==========================================================================
3BE9:034D sub_6 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:034D 55 push bp
3BE9:034E 8B EC mov bp,sp
3BE9:0350 8A 46 06 mov al,[bp+PARAMETER_2]
3BE9:0353 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:0356 88 07 mov [bx],al
3BE9:0358 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:035B C6 47 01 00 mov byte ptr [bx+1],0
3BE9:035F B0 31 mov al,31h ; '1'
3BE9:0361 ,50 push ax ; PARAMETER_2
3BE9:0362 FF 76 04 push word ptr [bp+PARAMETER_1] ; PARAMETER_1
3BE9:0365 E8 FD2E call sub_1 ; (0096)
3BE9:0368 5D pop bp
3BE9:0369 C2 0004 retn 4
sub_6 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1C19, 1C6E
;==========================================================================
3BE9:036C sub_7 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:036C 55 push bp
3BE9:036D 8B EC mov bp,sp
3BE9:036F 8A 46 06 mov al,[bp+PARAMETER_2]
3BE9:0372 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:0375 88 07 mov [bx],al
3BE9:0377 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:037A C6 47 01 FF mov byte ptr [bx+1],0FFh
3BE9:037E B0 31 mov al,31h ; '1'
3BE9:0380 ,50 push ax ; PARAMETER_2
3BE9:0381 FF 76 04 push word ptr [bp+PARAMETER_1] ; PARAMETER_1
3BE9:0384 E8 FD0F call sub_1 ; (0096)
3BE9:0387 5D pop bp
3BE9:0388 C2 0004 retn 4
sub_7 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1A4D
;==========================================================================
3BE9:038B sub_8 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:038B 55 push bp
3BE9:038C 8B EC mov bp,sp
3BE9:038E 8A 46 06 mov al,[bp+PARAMETER_2]
3BE9:0391 88 06 0323 ;* mov byte ptr ds:[323h],al ; (3BE9:0323=6)
3BE9:0391 db 88h, 06h, 23h, 03h ; Fixup - byte match
3BE9:0395 8B 46 04 mov ax,[bp+PARAMETER_1]
3BE9:0398 89 06 0324 ;* mov word ptr ds:[324h],ax ; (3BE9:0324=789h)
3BE9:0398 db 89h, 06h, 24h, 03h ; Fixup - byte match
3BE9:039C B0 32 mov al,32h ; '2'
3BE9:039E ,50 push ax ; PARAMETER_2
3BE9:039F B8 0323 mov ax,323h
3BE9:03A2 50 push ax ; PARAMETER_1
3BE9:03A3 E8 FCF0 call sub_1 ; (0096)
3BE9:03A6 5D pop bp
3BE9:03A7 C2 0004 retn 4
sub_8 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0419, 0444, 0626, 065A, 0682, 23DC
;==========================================================================
3BE9:03AA sub_9 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:03AA 55 push bp
3BE9:03AB 8B EC mov bp,sp
3BE9:03AD C6 06 03AE 01 mov byte ptr ds:[3AEh],1 ; (3BE9:03AE=6)
3BE9:03B2 loc_26: ; xref 3BE9:03E7
3BE9:03B2 ,8A 1E 03AE mov bl,byte ptr ds:[3AEh] ; (3BE9:03AE=6)
3BE9:03B6 B7 00 mov bh,0
3BE9:03B8 8A 87 094C mov al,byte ptr ds:[94Ch][bx] ; (3BE9:094C=61h)
3BE9:03BC 3A 06 0E34 cmp al,byte ptr ds:[0E34h] ; (3BE9:0E34=49h)
3BE9:03C0 74 03 je loc_27 ; Jump if equal
3BE9:03C2 E9 0006 jmpn loc_29 ; (03CB)
3BE9:03C5 loc_27: ; xref 3BE9:03C0
3BE9:03C5 B0 00 mov al,0
3BE9:03C7 5D pop bp
3BE9:03C8 C2 0002 retn 2
3BE9:03CB loc_29: ; xref 3BE9:03C2
3BE9:03CB 8A 1E 03AE mov bl,byte ptr ds:[3AEh] ; (3BE9:03AE=6)
3BE9:03CF B7 00 mov bh,0
3BE9:03D1 8A 87 094C mov al,byte ptr ds:[94Ch][bx] ; (3BE9:094C=61h)
3BE9:03D5 3A 46 04 cmp al,[bp+PARAMETER_1]
3BE9:03D8 74 03 je loc_30 ; Jump if equal
3BE9:03DA E9 0006 jmpn loc_31 ; (03E3)
3BE9:03DD loc_30: ; xref 3BE9:03D8
3BE9:03DD 8B C3 mov ax,bx
3BE9:03DF 5D pop bp
3BE9:03E0 C2 0002 retn 2
3BE9:03E3 loc_31: ; xref 3BE9:03DA
3BE9:03E3 FE 06 03AE inc byte ptr ds:[3AEh] ; (3BE9:03AE=6)
3BE9:03E7 E9 FFC8 ;* jmp loc_26 ; (03B2)
sub_9 endp
3BE9:03E7 db 0E9h,0C8h,0FFh ; Fixup - byte match
;* No entry point to code
3BE9:03EA 5D pop bp
3BE9:03EB C2 0002 retn 2
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01F5, 1491, 14D6, 1573, 1632, 16BA, 177F
; 1837, 1925, 1BB6, 1BEF, 1C44, 1E52, 2161
; 2455
;==========================================================================
3BE9:03EE sub_10 proc near
3BE9:03EE 59 pop cx
3BE9:03EF 8F 06 01EE pop word ptr ds:[1EEh] ; (3BE9:01EE=536h)
3BE9:03F3 8F 06 01F0 pop word ptr ds:[1F0h] ; (3BE9:01F0=0B850h)
3BE9:03F7 51 push cx
3BE9:03F8 55 push bp
3BE9:03F9 8B EC mov bp,sp
3BE9:03FB E8 027B call sub_15 ; (0679)
3BE9:03FE C6 06 03B5 00 mov byte ptr ds:[3B5h],0 ; (3BE9:03B5=3)
3BE9:0403 E8 0182 call sub_12 ; (0588)
3BE9:0406 loc_32: ; xref 3BE9:0454
3BE9:0406 ,8A 06 03B6 ;* mov al,byte ptr ds:[3B6h] ; (3BE9:03B6=0B7h)
3BE9:0406 db 8Ah, 06h,0B6h, 03h ; Fixup - byte match
3BE9:040A 08 C0 ;* or al,al ; Zero ?
3BE9:040A db 08h,0C0h ; Fixup - byte match
3BE9:040C 75 03 jnz loc_33 ; Jump if not zero
3BE9:040E E9 0046 jmpn loc_40 ; (0457)
3BE9:0411 loc_33: ; xref 3BE9:040C
3BE9:0411 88 06 03B5 ;* mov byte ptr ds:[3B5h],al ; (3BE9:03B5=3)
3BE9:0411 db 88h, 06h,0B5h, 03h ; Fixup - byte match
3BE9:0415 ,FF 36 03B2 push word ptr ds:[3B2h] ; PARAMETER_1 (3BE9:03B2=1E8Ah)
3BE9:0419 E8 FF8E call sub_9 ; (03AA)
3BE9:041C 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:041C db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:0420 C6 06 03BA 01 mov byte ptr ds:[3BAh],1 ; (3BE9:03BA=4Ch)
3BE9:0425 loc_34: ; xref 3BE9:044B
3BE9:0425 ,82 3E 0321 00 ;* cmp byte ptr ds:[321h],0 ; (3BE9:0321=8Bh)
3BE9:0425 db 82h, 3Eh, 21h, 03h, 00h ; Fixup - byte match
3BE9:042A 74 03 jz loc_35 ; Jump if zero
3BE9:042C E9 001F jmpn loc_38 ; (044E)
3BE9:042F loc_35: ; xref 3BE9:042A
3BE9:042F E8 0180 call sub_13 ; (05B2)
3BE9:0432 8A 06 03BA ;* mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=4Ch)
3BE9:0432 db 8Ah, 06h,0BAh, 03h ; Fixup - byte match
3BE9:0436 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0438 73 03 jnc loc_36 ; Jump if carry=0
3BE9:043A E9 0003 jmpn loc_37 ; (0440)
3BE9:043D loc_36: ; xref 3BE9:0438
3BE9:043D E9 0011 jmpn loc_39 ; (0451)
3BE9:0440 loc_37: ; xref 3BE9:043A
3BE9:0440 ,FF 36 03B2 push word ptr ds:[3B2h] ; PARAMETER_1 (3BE9:03B2=1E8Ah)
3BE9:0444 E8 FF63 call sub_9 ; (03AA)
3BE9:0447 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:0447 db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:044B E9 FFD7 ;* jmp loc_34 ; (0425)
3BE9:044B db 0E9h,0D7h,0FFh ; Fixup - byte match
3BE9:044E loc_38: ; xref 3BE9:042C
3BE9:044E E9 0015 jmpn loc_41 ; (0466)
3BE9:0451 loc_39: ; xref 3BE9:043D
3BE9:0451 E8 0134 call sub_12 ; (0588)
3BE9:0454 E9 FFAF ;* jmp loc_32 ; (0406)
3BE9:0454 db 0E9h,0AFh,0FFh ; Fixup - byte match
3BE9:0457 loc_40: ; xref 3BE9:040E
3BE9:0457 8A 06 03AF ;* mov al,byte ptr ds:[3AFh] ; (3BE9:03AF=0AEh)
3BE9:0457 db 8Ah, 06h,0AFh, 03h ; Fixup - byte match
3BE9:045B 88 06 0320 ;* mov byte ptr ds:[320h],al ; (3BE9:0320=0)
3BE9:045B db 88h, 06h, 20h, 03h ; Fixup - byte match
3BE9:045F E8 01AE call sub_14 ; (0610)
3BE9:0462 B0 00 mov al,0
3BE9:0464 5D pop bp
3BE9:0465 C3 retn
3BE9:0466 loc_41: ; xref 3BE9:044E
3BE9:0466 8A 06 03AF ;* mov al,byte ptr ds:[3AFh] ; (3BE9:03AF=0AEh)
3BE9:0466 db 8Ah, 06h,0AFh, 03h ; Fixup - byte match
3BE9:046A 88 06 0320 ;* mov byte ptr ds:[320h],al ; (3BE9:0320=0)
3BE9:046A db 88h, 06h, 20h, 03h ; Fixup - byte match
3BE9:046E 88 06 03B9 ;* mov byte ptr ds:[3B9h],al ; (3BE9:03B9=87h)
3BE9:046E db 88h, 06h,0B9h, 03h ; Fixup - byte match
3BE9:0472 8A 06 03B6 ;* mov al,byte ptr ds:[3B6h] ; (3BE9:03B6=0B7h)
3BE9:0472 db 8Ah, 06h,0B6h, 03h ; Fixup - byte match
3BE9:0476 88 06 03B7 ;* mov byte ptr ds:[3B7h],al ; (3BE9:03B7=0)
3BE9:0476 db 88h, 06h,0B7h, 03h ; Fixup - byte match
3BE9:047A C6 06 03BA 00 mov byte ptr ds:[3BAh],0 ; (3BE9:03BA=4Ch)
3BE9:047F loc_42: ; xref 3BE9:04DC, 04EB
3BE9:047F ,8A 06 03B6 ;* mov al,byte ptr ds:[3B6h] ; (3BE9:03B6=0B7h)
3BE9:047F db 8Ah, 06h,0B6h, 03h ; Fixup - byte match
3BE9:0483 88 06 03B5 ;* mov byte ptr ds:[3B5h],al ; (3BE9:03B5=3)
3BE9:0483 db 88h, 06h,0B5h, 03h ; Fixup - byte match
3BE9:0487 E8 00FE call sub_12 ; (0588)
3BE9:048A 82 3E 03B6 00 ;* cmp byte ptr ds:[3B6h],0 ; (3BE9:03B6=0B7h)
3BE9:048A db 82h, 3Eh,0B6h, 03h, 00h ; Fixup - byte match
3BE9:048F 74 03 jz loc_43 ; Jump if zero
3BE9:0491 E9 0003 jmpn loc_44 ; (0497)
3BE9:0494 loc_43: ; xref 3BE9:048F
3BE9:0494 E9 005E jmpn loc_53 ; (04F5)
3BE9:0497 loc_44: ; xref 3BE9:0491
3BE9:0497 8B 1E 01EE mov bx,word ptr ds:[1EEh] ; (3BE9:01EE=536h)
3BE9:049B 8A 06 03B6 ;* mov al,byte ptr ds:[3B6h] ; (3BE9:03B6=0B7h)
3BE9:049B db 8Ah, 06h,0B6h, 03h ; Fixup - byte match
3BE9:049F B4 00 mov ah,0
3BE9:04A1 8B F0 mov si,ax
3BE9:04A3 8A 48 01 mov cl,[bx+si+1]
3BE9:04A6 2A 08 sub cl,[bx+si]
3BE9:04A8 FE C9 dec cl
3BE9:04AA 88 0E 03B8 mov byte ptr ds:[3B8h],cl ; (3BE9:03B8=8Ah)
3BE9:04AE 3A 0E 03B9 cmp cl,byte ptr ds:[3B9h] ; (3BE9:03B9=87h)
3BE9:04B2 74 03 je loc_45 ; Jump if equal
3BE9:04B4 E9 0034 jmpn loc_51 ; (04EB)
3BE9:04B7 loc_45: ; xref 3BE9:04B2
3BE9:04B7 B0 01 mov al,1
3BE9:04B9 88 06 03BA ;* mov byte ptr ds:[3BAh],al ; (3BE9:03BA=4Ch)
3BE9:04B9 db 88h, 06h,0BAh, 03h ; Fixup - byte match
3BE9:04BD 88 06 03B0 ;* mov byte ptr ds:[3B0h],al ; (3BE9:03B0=3)
3BE9:04BD db 88h, 06h,0B0h, 03h ; Fixup - byte match
3BE9:04C1 loc_46: ; xref 3BE9:04E5
3BE9:04C1 ,8A 06 03B0 ;* mov al,byte ptr ds:[3B0h] ; (3BE9:03B0=3)
3BE9:04C1 db 8Ah, 06h,0B0h, 03h ; Fixup - byte match
3BE9:04C5 3A 06 03B9 cmp al,byte ptr ds:[3B9h] ; (3BE9:03B9=87h)
3BE9:04C9 76 03 jbe loc_47 ; Jump if below or =
3BE9:04CB E9 001A jmpn loc_50 ; (04E8)
3BE9:04CE loc_47: ; xref 3BE9:04C9
3BE9:04CE E8 00E1 call sub_13 ; (05B2)
3BE9:04D1 8A 06 03BA ;* mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=4Ch)
3BE9:04D1 db 8Ah, 06h,0BAh, 03h ; Fixup - byte match
3BE9:04D5 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:04D7 73 03 jnc loc_48 ; Jump if carry=0
3BE9:04D9 E9 0003 jmpn loc_49 ; (04DF)
3BE9:04DC loc_48: ; xref 3BE9:04D7
3BE9:04DC E9 FFA0 ;* jmp loc_42 ; (047F)
3BE9:04DC db 0E9h,0A0h,0FFh ; Fixup - byte match
3BE9:04DF loc_49: ; xref 3BE9:04D9
3BE9:04DF FE 06 03B0 inc byte ptr ds:[3B0h] ; (3BE9:03B0=3)
3BE9:04E3 74 03 jz loc_50 ; Jump if zero
3BE9:04E5 E9 FFD9 ;* jmp loc_46 ; (04C1)
3BE9:04E5 db 0E9h,0D9h,0FFh ; Fixup - byte match
3BE9:04E8 loc_50: ; xref 3BE9:04CB, 04E3
3BE9:04E8 E9 0003 jmpn loc_52 ; (04EE)
3BE9:04EB loc_51: ; xref 3BE9:04B4
3BE9:04EB E9 FF91 ;* jmp loc_42 ; (047F)
3BE9:04EB db 0E9h, 91h,0FFh ; Fixup - byte match
3BE9:04EE loc_52: ; xref 3BE9:04E8
3BE9:04EE E8 011F call sub_14 ; (0610)
3BE9:04F1 B0 00 mov al,0
3BE9:04F3 5D pop bp
3BE9:04F4 C3 retn
3BE9:04F5 loc_53: ; xref 3BE9:0494
3BE9:04F5 8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:04F5 db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:04F9 B4 00 mov ah,0
3BE9:04FB 01 06 0118 add data_9,ax ; (3BE9:0118=0)
3BE9:04FF E8 0177 call sub_15 ; (0679)
3BE9:0502 82 3E 0321 00 ;* cmp byte ptr ds:[321h],0 ; (3BE9:0321=8Bh)
3BE9:0502 db 82h, 3Eh, 21h, 03h, 00h ; Fixup - byte match
3BE9:0507 75 03 jnz loc_54 ; Jump if not zero
3BE9:0509 E9 0007 jmpn loc_55 ; (0513)
3BE9:050C loc_54: ; xref 3BE9:0507
3BE9:050C FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:0510 E9 0008 jmpn loc_56 ; (051B)
3BE9:0513 loc_55: ; xref 3BE9:0509
3BE9:0513 8A 06 0E35 ;* mov al,byte ptr ds:[0E35h] ; (3BE9:0E35=50h)
3BE9:0513 db 8Ah, 06h, 35h, 0Eh ; Fixup - byte match
3BE9:0517 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:0517 db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:051B loc_56: ; xref 3BE9:0510
3BE9:051B 8A 06 03B7 ;* mov al,byte ptr ds:[3B7h] ; (3BE9:03B7=0)
3BE9:051B db 8Ah, 06h,0B7h, 03h ; Fixup - byte match
3BE9:051F 5D pop bp
3BE9:0520 C3 retn
sub_10 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0595
;==========================================================================
3BE9:0521 sub_11 proc near
3BE9:0521 ,55 push bp
3BE9:0522 8B EC mov bp,sp
3BE9:0524 8A 06 03B5 ;* mov al,byte ptr ds:[3B5h] ; (3BE9:03B5=3)
3BE9:0524 db 8Ah, 06h,0B5h, 03h ; Fixup - byte match
3BE9:0528 88 06 03BB ;* mov byte ptr ds:[3BBh],al ; (3BE9:03BB=9)
3BE9:0528 db 88h, 06h,0BBh, 03h ; Fixup - byte match
3BE9:052C 8B 1E 01EE mov bx,word ptr ds:[1EEh] ; (3BE9:01EE=536h)
3BE9:0530 B4 00 mov ah,0
3BE9:0532 8B F0 mov si,ax
3BE9:0534 8A 00 mov al,[bx+si]
3BE9:0536 88 06 03B1 ;* mov byte ptr ds:[3B1h],al ; (3BE9:03B1=1)
3BE9:0536 db 88h, 06h,0B1h, 03h ; Fixup - byte match
3BE9:053A loc_57: ; xref 3BE9:057E
3BE9:053A ,8B 1E 01F0 mov bx,word ptr ds:[1F0h] ; (3BE9:01F0=0B850h)
3BE9:053E 8A 06 03B1 ;* mov al,byte ptr ds:[3B1h] ; (3BE9:03B1=1)
3BE9:053E db 8Ah, 06h,0B1h, 03h ; Fixup - byte match
3BE9:0542 B4 00 mov ah,0
3BE9:0544 8B F0 mov si,ax
3BE9:0546 8A 08 mov cl,[bx+si]
3BE9:0548 3A 0E 0E34 cmp cl,byte ptr ds:[0E34h] ; (3BE9:0E34=49h)
3BE9:054C 75 03 jne loc_58 ; Jump if not equal
3BE9:054E E9 0030 jmpn loc_61 ; (0581)
3BE9:0551 loc_58: ; xref 3BE9:054C
3BE9:0551 8A 0E 03BB mov cl,byte ptr ds:[3BBh] ; (3BE9:03BB=9)
3BE9:0555 FE C1 inc cl
3BE9:0557 88 0E 03BB mov byte ptr ds:[3BBh],cl ; (3BE9:03BB=9)
3BE9:055B 88 0E 03B6 mov byte ptr ds:[3B6h],cl ; (3BE9:03B6=0B7h)
3BE9:055F 8A 00 mov al,[bx+si]
3BE9:0561 3A 06 03B2 cmp al,byte ptr ds:[3B2h] ; (3BE9:03B2=8Ah)
3BE9:0565 74 03 je loc_59 ; Jump if equal
3BE9:0567 E9 0002 jmpn loc_60 ; (056C)
3BE9:056A loc_59: ; xref 3BE9:0565
3BE9:056A 5D pop bp
3BE9:056B C3 retn
3BE9:056C loc_60: ; xref 3BE9:0567
3BE9:056C 8B 1E 01EE mov bx,word ptr ds:[1EEh] ; (3BE9:01EE=536h)
3BE9:0570 8A 06 03BB ;* mov al,byte ptr ds:[3BBh] ; (3BE9:03BB=9)
3BE9:0570 db 8Ah, 06h,0BBh, 03h ; Fixup - byte match
3BE9:0574 B4 00 mov ah,0
3BE9:0576 8B F0 mov si,ax
3BE9:0578 8A 00 mov al,[bx+si]
3BE9:057A 88 06 03B1 ;* mov byte ptr ds:[3B1h],al ; (3BE9:03B1=1)
3BE9:057A db 88h, 06h,0B1h, 03h ; Fixup - byte match
3BE9:057E E9 FFB9 ;* jmp loc_57 ; (053A)
3BE9:057E db 0E9h,0B9h,0FFh ; Fixup - byte match
3BE9:0581 loc_61: ; xref 3BE9:054E
3BE9:0581 C6 06 03B6 00 mov byte ptr ds:[3B6h],0 ; (3BE9:03B6=0B7h)
3BE9:0586 5D pop bp
3BE9:0587 C3 retn
sub_11 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0403, 0451, 0487
;==========================================================================
3BE9:0588 sub_12 proc near
3BE9:0588 ,55 push bp
3BE9:0589 8B EC mov bp,sp
3BE9:058B 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:058F 8A 07 mov al,[bx]
3BE9:0591 88 06 03B2 ;* mov byte ptr ds:[3B2h],al ; (3BE9:03B2=8Ah)
3BE9:0591 db 88h, 06h,0B2h, 03h ; Fixup - byte match
3BE9:0595 E8 FF89 call sub_11 ; (0521)
3BE9:0598 8A 06 03B1 ;* mov al,byte ptr ds:[3B1h] ; (3BE9:03B1=1)
3BE9:0598 db 8Ah, 06h,0B1h, 03h ; Fixup - byte match
3BE9:059C 88 06 03B3 ;* mov byte ptr ds:[3B3h],al ; (3BE9:03B3=1Eh)
3BE9:059C db 88h, 06h,0B3h, 03h ; Fixup - byte match
3BE9:05A0 C6 06 03AF 01 mov byte ptr ds:[3AFh],1 ; (3BE9:03AF=0AEh)
3BE9:05A5 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:05A9 8A 47 01 mov al,[bx+1]
3BE9:05AC 88 06 03B2 ;* mov byte ptr ds:[3B2h],al ; (3BE9:03B2=8Ah)
3BE9:05AC db 88h, 06h,0B2h, 03h ; Fixup - byte match
3BE9:05B0 5D pop bp
3BE9:05B1 C3 retn
sub_12 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:042F, 04CE
;==========================================================================
3BE9:05B2 sub_13 proc near
3BE9:05B2 ,55 push bp
3BE9:05B3 8B EC mov bp,sp
3BE9:05B5 8A 06 03B3 ;* mov al,byte ptr ds:[3B3h] ; (3BE9:03B3=1Eh)
3BE9:05B5 db 8Ah, 06h,0B3h, 03h ; Fixup - byte match
3BE9:05B9 FE C0 inc al
3BE9:05BB 88 06 03B3 ;* mov byte ptr ds:[3B3h],al ; (3BE9:03B3=1Eh)
3BE9:05BB db 88h, 06h,0B3h, 03h ; Fixup - byte match
3BE9:05BF 8B 1E 01F0 mov bx,word ptr ds:[1F0h] ; (3BE9:01F0=0B850h)
3BE9:05C3 B4 00 mov ah,0
3BE9:05C5 8B F0 mov si,ax
3BE9:05C7 8A 00 mov al,[bx+si]
3BE9:05C9 3A 06 0322 cmp al,byte ptr ds:[322h] ; (3BE9:0322=5Eh)
3BE9:05CD 74 03 je loc_62 ; Jump if equal
3BE9:05CF E9 0008 jmpn loc_63 ; (05DA)
3BE9:05D2 loc_62: ; xref 3BE9:05CD
3BE9:05D2 C6 06 03BA 00 mov byte ptr ds:[3BAh],0 ; (3BE9:03BA=4Ch)
3BE9:05D7 E9 001C jmpn loc_65 ; (05F6)
3BE9:05DA loc_63: ; xref 3BE9:05CF
3BE9:05DA 8B 1E 01F0 mov bx,word ptr ds:[1F0h] ; (3BE9:01F0=0B850h)
3BE9:05DE 8A 06 03B3 ;* mov al,byte ptr ds:[3B3h] ; (3BE9:03B3=1Eh)
3BE9:05DE db 8Ah, 06h,0B3h, 03h ; Fixup - byte match
3BE9:05E2 B4 00 mov ah,0
3BE9:05E4 8B F0 mov si,ax
3BE9:05E6 8A 00 mov al,[bx+si]
3BE9:05E8 3A 06 03B2 cmp al,byte ptr ds:[3B2h] ; (3BE9:03B2=8Ah)
3BE9:05EC 75 03 jne loc_64 ; Jump if not equal
3BE9:05EE E9 0005 jmpn loc_65 ; (05F6)
3BE9:05F1 loc_64: ; xref 3BE9:05EC
3BE9:05F1 C6 06 03BA 00 mov byte ptr ds:[3BAh],0 ; (3BE9:03BA=4Ch)
3BE9:05F6 loc_65: ; xref 3BE9:05D7, 05EE
3BE9:05F6 8A 06 03AF ;* mov al,byte ptr ds:[3AFh] ; (3BE9:03AF=0AEh)
3BE9:05F6 db 8Ah, 06h,0AFh, 03h ; Fixup - byte match
3BE9:05FA FE C0 inc al
3BE9:05FC 88 06 03AF ;* mov byte ptr ds:[3AFh],al ; (3BE9:03AF=0AEh)
3BE9:05FC db 88h, 06h,0AFh, 03h ; Fixup - byte match
3BE9:0600 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:0604 B4 00 mov ah,0
3BE9:0606 8B F0 mov si,ax
3BE9:0608 8A 00 mov al,[bx+si]
3BE9:060A 88 06 03B2 ;* mov byte ptr ds:[3B2h],al ; (3BE9:03B2=8Ah)
3BE9:060A db 88h, 06h,0B2h, 03h ; Fixup - byte match
3BE9:060E 5D pop bp
3BE9:060F C3 retn
sub_13 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:045F, 04EE
;==========================================================================
3BE9:0610 sub_14 proc near
3BE9:0610 ,55 push bp
3BE9:0611 8B EC mov bp,sp
3BE9:0613 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:0617 8A 06 03AF ;* mov al,byte ptr ds:[3AFh] ; (3BE9:03AF=0AEh)
3BE9:0617 db 8Ah, 06h,0AFh, 03h ; Fixup - byte match
3BE9:061B B4 00 mov ah,0
3BE9:061D 8B F0 mov si,ax
3BE9:061F 8A 00 mov al,[bx+si]
3BE9:0621 88 06 03B2 ;* mov byte ptr ds:[3B2h],al ; (3BE9:03B2=8Ah)
3BE9:0621 db 88h, 06h,0B2h, 03h ; Fixup - byte match
3BE9:0625 ,50 push ax ; PARAMETER_1
3BE9:0626 E8 FD81 call sub_9 ; (03AA)
3BE9:0629 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:0629 db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:062D loc_66: ; xref 3BE9:0661
3BE9:062D ,8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:062D db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:0631 80 F8 01 ;* cmp al,1
3BE9:0631 db 80h,0F8h, 01h ; Fixup - byte match
3BE9:0634 73 03 jnc loc_67 ; Jump if carry=0
3BE9:0636 E9 0008 jmpn loc_68 ; (0641)
3BE9:0639 loc_67: ; xref 3BE9:0634
3BE9:0639 80 F8 08 ;* cmp al,8
3BE9:0639 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:063C 77 03 ja loc_68 ; Jump if above
3BE9:063E E9 0023 jmpn loc_69 ; (0664)
3BE9:0641 loc_68: ; xref 3BE9:0636, 063C
3BE9:0641 8A 06 03AF ;* mov al,byte ptr ds:[3AFh] ; (3BE9:03AF=0AEh)
3BE9:0641 db 8Ah, 06h,0AFh, 03h ; Fixup - byte match
3BE9:0645 FE C0 inc al
3BE9:0647 88 06 03AF ;* mov byte ptr ds:[3AFh],al ; (3BE9:03AF=0AEh)
3BE9:0647 db 88h, 06h,0AFh, 03h ; Fixup - byte match
3BE9:064B 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:064F B4 00 mov ah,0
3BE9:0651 8B F0 mov si,ax
3BE9:0653 8A 00 mov al,[bx+si]
3BE9:0655 88 06 03B2 ;* mov byte ptr ds:[3B2h],al ; (3BE9:03B2=8Ah)
3BE9:0655 db 88h, 06h,0B2h, 03h ; Fixup - byte match
3BE9:0659 ,50 push ax ; PARAMETER_1
3BE9:065A E8 FD4D call sub_9 ; (03AA)
3BE9:065D 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:065D db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:0661 E9 FFC9 ;* jmp loc_66 ; (062D)
3BE9:0661 db 0E9h,0C9h,0FFh ; Fixup - byte match
3BE9:0664 loc_69: ; xref 3BE9:063E
3BE9:0664 8A 06 03AF ;* mov al,byte ptr ds:[3AFh] ; (3BE9:03AF=0AEh)
3BE9:0664 db 8Ah, 06h,0AFh, 03h ; Fixup - byte match
3BE9:0668 88 06 0320 ;* mov byte ptr ds:[320h],al ; (3BE9:0320=0)
3BE9:0668 db 88h, 06h, 20h, 03h ; Fixup - byte match
3BE9:066C B4 00 mov ah,0
3BE9:066E 03 06 0118 add ax,data_9 ; (3BE9:0118=0)
3BE9:0672 40 inc ax
3BE9:0673 89 06 0118 ;* mov data_9,ax ; (3BE9:0118=0)
3BE9:0673 db 89h, 06h, 18h, 01h ; Fixup - byte match
3BE9:0677 5D pop bp
3BE9:0678 C3 retn
sub_14 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:03FB, 04FF
;==========================================================================
3BE9:0679 sub_15 proc near
3BE9:0679 ,55 push bp
3BE9:067A 8B EC mov bp,sp
3BE9:067C loc_70: ; xref 3BE9:0696
3BE9:067C ,8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:0680 ,FF 37 push word ptr [bx] ; PARAMETER_1
3BE9:0682 E8 FD25 call sub_9 ; (03AA)
3BE9:0685 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:0685 db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:0689 3A 06 0E35 cmp al,byte ptr ds:[0E35h] ; (3BE9:0E35=50h)
3BE9:068D 74 03 je loc_71 ; Jump if equal
3BE9:068F E9 0007 jmpn loc_72 ; (0699)
3BE9:0692 loc_71: ; xref 3BE9:068D
3BE9:0692 FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:0696 E9 FFE3 ;* jmp loc_70 ; (067C)
3BE9:0696 db 0E9h,0E3h,0FFh ; Fixup - byte match
3BE9:0699 loc_72: ; xref 3BE9:068F
3BE9:0699 5D pop bp
3BE9:069A C3 retn
sub_15 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:01DA, 24F3
;==========================================================================
3BE9:069B sub_16 proc near
3BE9:069B ,55 push bp
3BE9:069C 8B EC mov bp,sp
3BE9:069E B0 1F mov al,1Fh
3BE9:06A0 ,50 push ax ; PARAMETER_2
3BE9:06A1 B8 0000 mov ax,0
3BE9:06A4 50 push ax ; PARAMETER_1
3BE9:06A5 E8 F9EE call sub_1 ; (0096)
3BE9:06A8 89 1E 019A mov data_12,bx ; (3BE9:019A=74FFh)
3BE9:06AC 8C 06 019C mov word ptr data_12+2,es ; (3BE9:019C=4001h)
3BE9:06B0 ,BB 019A mov bx,offset data_12 ; (3BE9:019A=0FFh)
3BE9:06B3 89 1E 0196 mov data_10,bx ; (3BE9:0196=0F880h)
3BE9:06B7 8C 1E 0198 mov data_11,ds ; (3BE9:0198=0B001h)
3BE9:06BB C7 07 0F28 mov word ptr [bx],0F28h
3BE9:06BF C4 06 019A les ax,dword ptr data_12 ; (3BE9:019A=74FFh) Load seg:offset pt
3BE9:06C3 89 06 01E4 ;* mov word ptr ds:[1E4h],ax ; (3BE9:01E4=46E9h)
3BE9:06C3 db 89h, 06h,0E4h, 01h ; Fixup - byte match
3BE9:06C7 8C 06 01E6 mov word ptr ds:[1E6h],es ; (3BE9:01E6=0C700h)
3BE9:06CB B8 0000 mov ax,0
3BE9:06CE 89 06 0116 ;* mov data_8,ax ; (3BE9:0116=0)
3BE9:06CE db 89h, 06h, 16h, 01h ; Fixup - byte match
3BE9:06D2 88 06 03BC ;* mov byte ptr ds:[3BCh],al ; (3BE9:03BC=3Ah)
3BE9:06D2 db 88h, 06h,0BCh, 03h ; Fixup - byte match
3BE9:06D6 loc_73: ; xref 3BE9:0701
3BE9:06D6 ,8A 06 03BC ;* mov al,byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:06D6 db 8Ah, 06h,0BCh, 03h ; Fixup - byte match
3BE9:06DA 80 F8 0F ;* cmp al,0Fh
3BE9:06DA db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:06DD 76 03 jbe loc_74 ; Jump if below or =
3BE9:06DF E9 0022 jmpn loc_77 ; (0704)
3BE9:06E2 loc_74: ; xref 3BE9:06DD
3BE9:06E2 B4 00 mov ah,0
3BE9:06E4 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:06E6 8B F0 mov si,ax
3BE9:06E8 C4 1E 01E4 les bx,dword ptr ds:[1E4h] ; (3BE9:01E4=46E9h) Load seg:offset pt
3BE9:06EC 26: 83 38 00 cmp word ptr es:[bx+si],0
3BE9:06F0 75 03 jne loc_75 ; Jump if not equal
3BE9:06F2 E9 0006 jmpn loc_76 ; (06FB)
3BE9:06F5 loc_75: ; xref 3BE9:06F0
3BE9:06F5 C7 06 0116 00FF mov data_8,0FFh ; (3BE9:0116=0)
3BE9:06FB loc_76: ; xref 3BE9:06F2
3BE9:06FB FE 06 03BC inc byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:06FF 74 03 jz loc_77 ; Jump if zero
3BE9:0701 E9 FFD2 ;* jmp loc_73 ; (06D6)
3BE9:0701 db 0E9h,0D2h,0FFh ; Fixup - byte match
3BE9:0704 loc_77: ; xref 3BE9:06DF, 06FF
3BE9:0704 C6 06 03BC 00 mov byte ptr ds:[3BCh],0 ; (3BE9:03BC=3Ah)
3BE9:0709 loc_78: ; xref 3BE9:074A
3BE9:0709 ,8A 06 03BC ;* mov al,byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:0709 db 8Ah, 06h,0BCh, 03h ; Fixup - byte match
3BE9:070D 80 F8 0F ;* cmp al,0Fh
3BE9:070D db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:0710 76 03 jbe loc_79 ; Jump if below or =
3BE9:0712 E9 0038 jmpn loc_80 ; (074D)
3BE9:0715 loc_79: ; xref 3BE9:0710
3BE9:0715 B4 00 mov ah,0
3BE9:0717 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:0719 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:071B 8B D8 mov bx,ax
3BE9:071D C4 06 01E4 les ax,dword ptr ds:[1E4h] ; (3BE9:01E4=46E9h) Load seg:offset pt
3BE9:0721 89 87 01A2 mov word ptr ds:[1A2h][bx],ax ; (3BE9:01A2=72D8h)
3BE9:0725 8C 87 01A4 mov word ptr ds:[1A4h][bx],es ; (3BE9:01A4=0E903h)
3BE9:0729 ,8D 9F 01A2 lea bx,ds:data_154e[bx] ; (C700:01A2=0FCh) Load effective addr
3BE9:072D 89 1E 01E2 mov word ptr ds:[1E2h],bx ; (3BE9:01E2=374h)
3BE9:0731 8A 0E 03BC mov cl,byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:0735 B5 00 mov ch,0
3BE9:0737 D1 E1 shl cx,1 ; Shift w/zeros fill
3BE9:0739 87 D8 ;* xchg bx,ax
3BE9:0739 db 87h,0D8h ; Fixup - byte match
3BE9:073B 8B F1 mov si,cx
3BE9:073D 26: 8B 08 mov cx,es:[bx+si]
3BE9:0740 8B D8 mov bx,ax
3BE9:0742 89 0F mov [bx],cx
3BE9:0744 FE 06 03BC inc byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:0748 74 03 jz loc_80 ; Jump if zero
3BE9:074A E9 FFBC ;* jmp loc_78 ; (0709)
3BE9:074A db 0E9h,0BCh,0FFh ; Fixup - byte match
3BE9:074D loc_80: ; xref 3BE9:0712, 0748
3BE9:074D C6 06 03BC 00 mov byte ptr ds:[3BCh],0 ; (3BE9:03BC=3Ah)
3BE9:0752 loc_81: ; xref 3BE9:078A
3BE9:0752 ,8A 06 03BC ;* mov al,byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:0752 db 8Ah, 06h,0BCh, 03h ; Fixup - byte match
3BE9:0756 80 F8 0F ;* cmp al,0Fh
3BE9:0756 db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:0759 76 03 jbe loc_82 ; Jump if below or =
3BE9:075B E9 002F jmpn loc_83 ; (078D)
3BE9:075E loc_82: ; xref 3BE9:0759
3BE9:075E B4 00 mov ah,0
3BE9:0760 8B D8 mov bx,ax
3BE9:0762 B0 FF mov al,0FFh
3BE9:0764 88 87 0328 mov byte ptr ds:[328h][bx],al ; (3BE9:0328=50h)
3BE9:0768 88 87 0338 mov byte ptr ds:[338h][bx],al ; (3BE9:0338=8Bh)
3BE9:076C 88 87 0348 mov byte ptr ds:[348h][bx],al ; (3BE9:0348=0E8h)
3BE9:0770 88 87 0358 mov byte ptr ds:[358h][bx],al ; (3BE9:0358=8Bh)
3BE9:0774 88 87 0368 mov byte ptr ds:[368h][bx],al ; (3BE9:0368=5Dh)
3BE9:0778 88 87 0378 mov byte ptr ds:[378h][bx],al ; (3BE9:0378=5Eh)
3BE9:077C 88 87 0388 mov byte ptr ds:[388h][bx],al ; (3BE9:0388=0C2h)
3BE9:0780 88 87 0398 mov byte ptr ds:[398h][bx],al ; (3BE9:0398=89h)
3BE9:0784 FE 06 03BC inc byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:0788 74 03 jz loc_83 ; Jump if zero
3BE9:078A E9 FFC5 ;* jmp loc_81 ; (0752)
3BE9:078A db 0E9h,0C5h,0FFh ; Fixup - byte match
3BE9:078D loc_83: ; xref 3BE9:075B, 0788
3BE9:078D C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:0791 26: C7 07 0F48 mov word ptr es:[bx],0F48h
3BE9:0796 C4 06 019A les ax,dword ptr data_12 ; (3BE9:019A=74FFh) Load seg:offset pt
3BE9:079A 89 06 019E ;* mov word ptr ds:[19Eh],ax ; (3BE9:019E=0A59h)
3BE9:079A db 89h, 06h, 9Eh, 01h ; Fixup - byte match
3BE9:079E 8C 06 01A0 mov word ptr ds:[1A0h],es ; (3BE9:01A0=0D0C1h)
3BE9:07A2 B8 0328 mov ax,328h
3BE9:07A5 ,50 push ax ; PARAMETER_2
3BE9:07A6 B0 00 mov al,0
3BE9:07A8 50 push ax ; PARAMETER_1
3BE9:07A9 E8 0052 call sub_17 ; (07FE)
3BE9:07AC B8 0338 mov ax,338h
3BE9:07AF ,50 push ax ; PARAMETER_2
3BE9:07B0 B0 01 mov al,1
3BE9:07B2 50 push ax ; PARAMETER_1
3BE9:07B3 E8 0048 call sub_17 ; (07FE)
3BE9:07B6 B8 0348 mov ax,348h
3BE9:07B9 ,50 push ax ; PARAMETER_2
3BE9:07BA B0 02 mov al,2
3BE9:07BC 50 push ax ; PARAMETER_1
3BE9:07BD E8 003E call sub_17 ; (07FE)
3BE9:07C0 B8 0358 mov ax,358h
3BE9:07C3 ,50 push ax ; PARAMETER_2
3BE9:07C4 B0 03 mov al,3
3BE9:07C6 50 push ax ; PARAMETER_1
3BE9:07C7 E8 0034 call sub_17 ; (07FE)
3BE9:07CA B8 0368 mov ax,368h
3BE9:07CD ,50 push ax ; PARAMETER_2
3BE9:07CE B0 04 mov al,4
3BE9:07D0 50 push ax ; PARAMETER_1
3BE9:07D1 E8 002A call sub_17 ; (07FE)
3BE9:07D4 C6 06 03BC 01 mov byte ptr ds:[3BCh],1 ; (3BE9:03BC=3Ah)
3BE9:07D9 loc_84: ; xref 3BE9:07F9
3BE9:07D9 ,8A 06 03BC ;* mov al,byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:07D9 db 8Ah, 06h,0BCh, 03h ; Fixup - byte match
3BE9:07DD 80 F8 0F ;* cmp al,0Fh
3BE9:07DD db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:07E0 76 03 jbe loc_85 ; Jump if below or =
3BE9:07E2 E9 0017 jmpn loc_86 ; (07FC)
3BE9:07E5 loc_85: ; xref 3BE9:07E0
3BE9:07E5 B4 00 mov ah,0
3BE9:07E7 8B D8 mov bx,ax
3BE9:07E9 B0 FF mov al,0FFh
3BE9:07EB 88 87 0328 mov byte ptr ds:[328h][bx],al ; (3BE9:0328=50h)
3BE9:07EF 88 87 0348 mov byte ptr ds:[348h][bx],al ; (3BE9:0348=0E8h)
3BE9:07F3 FE 06 03BC inc byte ptr ds:[3BCh] ; (3BE9:03BC=3Ah)
3BE9:07F7 74 03 jz loc_86 ; Jump if zero
3BE9:07F9 E9 FFDD ;* jmp loc_84 ; (07D9)
3BE9:07F9 db 0E9h,0DDh,0FFh ; Fixup - byte match
3BE9:07FC loc_86: ; xref 3BE9:07E2, 07F7
3BE9:07FC 5D pop bp
3BE9:07FD C3 retn
sub_16 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:07A9, 07B3, 07BD, 07C7, 07D1
;==========================================================================
3BE9:07FE sub_17 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:07FE 55 push bp
3BE9:07FF 8B EC mov bp,sp
3BE9:0801 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:0804 B4 00 mov ah,0
3BE9:0806 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:0808 C4 1E 019E les bx,dword ptr ds:[19Eh] ; (3BE9:019E=0A59h) Load seg:offset pt
3BE9:080C 8B F0 mov si,ax
3BE9:080E 26: 8B 00 mov ax,es:[bx+si]
3BE9:0811 C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:0815 26: 89 07 mov es:[bx],ax
3BE9:0818 C6 06 03BD 00 mov byte ptr ds:[3BDh],0 ; (3BE9:03BD=6)
3BE9:081D C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:0821 26: 83 3F 00 cmp word ptr es:[bx],0
3BE9:0825 75 03 jne loc_87 ; Jump if not equal
3BE9:0827 E9 0116 ;* jmp loc_102 ;*(0940)
3BE9:0827 db 0E9h, 16h, 01h ; Fixup - byte match
3BE9:082A loc_87: ; xref 3BE9:0825
3BE9:082A C6 06 03BE 00 mov byte ptr ds:[3BEh],0 ; (3BE9:03BE=34h)
3BE9:082F C4 06 019A les ax,dword ptr data_12 ; (3BE9:019A=74FFh) Load seg:offset pt
3BE9:0833 89 06 01E8 ;* mov word ptr ds:[1E8h],ax ; (3BE9:01E8=1806h)
3BE9:0833 db 89h, 06h,0E8h, 01h ; Fixup - byte match
3BE9:0837 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:083B loc_88: ; xref 3BE9:087D
3BE9:083B ,8A 06 03BE ;* mov al,byte ptr ds:[3BEh] ; (3BE9:03BE=34h)
3BE9:083B db 8Ah, 06h,0BEh, 03h ; Fixup - byte match
3BE9:083F 80 F8 10 ;* cmp al,10h
3BE9:083F db 80h,0F8h, 10h ; Fixup - byte match
3BE9:0842 72 03 jc loc_89 ; Jump if carry Set
3BE9:0844 E9 0039 jmpn loc_92 ; (0880)
3BE9:0847 loc_89: ; xref 3BE9:0842
3BE9:0847 B4 00 mov ah,0
3BE9:0849 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:084B D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:084D 8B D8 mov bx,ax
3BE9:084F C4 87 01A2 les ax,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:0853 06 push es
3BE9:0854 C4 16 019A les dx,dword ptr data_12 ; (3BE9:019A=74FFh) Load seg:offset pt
3BE9:0858 8C C7 mov di,es
3BE9:085A 5E pop si
3BE9:085B B1 04 mov cl,4
3BE9:085D 8B D8 mov bx,ax
3BE9:085F D3 EB shr bx,cl ; Shift w/zeros fill
3BE9:0861 03 F3 add si,bx
3BE9:0863 8B DA mov bx,dx
3BE9:0865 D3 EB shr bx,cl ; Shift w/zeros fill
3BE9:0867 03 FB add di,bx
3BE9:0869 3B F7 cmp si,di
3BE9:086B 75 07 jne loc_90 ; Jump if not equal
3BE9:086D 24 0F and al,0Fh
3BE9:086F 80 E2 0F and dl,0Fh
3BE9:0872 3A C2 cmp al,dl
3BE9:0874 loc_90: ; xref 3BE9:086B
3BE9:0874 75 03 jne loc_91 ; Jump if not equal
3BE9:0876 E9 0007 jmpn loc_92 ; (0880)
3BE9:0879 loc_91: ; xref 3BE9:0874
3BE9:0879 FE 06 03BE inc byte ptr ds:[3BEh] ; (3BE9:03BE=34h)
3BE9:087D E9 FFBB ;* jmp loc_88 ; (083B)
3BE9:087D db 0E9h,0BBh,0FFh ; Fixup - byte match
3BE9:0880 loc_92: ; xref 3BE9:0844, 0876
3BE9:0880 8A 06 03BE ;* mov al,byte ptr ds:[3BEh] ; (3BE9:03BE=34h)
3BE9:0880 db 8Ah, 06h,0BEh, 03h ; Fixup - byte match
3BE9:0884 80 F8 10 ;* cmp al,10h
3BE9:0884 db 80h,0F8h, 10h ; Fixup - byte match
3BE9:0887 72 03 jc loc_93 ; Jump if carry Set
3BE9:0889 E9 004D jmpn loc_100 ; (08D9)
3BE9:088C loc_93: ; xref 3BE9:0887
3BE9:088C 8A 0E 03BD mov cl,byte ptr ds:[3BDh] ; (3BE9:03BD=6)
3BE9:0890 B5 00 mov ch,0
3BE9:0892 8B F1 mov si,cx
3BE9:0894 8B 5E 06 mov bx,[bp+PARAMETER_2]
3BE9:0897 88 00 mov [bx+si],al
3BE9:0899 80 7E 04 01 cmp byte ptr [bp+PARAMETER_1],1
3BE9:089D 74 03 je loc_94 ; Jump if equal
3BE9:089F E9 000B jmpn loc_95 ; (08AD)
3BE9:08A2 loc_94: ; xref 3BE9:089D
3BE9:08A2 8A 1E 03BE mov bl,byte ptr ds:[3BEh] ; (3BE9:03BE=34h)
3BE9:08A6 B7 00 mov bh,0
3BE9:08A8 C6 87 0378 00 mov byte ptr ds:[378h][bx],0 ; (3BE9:0378=5Eh)
3BE9:08AD loc_95: ; xref 3BE9:089F
3BE9:08AD 80 7E 04 03 cmp byte ptr [bp+PARAMETER_1],3
3BE9:08B1 74 03 je loc_96 ; Jump if equal
3BE9:08B3 E9 000B jmpn loc_97 ; (08C1)
3BE9:08B6 loc_96: ; xref 3BE9:08B1
3BE9:08B6 8A 1E 03BE mov bl,byte ptr ds:[3BEh] ; (3BE9:03BE=34h)
3BE9:08BA B7 00 mov bh,0
3BE9:08BC C6 87 0388 00 mov byte ptr ds:[388h][bx],0 ; (3BE9:0388=0C2h)
3BE9:08C1 loc_97: ; xref 3BE9:08B3
3BE9:08C1 80 7E 04 04 cmp byte ptr [bp+PARAMETER_1],4
3BE9:08C5 74 03 je loc_98 ; Jump if equal
3BE9:08C7 E9 000B jmpn loc_99 ; (08D5)
3BE9:08CA loc_98: ; xref 3BE9:08C5
3BE9:08CA 8A 1E 03BE mov bl,byte ptr ds:[3BEh] ; (3BE9:03BE=34h)
3BE9:08CE B7 00 mov bh,0
3BE9:08D0 C6 87 0398 00 mov byte ptr ds:[398h][bx],0 ; (3BE9:0398=89h)
3BE9:08D5 loc_99: ; xref 3BE9:08C7
3BE9:08D5 FE 06 03BD inc byte ptr ds:[3BDh] ; (3BE9:03BD=6)
3BE9:08D9 loc_100: ; xref 3BE9:0889
3BE9:08D9 8A 5E 04 mov bl,[bp+PARAMETER_1]
3BE9:08DC B7 00 mov bh,0
3BE9:08DE D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:08E0 2E: FF A7 08B3 jmp word ptr cs:[8B3h][bx] ;*(3BE9:08B3=0BE9h) 1 entry
3BE9:08E5 C4 1E 96 01 db 0C4h, 1Eh, 96h, 01h
;===== Indexed Entry Point ================================================
3BE9:08E9 loc_101: ; xref 3BE9:1EA9
3BE9:08E9 26: C7 07 0000 mov word ptr es:[bx],0
3BE9:08EE E9 004C ;* jmpn $+4Fh ;*
3BE9:08EE db 0E9h, 4Ch, 00h ; Fixup - byte match
;* No entry point to code
3BE9:08F1 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:08F5 26: 8B 47 12 mov ax,es:[bx+12h]
3BE9:08F9 C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:08FD 26: 89 07 mov es:[bx],ax
3BE9:0900 E9 003A ;* jmpn $+3Dh ;*
3BE9:0900 db 0E9h, 3Ah, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0903 C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:0907 26: C7 07 0000 mov word ptr es:[bx],0
3BE9:090C E9 002E ;* jmpn $+31h ;*
3BE9:090C db 0E9h, 2Eh, 00h ; Fixup - byte match
;* No entry point to code
3BE9:090F C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0913 26: 8B 47 14 mov ax,es:[bx+14h]
3BE9:0917 C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:091B 26: 89 07 mov es:[bx],ax
3BE9:091E E9 001C ;* jmpn $+1Fh ;*
3BE9:091E db 0E9h, 1Ch, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0921 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0925 26: 8B 47 16 mov ax,es:[bx+16h]
3BE9:0929 C4 1E 0196 les bx,dword ptr data_10 ; (3BE9:0196=0F880h) Load seg:offset p
3BE9:092D 26: 89 07 mov es:[bx],ax
3BE9:0930 E9 000A ;* jmpn $+0Dh ;*
3BE9:0930 db 0E9h, 0Ah, 00h ; Fixup - byte match
3BE9:0933 65 08 71 08 83 08 db 65h, 08h, 71h, 08h, 83h, 08h
3BE9:0939 8F 08 A1 08 E9 DD db 8Fh, 08h,0A1h, 08h,0E9h,0DDh
3BE9:093F FE db 0FEh
3BE9:0940 loc_102: ; xref 3BE9:0827
3BE9:0940 5D pop bp
3BE9:0941 C2 0004 retn 4
sub_17 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:02C6
;==========================================================================
3BE9:0944 sub_18 proc near
3BE9:0944 ,55 push bp
3BE9:0945 8B EC mov bp,sp
3BE9:0947 8A 46 04 mov al,[bp+4]
3BE9:094A 80 F8 61 ;* cmp al,61h ; 'a'
3BE9:094A db 80h,0F8h, 61h ; Fixup - byte match
3BE9:094D 73 03 jnc loc_103 ; Jump if carry=0
3BE9:094F E9 000F jmpn loc_105 ; (0961)
3BE9:0952 loc_103: ; xref 3BE9:094D
3BE9:0952 80 F8 7B ;* cmp al,7Bh ; '{'
3BE9:0952 db 80h,0F8h, 7Bh ; Fixup - byte match
3BE9:0955 72 03 jc loc_104 ; Jump if carry Set
3BE9:0957 E9 0007 jmpn loc_105 ; (0961)
3BE9:095A loc_104: ; xref 3BE9:0955
3BE9:095A 80 E8 20 ;* sub al,20h ; ' '
3BE9:095A db 80h,0E8h, 20h ; Fixup - byte match
3BE9:095D 5D pop bp
3BE9:095E C2 0002 retn 2
3BE9:0961 loc_105: ; xref 3BE9:094F, 0957
3BE9:0961 8A 46 04 mov al,[bp+4]
3BE9:0964 5D pop bp
3BE9:0965 C2 0002 retn 2
sub_18 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:027A, 028B, 0A0E, 0A68, 0B1F, 0B59, 0B9D
; 110C, 11A4, 11CB, 11D8, 11E2, 11EC, 122A
; 1267, 12E9, 1304, 130E, 135E, 1CA4, 1CD0
; 1DBB, 2247, 2257, 2267, 22A2, 22D7, 233E
;==========================================================================
3BE9:0968 sub_19 proc near
3BE9:0968 ,55 push bp
3BE9:0969 8B EC mov bp,sp
3BE9:096B B0 0D mov al,0Dh
3BE9:096D ,50 push ax ; PARAMETER_1
3BE9:096E E8 F985 call sub_2 ; (02F6)
3BE9:0971 B0 0A mov al,0Ah
3BE9:0973 ,50 push ax ; PARAMETER_1
3BE9:0974 E8 F97F call sub_2 ; (02F6)
3BE9:0977 5D pop bp
3BE9:0978 C3 retn
sub_19 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1380
;==========================================================================
3BE9:0979 sub_20 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
PARAMETER_3 = 8 ; bp+8
3BE9:0979 55 push bp
3BE9:097A 8B EC mov bp,sp
3BE9:097C loc_106: ; xref 3BE9:0997
3BE9:097C ,8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:097F FE C8 dec al
3BE9:0981 88 46 04 mov [bp+PARAMETER_1],al
3BE9:0984 80 F8 FF ;* cmp al,0FFh
3BE9:0984 db 80h,0F8h,0FFh ; Fixup - byte match
3BE9:0987 75 03 jnz loc_107 ; Jump if not zero
3BE9:0989 E9 000E jmpn loc_108 ; (099A)
3BE9:098C loc_107: ; xref 3BE9:0987
3BE9:098C 8A 46 06 mov al,[bp+PARAMETER_2]
3BE9:098F 8B 5E 08 mov bx,[bp+PARAMETER_3]
3BE9:0992 88 07 mov [bx],al
3BE9:0994 FF 46 08 inc word ptr [bp+PARAMETER_3]
3BE9:0997 E9 FFE2 ;* jmp loc_106 ; (097C)
3BE9:0997 db 0E9h,0E2h,0FFh ; Fixup - byte match
3BE9:099A loc_108: ; xref 3BE9:0989
3BE9:099A 5D pop bp
3BE9:099B C2 0006 retn 6
sub_20 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:14F0, 1507, 1510, 1519, 1558, 1561, 15C8
; 15E7, 1606, 1647, 1673, 169F, 16D4, 16F6
; 1715, 1734, 1753, 1799, 17B0, 17CF, 17EE
; 180D, 1851, 1868, 1887, 18A6, 1936, 1953
; 197D, 19A8, 19D3, 19FE, 1A29, 1A82, 1AA1
; 1AD3, 1B09, 1BC7, 1BE1, 1C36, 1E2A, 1E3D
; 1E88, 1E9B, 1F6D, 1FB4, 1FFB, 2030, 2083
; 20B0, 20E5, 23AD, 240D, 24C6, 24EA
;==========================================================================
3BE9:099E sub_21 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:099E 55 push bp
3BE9:099F 8B EC mov bp,sp
3BE9:09A1 C6 06 03C3 00 mov byte ptr ds:[3C3h],0 ; (3BE9:03C3=6)
3BE9:09A6 8B 06 0114 ;* mov ax,data_7 ; (3BE9:0114=0)
3BE9:09A6 db 8Bh, 06h, 14h, 01h ; Fixup - byte match
3BE9:09AA 89 06 01F4 ;* mov word ptr ds:[1F4h],ax ; (3BE9:01F4=0E850h)
3BE9:09AA db 89h, 06h,0F4h, 01h ; Fixup - byte match
3BE9:09AE 89 06 01F2 ;* mov word ptr ds:[1F2h],ax ; (3BE9:01F2=584h)
3BE9:09AE db 89h, 06h,0F2h, 01h ; Fixup - byte match
3BE9:09B2 B0 28 mov al,28h ; '('
3BE9:09B4 38 06 020C cmp byte ptr ds:[20Ch],al ; (3BE9:020C=80h)
3BE9:09B8 72 03 jb loc_109 ; Jump if below
3BE9:09BA E9 0004 jmpn loc_110 ; (09C1)
3BE9:09BD loc_109: ; xref 3BE9:09B8
3BE9:09BD 88 06 020C ;* mov byte ptr ds:[20Ch],al ; (3BE9:020C=80h)
3BE9:09BD db 88h, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:09C1 loc_110: ; xref 3BE9:09BA
3BE9:09C1 8A 06 020B ;* mov al,byte ptr ds:[20Bh] ; (3BE9:020B=0)
3BE9:09C1 db 8Ah, 06h, 0Bh, 02h ; Fixup - byte match
3BE9:09C5 B4 00 mov ah,0
3BE9:09C7 8A 0E 020C mov cl,byte ptr ds:[20Ch] ; (3BE9:020C=80h)
3BE9:09CB B5 00 mov ch,0
3BE9:09CD 31 D2 ;* xor dx,dx ; Zero register
3BE9:09CD db 31h,0D2h ; Fixup - byte match
3BE9:09CF F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:09D1 88 06 03C1 ;* mov byte ptr ds:[3C1h],al ; (3BE9:03C1=3)
3BE9:09D1 db 88h, 06h,0C1h, 03h ; Fixup - byte match
3BE9:09D5 8A 06 020B ;* mov al,byte ptr ds:[20Bh] ; (3BE9:020B=0)
3BE9:09D5 db 8Ah, 06h, 0Bh, 02h ; Fixup - byte match
3BE9:09D9 B4 00 mov ah,0
3BE9:09DB 31 D2 ;* xor dx,dx ; Zero register
3BE9:09DB db 31h,0D2h ; Fixup - byte match
3BE9:09DD F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:09DF 88 16 03C2 mov byte ptr ds:[3C2h],dl ; (3BE9:03C2=0E9h)
3BE9:09E3 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:09E6 80 F8 02 ;* cmp al,2
3BE9:09E6 db 80h,0F8h, 02h ; Fixup - byte match
3BE9:09E9 75 03 jnz loc_111 ; Jump if not zero
3BE9:09EB E9 0008 jmpn loc_112 ; (09F6)
3BE9:09EE loc_111: ; xref 3BE9:09E9
3BE9:09EE 80 F8 01 ;* cmp al,1
3BE9:09EE db 80h,0F8h, 01h ; Fixup - byte match
3BE9:09F1 74 03 jz loc_112 ; Jump if zero
3BE9:09F3 E9 0007 jmpn loc_113 ; (09FD)
3BE9:09F6 loc_112: ; xref 3BE9:09EB, 09F1
3BE9:09F6 FF 0E 0118 dec data_9 ; (3BE9:0118=0)
3BE9:09FA E9 0011 jmpn loc_114 ; (0A0E)
3BE9:09FD loc_113: ; xref 3BE9:09F3
3BE9:09FD 8B 0E 0118 mov cx,data_9 ; (3BE9:0118=0)
3BE9:0A01 8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:0A01 db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:0A05 B4 00 mov ah,0
3BE9:0A07 2B C8 sub cx,ax
3BE9:0A09 49 dec cx
3BE9:0A0A 89 0E 0118 mov data_9,cx ; (3BE9:0118=0)
3BE9:0A0E loc_114: ; xref 3BE9:09FA
3BE9:0A0E E8 FF57 call sub_19 ; (0968)
3BE9:0A11 C6 06 03BF 01 mov byte ptr ds:[3BFh],1 ; (3BE9:03BF=0Eh)
3BE9:0A16 loc_115: ; xref 3BE9:0A38
3BE9:0A16 ,8A 06 03BF ;* mov al,byte ptr ds:[3BFh] ; (3BE9:03BF=0Eh)
3BE9:0A16 db 8Ah, 06h,0BFh, 03h ; Fixup - byte match
3BE9:0A1A 3A 06 03C1 cmp al,byte ptr ds:[3C1h] ; (3BE9:03C1=3)
3BE9:0A1E 76 03 jbe loc_116 ; Jump if below or =
3BE9:0A20 E9 0018 jmpn loc_117 ; (0A3B)
3BE9:0A23 loc_116: ; xref 3BE9:0A1E
3BE9:0A23 8B 06 01F2 ;* mov ax,word ptr ds:[1F2h] ; (3BE9:01F2=584h)
3BE9:0A23 db 8Bh, 06h,0F2h, 01h ; Fixup - byte match
3BE9:0A27 89 06 01F4 ;* mov word ptr ds:[1F4h],ax ; (3BE9:01F4=0E850h)
3BE9:0A27 db 89h, 06h,0F4h, 01h ; Fixup - byte match
3BE9:0A2B ,FF 36 020C push word ptr ds:[20Ch] ; PARAMETER_1 (3BE9:020C=3E80h)
3BE9:0A2F E8 00FD call sub_22 ; (0B2F)
3BE9:0A32 FE 06 03BF inc byte ptr ds:[3BFh] ; (3BE9:03BF=0Eh)
3BE9:0A36 74 03 jz loc_117 ; Jump if zero
3BE9:0A38 E9 FFDB ;* jmp loc_115 ; (0A16)
3BE9:0A38 db 0E9h,0DBh,0FFh ; Fixup - byte match
3BE9:0A3B loc_117: ; xref 3BE9:0A20, 0A36
3BE9:0A3B ,FF 36 03C2 push word ptr ds:[3C2h] ; PARAMETER_1 (3BE9:03C2=6E9h)
3BE9:0A3F E8 00ED call sub_22 ; (0B2F)
3BE9:0A42 8A 06 03C3 ;* mov al,byte ptr ds:[3C3h] ; (3BE9:03C3=6)
3BE9:0A42 db 8Ah, 06h,0C3h, 03h ; Fixup - byte match
3BE9:0A46 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0A48 72 03 jc loc_118 ; Jump if carry Set
3BE9:0A4A E9 000A jmpn loc_119 ; (0A57)
3BE9:0A4D loc_118: ; xref 3BE9:0A48
3BE9:0A4D B8 0B6A mov ax,0B6Ah
3BE9:0A50 ,50 push ax ; PARAMETER_1
3BE9:0A51 E8 F8B5 call sub_3 ; (0309)
3BE9:0A54 E9 0007 jmpn loc_120 ; (0A5E)
3BE9:0A57 loc_119: ; xref 3BE9:0A4A
3BE9:0A57 B8 03F0 mov ax,3F0h
3BE9:0A5A ,50 push ax ; PARAMETER_1
3BE9:0A5B E8 F8AB call sub_3 ; (0309)
3BE9:0A5E loc_120: ; xref 3BE9:0A54
3BE9:0A5E 80 3E 020C 3F cmp byte ptr ds:[20Ch],3Fh ; (3BE9:020C=80h) '?'
3BE9:0A63 72 03 jb loc_121 ; Jump if below
3BE9:0A65 E9 0003 jmpn loc_122 ; (0A6B)
3BE9:0A68 loc_121: ; xref 3BE9:0A63
3BE9:0A68 E8 FEFD call sub_19 ; (0968)
3BE9:0A6B loc_122: ; xref 3BE9:0A65
3BE9:0A6B 8A 5E 04 mov bl,[bp+PARAMETER_1]
3BE9:0A6E B7 00 mov bh,0
3BE9:0A70 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0A72 2E: FF A7 0A83 jmp word ptr cs:data_123[bx] ;*(3BE9:0A83=5003h)
sub_21 endp
;* No entry point to code
3BE9:0A77 B8 0B7C mov ax,0B7Ch
3BE9:0A7A ,50 push ax ; PARAMETER_1
3BE9:0A7B E8 F88B call sub_3 ; (0309)
3BE9:0A7E E9 009E jmp loc_123 ; (0B1F)
3BE9:0A81 B8 F0 db 0B8h,0F0h
3BE9:0A83 5003 data_123 dw 5003h ; Data table (indexed access)
; xref 3BE9:0A72
3BE9:0A85 E8 81 F8 E9 94 00 db 0E8h, 81h,0F8h,0E9h, 94h, 00h
3BE9:0A8B B8 0C 04 50 E8 77 db 0B8h, 0Ch, 04h, 50h,0E8h, 77h
3BE9:0A91 F8 E9 8A 00 B8 E4 db 0F8h,0E9h, 8Ah, 00h,0B8h,0E4h
3BE9:0A97 04 50 E8 6D F8 E9 db 04h, 50h,0E8h, 6Dh,0F8h,0E9h
3BE9:0A9D 80 00 B8 8C 0B 50 db 80h, 00h,0B8h, 8Ch, 0Bh, 50h
3BE9:0AA3 E8 63 F8 E9 76 00 db 0E8h, 63h,0F8h,0E9h, 76h, 00h
3BE9:0AA9 B8 C4 0B 50 E8 59 db 0B8h,0C4h, 0Bh, 50h,0E8h, 59h
3BE9:0AAF F8 E9 6C 00 B8 22 db 0F8h,0E9h, 6Ch, 00h,0B8h, 22h
3BE9:0AB5 0C 50 E8 4F F8 E9 db 0Ch, 50h,0E8h, 4Fh,0F8h,0E9h
3BE9:0ABB 62 00 B8 E8 0B 50 db 62h, 00h,0B8h,0E8h, 0Bh, 50h
3BE9:0AC1 E8 45 F8 E9 58 00 db 0E8h, 45h,0F8h,0E9h, 58h, 00h
3BE9:0AC7 B8 5C 0C 50 E8 3B db 0B8h, 5Ch, 0Ch, 50h,0E8h, 3Bh
3BE9:0ACD F8 E9 4E 00 B8 98 db 0F8h,0E9h, 4Eh, 00h,0B8h, 98h
3BE9:0AD3 0C 50 E8 31 F8 E9 db 0Ch, 50h,0E8h, 31h,0F8h,0E9h
3BE9:0AD9 44 00 B8 0A 0D 50 db 44h, 00h,0B8h, 0Ah, 0Dh, 50h
3BE9:0ADF E8 27 F8 E9 3A 00 db 0E8h, 27h,0F8h,0E9h, 3Ah, 00h
3BE9:0AE5 B8 3E 0D 50 E8 1D db 0B8h, 3Eh, 0Dh, 50h,0E8h, 1Dh
3BE9:0AEB F8 E9 30 00 B8 C4 db 0F8h,0E9h, 30h, 00h,0B8h,0C4h
3BE9:0AF1 0C 50 E8 13 F8 E9 db 0Ch, 50h,0E8h, 13h,0F8h,0E9h
3BE9:0AF7 26 00 B8 38 0B 50 db 26h, 00h,0B8h, 38h, 0Bh, 50h
3BE9:0AFD E8 09 F8 E9 1C 00 db 0E8h, 09h,0F8h,0E9h, 1Ch, 00h
3BE9:0B03 F7 09 01 0A 0B 0A db 0F7h, 09h, 01h, 0Ah, 0Bh, 0Ah
3BE9:0B09 15 0A 1F db 15h, 0Ah, 1Fh
3BE9:0B0C 0A 29 0A 33 0A 3D db 0Ah, ')', 0Ah, '3', 0Ah, '=', 0Ah
3BE9:0B12 0A
3BE9:0B13 47 0A 51 0A 5B 0A db 'G', 0Ah, 'Q', 0Ah, '[', 0Ah, 'e', 0Ah
3BE9:0B19 65 0A
3BE9:0B1B 6F 0A 79 0A db 'o', 0Ah, 'y', 0Ah
3BE9:0B1F loc_123: ; xref 3BE9:0A7E
3BE9:0B1F E8 FE46 call sub_19 ; (0968)
3BE9:0B22 B0 00 mov al,0
3BE9:0B24 ,50 push ax ; PARAMETER_2
3BE9:0B25 B4 00 mov ah,0
3BE9:0B27 50 push ax ; PARAMETER_1
3BE9:0B28 E8 F56B call sub_1 ; (0096)
3BE9:0B2B 5D pop bp
3BE9:0B2C C2 0002 retn 2
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0A2F, 0A3F
;==========================================================================
3BE9:0B2F sub_22 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:0B2F 55 push bp
3BE9:0B30 8B EC mov bp,sp
3BE9:0B32 C6 06 03C0 01 mov byte ptr ds:[3C0h],1 ; (3BE9:03C0=74h)
3BE9:0B37 loc_124: ; xref 3BE9:0B56
3BE9:0B37 ,8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:0B3A 3A 06 03C0 cmp al,byte ptr ds:[3C0h] ; (3BE9:03C0=74h)
3BE9:0B3E 73 03 jae loc_125 ; Jump if above or =
3BE9:0B40 E9 0016 jmpn loc_126 ; (0B59)
3BE9:0B43 loc_125: ; xref 3BE9:0B3E
3BE9:0B43 8B 1E 01F2 mov bx,word ptr ds:[1F2h] ; (3BE9:01F2=584h)
3BE9:0B47 ,FF 37 push word ptr [bx] ; PARAMETER_1
3BE9:0B49 E8 F7AA call sub_2 ; (02F6)
3BE9:0B4C FF 06 01F2 inc word ptr ds:[1F2h] ; (3BE9:01F2=584h)
3BE9:0B50 FE 06 03C0 inc byte ptr ds:[3C0h] ; (3BE9:03C0=74h)
3BE9:0B54 74 03 jz loc_126 ; Jump if zero
3BE9:0B56 E9 FFDE ;* jmp loc_124 ; (0B37)
3BE9:0B56 db 0E9h,0DEh,0FFh ; Fixup - byte match
3BE9:0B59 loc_126: ; xref 3BE9:0B40, 0B54
3BE9:0B59 E8 FE0C call sub_19 ; (0968)
3BE9:0B5C C6 06 03C0 01 mov byte ptr ds:[3C0h],1 ; (3BE9:03C0=74h)
3BE9:0B61 loc_127: ; xref 3BE9:0B9A
3BE9:0B61 ,8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:0B64 3A 06 03C0 cmp al,byte ptr ds:[3C0h] ; (3BE9:03C0=74h)
3BE9:0B68 73 03 jae loc_128 ; Jump if above or =
3BE9:0B6A E9 0030 jmpn loc_132 ; (0B9D)
3BE9:0B6D loc_128: ; xref 3BE9:0B68
3BE9:0B6D 8B 1E 01F4 mov bx,word ptr ds:[1F4h] ; (3BE9:01F4=0E850h)
3BE9:0B71 8D 07 lea ax,[bx] ; Load effective addr
3BE9:0B73 3B 06 0118 cmp ax,data_9 ; (3BE9:0118=0)
3BE9:0B77 74 03 je loc_129 ; Jump if equal
3BE9:0B79 E9 000E jmpn loc_130 ; (0B8A)
3BE9:0B7C loc_129: ; xref 3BE9:0B77
3BE9:0B7C C6 06 03C3 01 mov byte ptr ds:[3C3h],1 ; (3BE9:03C3=6)
3BE9:0B81 B0 5E mov al,5Eh ; '^'
3BE9:0B83 ,50 push ax ; PARAMETER_1
3BE9:0B84 E8 F76F call sub_2 ; (02F6)
3BE9:0B87 E9 0006 jmpn loc_131 ; (0B90)
3BE9:0B8A loc_130: ; xref 3BE9:0B79
3BE9:0B8A B0 20 mov al,20h ; ' '
3BE9:0B8C ,50 push ax ; PARAMETER_1
3BE9:0B8D E8 F766 call sub_2 ; (02F6)
3BE9:0B90 loc_131: ; xref 3BE9:0B87
3BE9:0B90 FF 06 01F4 inc word ptr ds:[1F4h] ; (3BE9:01F4=0E850h)
3BE9:0B94 FE 06 03C0 inc byte ptr ds:[3C0h] ; (3BE9:03C0=74h)
3BE9:0B98 74 03 jz loc_132 ; Jump if zero
3BE9:0B9A E9 FFC4 ;* jmp loc_127 ; (0B61)
3BE9:0B9A db 0E9h,0C4h,0FFh ; Fixup - byte match
3BE9:0B9D loc_132: ; xref 3BE9:0B6A, 0B98
3BE9:0B9D E8 FDC8 call sub_19 ; (0968)
3BE9:0BA0 5D pop bp
3BE9:0BA1 C2 0002 retn 2
sub_22 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:2187, 2190, 219C, 21A8, 21B4, 21BD, 21C9
; 21D5, 21DC, 21E8, 21F4, 2200, 2207
;==========================================================================
3BE9:0BA4 sub_23 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:0BA4 55 push bp
3BE9:0BA5 8B EC mov bp,sp
3BE9:0BA7 8A 1E 0210 mov bl,byte ptr ds:[210h] ; (3BE9:0210=1)
3BE9:0BAB B7 00 mov bh,0
3BE9:0BAD D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0BAF D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0BB1 8D 87 01A2 lea ax,cs:[1A2h][bx] ; Load effective addr
3BE9:0BB5 89 06 01F6 ;* mov word ptr ds:[1F6h],ax ; (3BE9:01F6=1F6h)
3BE9:0BB5 db 89h, 06h,0F6h, 01h ; Fixup - byte match
3BE9:0BB9 C4 8F 01A2 les cx,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:0BBD 89 0E 01E8 mov word ptr ds:[1E8h],cx ; (3BE9:01E8=1806h)
3BE9:0BC1 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:0BC5 8A 4E 06 mov cl,[bp+PARAMETER_2]
3BE9:0BC8 B5 00 mov ch,0
3BE9:0BCA D1 E1 shl cx,1 ; Shift w/zeros fill
3BE9:0BCC 8B D8 mov bx,ax
3BE9:0BCE 8B 07 mov ax,[bx]
3BE9:0BD0 8B F1 mov si,cx
3BE9:0BD2 C4 1E 019E les bx,dword ptr ds:[19Eh] ; (3BE9:019E=0A59h) Load seg:offset pt
3BE9:0BD6 26: 89 00 mov es:[bx+si],ax
3BE9:0BD9 82 7E 06 00 ;* cmp byte ptr [bp+PARAMETER_2],0
3BE9:0BD9 db 82h, 7Eh, 06h, 00h ; Fixup - byte match
3BE9:0BDD 74 03 jz loc_133 ; Jump if zero
3BE9:0BDF E9 001E jmpn loc_135 ; (0C00)
3BE9:0BE2 loc_133: ; xref 3BE9:0BDD
3BE9:0BE2 ,BB 019A mov bx,offset data_12 ; (3BE9:019A=0FFh)
3BE9:0BE5 89 1E 0196 mov data_10,bx ; (3BE9:0196=0F880h)
;===== Indexed Entry Point ================================================
3BE9:0BE9 loc_134: ; xref 3BE9:08E0
3BE9:0BE9 8C 1E 0198 mov data_11,ds ; (3BE9:0198=0B001h)
3BE9:0BED C7 07 0F06 mov word ptr [bx],0F06h
3BE9:0BF1 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0BF5 26: 8A 47 0F mov al,es:[bx+0Fh]
3BE9:0BF9 C4 1E 019A les bx,dword ptr data_12 ; (3BE9:019A=74FFh) Load seg:offset pt
3BE9:0BFD 26: 88 07 mov es:[bx],al
3BE9:0C00 loc_135: ; xref 3BE9:0BDF
3BE9:0C00 8A 46 06 mov al,[bp+PARAMETER_2]
3BE9:0C03 08 C0 ;* or al,al ; Zero ?
3BE9:0C03 db 08h,0C0h ; Fixup - byte match
3BE9:0C05 75 03 jnz loc_136 ; Jump if not zero
3BE9:0C07 E9 0104 ;* jmp loc_142 ;*(0D0E)
3BE9:0C07 db 0E9h, 04h, 01h ; Fixup - byte match
3BE9:0C0A loc_136: ; xref 3BE9:0C05
3BE9:0C0A 80 F8 02 ;* cmp al,2
3BE9:0C0A db 80h,0F8h, 02h ; Fixup - byte match
3BE9:0C0D 75 03 jnz loc_137 ; Jump if not zero
3BE9:0C0F E9 00FC ;* jmp loc_142 ;*(0D0E)
3BE9:0C0F db 0E9h,0FCh, 00h ; Fixup - byte match
3BE9:0C12 loc_137: ; xref 3BE9:0C0D
3BE9:0C12 C6 06 03C4 01 mov byte ptr ds:[3C4h],1 ; (3BE9:03C4=0)
3BE9:0C17 8A 06 03C4 ;* mov al,byte ptr ds:[3C4h] ; (3BE9:03C4=0)
3BE9:0C17 db 8Ah, 06h,0C4h, 03h ; Fixup - byte match
3BE9:0C1B 80 F8 0F ;* cmp al,0Fh
3BE9:0C1B db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:0C1E 76 03 jbe loc_138 ; Jump if below or =
3BE9:0C20 E9 00A8 ;* jmp loc_141 ;*(0CCB)
3BE9:0C20 db 0E9h,0A8h, 00h ; Fixup - byte match
3BE9:0C23 loc_138: ; xref 3BE9:0C1E
3BE9:0C23 B4 00 mov ah,0
3BE9:0C25 8B D8 mov bx,ax
3BE9:0C27 8A 8F 0210 mov cl,byte ptr ds:[210h][bx] ; (3BE9:0210=1)
3BE9:0C2B 80 F9 FF cmp cl,0FFh
3BE9:0C2E 75 03 jne loc_139 ; Jump if not equal
3BE9:0C30 E9 008F ;* jmp loc_140 ;*(0CC2)
3BE9:0C30 db 0E9h, 8Fh, 00h ; Fixup - byte match
3BE9:0C33 loc_139: ; xref 3BE9:0C2E
3BE9:0C33 C4 36 01E8 les si,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0C37 26: 8A 54 0E mov dl,es:[si+0Eh]
3BE9:0C3B 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:0C3E 22 D0 and dl,al
3BE9:0C40 3A D0 cmp dl,al
3BE9:0C42 74 03 je $+5 ; Jump if equal
3BE9:0C44 E9 007B ;* jmpn loc_140 ;*(0CC2)
3BE9:0C44 db 0E9h, 7Bh, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0C47 B5 00 mov ch,0
3BE9:0C49 D1 E1 shl cx,1 ; Shift w/zeros fill
3BE9:0C4B D1 E1 shl cx,1 ; Shift w/zeros fill
3BE9:0C4D 8B D9 mov bx,cx
3BE9:0C4F 8D 87 01A2 lea ax,cs:[1A2h][bx] ; Load effective addr
3BE9:0C53 89 06 01F6 ;* mov word ptr ds:[1F6h],ax ; (3BE9:01F6=1F6h)
3BE9:0C53 db 89h, 06h,0F6h, 01h ; Fixup - byte match
3BE9:0C57 8A 5E 06 mov bl,[bp+PARAMETER_2]
3BE9:0C5A B7 00 mov bh,0
3BE9:0C5C D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0C5E 2E: FF A7 0C1C jmp word ptr cs:[0C1Ch][bx] ;*(3BE9:0C1C=0FF8h) 1 entry
3BE9:0C63 E9 0040 ;* jmpn $+43h ;*
3BE9:0C63 db 0E9h, 40h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0C66 8B 1E 01F6 mov bx,word ptr ds:[1F6h] ; (3BE9:01F6=1F6h)
3BE9:0C6A 8B 07 mov ax,[bx]
3BE9:0C6C C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0C70 26: 89 47 12 mov es:[bx+12h],ax
3BE9:0C74 E9 002F ;* jmpn $+32h ;*
3BE9:0C74 db 0E9h, 2Fh, 00h ; Fixup - byte match
3BE9:0C77 E9 002C ;* jmpn $+2Fh ;*
3BE9:0C77 db 0E9h, 2Ch, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0C7A 8B 1E 01F6 mov bx,word ptr ds:[1F6h] ; (3BE9:01F6=1F6h)
3BE9:0C7E 8B 07 mov ax,[bx]
3BE9:0C80 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0C84 26: 89 47 14 mov es:[bx+14h],ax
3BE9:0C88 E9 001B ;* jmpn $+1Eh ;*
3BE9:0C88 db 0E9h, 1Bh, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0C8B 8B 1E 01F6 mov bx,word ptr ds:[1F6h] ; (3BE9:01F6=1F6h)
3BE9:0C8F 8B 07 mov ax,[bx]
3BE9:0C91 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0C95 26: 89 47 16 mov es:[bx+16h],ax
3BE9:0C99 E9 000A ;* jmpn $+0Dh ;*
3BE9:0C99 db 0E9h, 0Ah, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0C9C E3 0B jcxz $+0Dh ; Jump if cx=0
3BE9:0C9E E6 0B out 0Bh,al ; port 0Bh, DMA-1 mode reg
3BE9:0CA0 F7 0B FA 0B 0B 0C db 0F7h, 0Bh,0FAh, 0Bh, 0Bh, 0Ch
3BE9:0CA6 8A 1E C4 03 B7 00 db 8Ah, 1Eh,0C4h, 03h,0B7h, 00h
3BE9:0CAC 8A 9F 10 02 B7 00 db 8Ah, 9Fh, 10h, 02h,0B7h, 00h
3BE9:0CB2 D1 E3 D1 E3 C4 87 db 0D1h,0E3h,0D1h,0E3h,0C4h, 87h
3BE9:0CB8 A2 01 89 06 E8 01 db 0A2h, 01h, 89h, 06h,0E8h, 01h
3BE9:0CBE 8C 06 EA 01 db 8Ch, 06h,0EAh, 01h
3BE9:0CC2 loc_140: ; xref 3BE9:0C30, 0C44
3BE9:0CC2 FE 06 03C4 inc byte ptr ds:[3C4h] ; (3BE9:03C4=0)
3BE9:0CC6 74 03 ;* jz loc_141 ;*Jump if zero
3BE9:0CC6 db 74h, 03h ; Fixup - byte match
3BE9:0CC8 E9 FF4C jmp $-0B1h
3BE9:0CCB loc_141: ; xref 3BE9:0C20
3BE9:0CCB 8A 5E 06 mov bl,[bp+PARAMETER_2]
3BE9:0CCE B7 00 mov bh,0
3BE9:0CD0 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0CD2 2E: FF A7 0C84 jmp word ptr cs:[0C84h][bx] ;*(3BE9:0C84=8926h)
3BE9:0CD7 E9 0034 ;* jmpn loc_142 ;*(0D0E)
3BE9:0CD7 db 0E9h, 34h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0CDA C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0CDE 26: C7 47 12 0000 mov word ptr es:[bx+12h],0
3BE9:0CE4 E9 0027 ;* jmpn loc_142 ;*(0D0E)
3BE9:0CE4 db 0E9h, 27h, 00h ; Fixup - byte match
3BE9:0CE7 E9 0024 ;* jmpn loc_142 ;*(0D0E)
3BE9:0CE7 db 0E9h, 24h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0CEA C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0CEE 26: C7 47 14 0000 mov word ptr es:[bx+14h],0
3BE9:0CF4 E9 0017 ;* jmpn loc_142 ;*(0D0E)
3BE9:0CF4 db 0E9h, 17h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:0CF7 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0CFB 26: C7 47 16 0000 mov word ptr es:[bx+16h],0
3BE9:0D01 E9 000A ;* jmpn loc_142 ;*(0D0E)
3BE9:0D01 db 0E9h, 0Ah, 00h ; Fixup - byte match
3BE9:0D04 57 0C 5A 0C 67 0C db 'W', 0Ch, 'Z', 0Ch, 'g', 0Ch, 'j', 0Ch
3BE9:0D0A 6A 0C
3BE9:0D0C 77 0C db 'w', 0Ch
3BE9:0D0E loc_142: ; xref 3BE9:0C07, 0C0F
3BE9:0D0E 5D pop bp
3BE9:0D0F C2 0004 retn 4
sub_23 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1236, 12C8, 2254
;==========================================================================
3BE9:0D12 sub_24 proc near
3BE9:0D12 ,55 push bp
3BE9:0D13 8B EC mov bp,sp
3BE9:0D15 8A 5E 04 mov bl,[bp+4]
3BE9:0D18 B7 00 mov bh,0
3BE9:0D1A D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0D1C D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0D1E C4 87 01A2 les ax,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:0D22 89 06 01E8 ;* mov word ptr ds:[1E8h],ax ; (3BE9:01E8=1806h)
3BE9:0D22 db 89h, 06h,0E8h, 01h ; Fixup - byte match
3BE9:0D26 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:0D2A C6 06 03C5 00 mov byte ptr ds:[3C5h],0 ; (3BE9:03C5=0B0h)
3BE9:0D2F loc_143: ; xref 3BE9:0D4F
3BE9:0D2F ,8A 06 03C5 ;* mov al,byte ptr ds:[3C5h] ; (3BE9:03C5=0B0h)
3BE9:0D2F db 8Ah, 06h,0C5h, 03h ; Fixup - byte match
3BE9:0D33 80 F8 05 ;* cmp al,5
3BE9:0D33 db 80h,0F8h, 05h ; Fixup - byte match
3BE9:0D36 76 03 jbe loc_144 ; Jump if below or =
3BE9:0D38 E9 0017 jmpn loc_145 ; (0D52)
3BE9:0D3B loc_144: ; xref 3BE9:0D36
3BE9:0D3B B4 00 mov ah,0
3BE9:0D3D 8B F0 mov si,ax
3BE9:0D3F C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0D43 ,26: FF 30 push word ptr es:[bx+si] ; PARAMETER_1
3BE9:0D46 E8 F5AD call sub_2 ; (02F6)
3BE9:0D49 FE 06 03C5 inc byte ptr ds:[3C5h] ; (3BE9:03C5=0B0h)
3BE9:0D4D 74 03 jz loc_145 ; Jump if zero
3BE9:0D4F E9 FFDD ;* jmp loc_143 ; (0D2F)
3BE9:0D4F db 0E9h,0DDh,0FFh ; Fixup - byte match
3BE9:0D52 loc_145: ; xref 3BE9:0D38, 0D4D
3BE9:0D52 5D pop bp
3BE9:0D53 C2 0002 retn 2
sub_24 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1243, 2264
;==========================================================================
3BE9:0D56 sub_25 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:0D56 55 push bp
3BE9:0D57 8B EC mov bp,sp
3BE9:0D59 8A 5E 04 mov bl,[bp+PARAMETER_1]
3BE9:0D5C B7 00 mov bh,0
3BE9:0D5E D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0D60 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0D62 C4 9F 01A2 les bx,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:0D66 89 1E 01E8 mov word ptr ds:[1E8h],bx ; (3BE9:01E8=1806h)
3BE9:0D6A 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:0D6E 26: 8A 47 0C mov al,es:[bx+0Ch]
3BE9:0D72 88 06 03C7 ;* mov byte ptr ds:[3C7h],al ; (3BE9:03C7=5Dh)
3BE9:0D72 db 88h, 06h,0C7h, 03h ; Fixup - byte match
3BE9:0D76 80 F8 18 ;* cmp al,18h
3BE9:0D76 db 80h,0F8h, 18h ; Fixup - byte match
3BE9:0D79 77 03 ja loc_146 ; Jump if above
3BE9:0D7B E9 0005 jmpn loc_147 ; (0D83)
3BE9:0D7E loc_146: ; xref 3BE9:0D79
3BE9:0D7E C6 06 03C7 00 mov byte ptr ds:[3C7h],0 ; (3BE9:03C7=5Dh)
3BE9:0D83 loc_147: ; xref 3BE9:0D7B
3BE9:0D83 C6 06 03C6 00 mov byte ptr ds:[3C6h],0 ; (3BE9:03C6=0)
3BE9:0D88 loc_148: ; xref 3BE9:0DB3
3BE9:0D88 ,8A 06 03C6 ;* mov al,byte ptr ds:[3C6h] ; (3BE9:03C6=0)
3BE9:0D88 db 8Ah, 06h,0C6h, 03h ; Fixup - byte match
3BE9:0D8C 80 F8 04 ;* cmp al,4
3BE9:0D8C db 80h,0F8h, 04h ; Fixup - byte match
3BE9:0D8F 76 03 jbe loc_149 ; Jump if below or =
3BE9:0D91 E9 0022 jmpn loc_150 ; (0DB6)
3BE9:0D94 loc_149: ; xref 3BE9:0D8F
3BE9:0D94 8A 06 03C7 ;* mov al,byte ptr ds:[3C7h] ; (3BE9:03C7=5Dh)
3BE9:0D94 db 8Ah, 06h,0C7h, 03h ; Fixup - byte match
3BE9:0D98 B1 05 mov cl,5
3BE9:0D9A F6 E1 mul cl ; ax = reg * al
3BE9:0D9C 8A 0E 03C6 mov cl,byte ptr ds:[3C6h] ; (3BE9:03C6=0)
3BE9:0DA0 B5 00 mov ch,0
3BE9:0DA2 03 C8 add cx,ax
3BE9:0DA4 8B F1 mov si,cx
3BE9:0DA6 ,FF B4 0956 push word ptr ds:[956h][si] ; PARAMETER_1 (3BE9:0956=0E903h)
3BE9:0DAA E8 F549 call sub_2 ; (02F6)
3BE9:0DAD FE 06 03C6 inc byte ptr ds:[3C6h] ; (3BE9:03C6=0)
3BE9:0DB1 74 03 jz loc_150 ; Jump if zero
3BE9:0DB3 E9 FFD2 ;* jmp loc_148 ; (0D88)
3BE9:0DB3 db 0E9h,0D2h,0FFh ; Fixup - byte match
3BE9:0DB6 loc_150: ; xref 3BE9:0D91, 0DB1
3BE9:0DB6 B0 2C mov al,2Ch ; ','
3BE9:0DB8 ,50 push ax ; PARAMETER_1
3BE9:0DB9 E8 F53A call sub_2 ; (02F6)
3BE9:0DBC C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0DC0 26: 8A 47 0D mov al,es:[bx+0Dh]
3BE9:0DC4 88 06 03C7 ;* mov byte ptr ds:[3C7h],al ; (3BE9:03C7=5Dh)
3BE9:0DC4 db 88h, 06h,0C7h, 03h ; Fixup - byte match
3BE9:0DC8 80 F8 18 ;* cmp al,18h
3BE9:0DC8 db 80h,0F8h, 18h ; Fixup - byte match
3BE9:0DCB 77 03 ja loc_151 ; Jump if above
3BE9:0DCD E9 0005 jmpn loc_152 ; (0DD5)
3BE9:0DD0 loc_151: ; xref 3BE9:0DCB
3BE9:0DD0 C6 06 03C7 00 mov byte ptr ds:[3C7h],0 ; (3BE9:03C7=5Dh)
3BE9:0DD5 loc_152: ; xref 3BE9:0DCD
3BE9:0DD5 C6 06 03C6 00 mov byte ptr ds:[3C6h],0 ; (3BE9:03C6=0)
3BE9:0DDA loc_153: ; xref 3BE9:0E05
3BE9:0DDA ,8A 06 03C6 ;* mov al,byte ptr ds:[3C6h] ; (3BE9:03C6=0)
3BE9:0DDA db 8Ah, 06h,0C6h, 03h ; Fixup - byte match
3BE9:0DDE 80 F8 04 ;* cmp al,4
3BE9:0DDE db 80h,0F8h, 04h ; Fixup - byte match
3BE9:0DE1 76 03 jbe loc_154 ; Jump if below or =
3BE9:0DE3 E9 0022 jmpn loc_155 ; (0E08)
3BE9:0DE6 loc_154: ; xref 3BE9:0DE1
3BE9:0DE6 8A 06 03C7 ;* mov al,byte ptr ds:[3C7h] ; (3BE9:03C7=5Dh)
3BE9:0DE6 db 8Ah, 06h,0C7h, 03h ; Fixup - byte match
3BE9:0DEA B1 05 mov cl,5
3BE9:0DEC F6 E1 mul cl ; ax = reg * al
3BE9:0DEE 8A 0E 03C6 mov cl,byte ptr ds:[3C6h] ; (3BE9:03C6=0)
3BE9:0DF2 B5 00 mov ch,0
3BE9:0DF4 03 C8 add cx,ax
3BE9:0DF6 8B F1 mov si,cx
3BE9:0DF8 ,FF B4 0956 push word ptr ds:[956h][si] ; PARAMETER_1 (3BE9:0956=0E903h)
3BE9:0DFC E8 F4F7 call sub_2 ; (02F6)
3BE9:0DFF FE 06 03C6 inc byte ptr ds:[3C6h] ; (3BE9:03C6=0)
3BE9:0E03 74 03 jz loc_155 ; Jump if zero
3BE9:0E05 E9 FFD2 ;* jmp loc_153 ; (0DDA)
3BE9:0E05 db 0E9h,0D2h,0FFh ; Fixup - byte match
3BE9:0E08 loc_155: ; xref 3BE9:0DE3, 0E03
3BE9:0E08 5D pop bp
3BE9:0E09 C2 0002 retn 2
sub_25 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1250
;==========================================================================
3BE9:0E0C sub_26 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:0E0C 55 push bp
3BE9:0E0D 8B EC mov bp,sp
3BE9:0E0F 8A 5E 04 mov bl,[bp+PARAMETER_1]
3BE9:0E12 B7 00 mov bh,0
3BE9:0E14 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0E16 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:0E18 C4 9F 01A2 les bx,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:0E1C 89 1E 01E8 mov word ptr ds:[1E8h],bx ; (3BE9:01E8=1806h)
3BE9:0E20 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:0E24 26: 8A 47 0E mov al,es:[bx+0Eh]
3BE9:0E28 88 06 03C8 ;* mov byte ptr ds:[3C8h],al ; (3BE9:03C8=0C2h)
3BE9:0E28 db 88h, 06h,0C8h, 03h ; Fixup - byte match
3BE9:0E2C D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0E2E 72 03 jc loc_156 ; Jump if carry Set
3BE9:0E30 E9 000F jmpn loc_157 ; (0E42)
3BE9:0E33 loc_156: ; xref 3BE9:0E2E
3BE9:0E33 B0 49 mov al,49h ; 'I'
3BE9:0E35 ,50 push ax ; PARAMETER_1
3BE9:0E36 E8 F4BD call sub_2 ; (02F6)
3BE9:0E39 B0 20 mov al,20h ; ' '
3BE9:0E3B ,50 push ax ; PARAMETER_1
3BE9:0E3C E8 F4B7 call sub_2 ; (02F6)
3BE9:0E3F E9 0007 jmpn loc_158 ; (0E49)
3BE9:0E42 loc_157: ; xref 3BE9:0E30
3BE9:0E42 B8 0E36 mov ax,0E36h
3BE9:0E45 ,50 push ax ; PARAMETER_1
3BE9:0E46 E8 F4C0 call sub_3 ; (0309)
3BE9:0E49 loc_158: ; xref 3BE9:0E3F
3BE9:0E49 8A 06 03C8 ;* mov al,byte ptr ds:[3C8h] ; (3BE9:03C8=0C2h)
3BE9:0E49 db 8Ah, 06h,0C8h, 03h ; Fixup - byte match
3BE9:0E4D D0 E8 shr al,1 ; Shift w/zeros fill
3BE9:0E4F D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0E51 72 03 jc loc_159 ; Jump if carry Set
3BE9:0E53 E9 000F jmpn loc_160 ; (0E65)
3BE9:0E56 loc_159: ; xref 3BE9:0E51
3BE9:0E56 B0 4F mov al,4Fh ; 'O'
3BE9:0E58 ,50 push ax ; PARAMETER_1
3BE9:0E59 E8 F49A call sub_2 ; (02F6)
3BE9:0E5C B0 20 mov al,20h ; ' '
3BE9:0E5E ,50 push ax ; PARAMETER_1
3BE9:0E5F E8 F494 call sub_2 ; (02F6)
3BE9:0E62 E9 0007 jmpn loc_161 ; (0E6C)
3BE9:0E65 loc_160: ; xref 3BE9:0E53
3BE9:0E65 B8 0E39 mov ax,0E39h
3BE9:0E68 ,50 push ax ; PARAMETER_1
3BE9:0E69 E8 F49D call sub_3 ; (0309)
3BE9:0E6C loc_161: ; xref 3BE9:0E62
3BE9:0E6C 8A 06 03C8 ;* mov al,byte ptr ds:[3C8h] ; (3BE9:03C8=0C2h)
3BE9:0E6C db 8Ah, 06h,0C8h, 03h ; Fixup - byte match
3BE9:0E70 B1 03 mov cl,3
3BE9:0E72 D2 E8 shr al,cl ; Shift w/zeros fill
3BE9:0E74 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0E76 72 03 jc loc_162 ; Jump if carry Set
3BE9:0E78 E9 000F jmpn loc_163 ; (0E8A)
3BE9:0E7B loc_162: ; xref 3BE9:0E76
3BE9:0E7B B0 53 mov al,53h ; 'S'
3BE9:0E7D ,50 push ax ; PARAMETER_1
3BE9:0E7E E8 F475 call sub_2 ; (02F6)
3BE9:0E81 B0 20 mov al,20h ; ' '
3BE9:0E83 ,50 push ax ; PARAMETER_1
3BE9:0E84 E8 F46F call sub_2 ; (02F6)
3BE9:0E87 E9 0007 jmpn loc_164 ; (0E91)
3BE9:0E8A loc_163: ; xref 3BE9:0E78
3BE9:0E8A B8 0E3C mov ax,0E3Ch
3BE9:0E8D ,50 push ax ; PARAMETER_1
3BE9:0E8E E8 F478 call sub_3 ; (0309)
3BE9:0E91 loc_164: ; xref 3BE9:0E87
3BE9:0E91 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0E95 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:0E99 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0E99 db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0E9D 26: 8B 4F 06 mov cx,es:[bx+6]
3BE9:0EA1 89 0E 01FE mov word ptr ds:[1FEh],cx ; (3BE9:01FE=7504h)
3BE9:0EA5 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0EA7 72 03 jc loc_165 ; Jump if carry Set
3BE9:0EA9 E9 000F jmpn loc_166 ; (0EBB)
3BE9:0EAC loc_165: ; xref 3BE9:0EA7
3BE9:0EAC B0 58 mov al,58h ; 'X'
3BE9:0EAE ,50 push ax ; PARAMETER_1
3BE9:0EAF E8 F444 call sub_2 ; (02F6)
3BE9:0EB2 B0 20 mov al,20h ; ' '
3BE9:0EB4 ,50 push ax ; PARAMETER_1
3BE9:0EB5 E8 F43E call sub_2 ; (02F6)
3BE9:0EB8 E9 005F jmpn loc_173 ; (0F1A)
3BE9:0EBB loc_166: ; xref 3BE9:0EA9
3BE9:0EBB 8B 06 01FC ;* mov ax,word ptr ds:[1FCh] ; (3BE9:01FC=0F880h)
3BE9:0EBB db 8Bh, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0EBF D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:0EC1 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0EC3 72 03 jc loc_167 ; Jump if carry Set
3BE9:0EC5 E9 000F jmpn loc_168 ; (0ED7)
3BE9:0EC8 loc_167: ; xref 3BE9:0EC3
3BE9:0EC8 B0 45 mov al,45h ; 'E'
3BE9:0ECA ,50 push ax ; PARAMETER_1
3BE9:0ECB E8 F428 call sub_2 ; (02F6)
3BE9:0ECE B0 20 mov al,20h ; ' '
3BE9:0ED0 ,50 push ax ; PARAMETER_1
3BE9:0ED1 E8 F422 call sub_2 ; (02F6)
3BE9:0ED4 E9 0043 jmpn loc_173 ; (0F1A)
3BE9:0ED7 loc_168: ; xref 3BE9:0EC5
3BE9:0ED7 8B 06 01FC ;* mov ax,word ptr ds:[1FCh] ; (3BE9:01FC=0F880h)
3BE9:0ED7 db 8Bh, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0EDB B1 02 mov cl,2
3BE9:0EDD D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:0EDF D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0EE1 72 03 jc loc_169 ; Jump if carry Set
3BE9:0EE3 E9 000F jmpn loc_170 ; (0EF5)
3BE9:0EE6 loc_169: ; xref 3BE9:0EE1
3BE9:0EE6 B0 52 mov al,52h ; 'R'
3BE9:0EE8 ,50 push ax ; PARAMETER_1
3BE9:0EE9 E8 F40A call sub_2 ; (02F6)
3BE9:0EEC B0 20 mov al,20h ; ' '
3BE9:0EEE ,50 push ax ; PARAMETER_1
3BE9:0EEF E8 F404 call sub_2 ; (02F6)
3BE9:0EF2 E9 0025 jmpn loc_173 ; (0F1A)
3BE9:0EF5 loc_170: ; xref 3BE9:0EE3
3BE9:0EF5 8B 06 01FC ;* mov ax,word ptr ds:[1FCh] ; (3BE9:01FC=0F880h)
3BE9:0EF5 db 8Bh, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0EF9 B1 03 mov cl,3
3BE9:0EFB D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:0EFD D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0EFF 72 03 jc loc_171 ; Jump if carry Set
3BE9:0F01 E9 000F jmpn loc_172 ; (0F13)
3BE9:0F04 loc_171: ; xref 3BE9:0EFF
3BE9:0F04 B0 44 mov al,44h ; 'D'
3BE9:0F06 ,50 push ax ; PARAMETER_1
3BE9:0F07 E8 F3EC call sub_2 ; (02F6)
3BE9:0F0A B0 20 mov al,20h ; ' '
3BE9:0F0C ,50 push ax ; PARAMETER_1
3BE9:0F0D E8 F3E6 call sub_2 ; (02F6)
3BE9:0F10 E9 0007 jmpn loc_173 ; (0F1A)
3BE9:0F13 loc_172: ; xref 3BE9:0F01
3BE9:0F13 B8 0E3F mov ax,0E3Fh
3BE9:0F16 ,50 push ax ; PARAMETER_1
3BE9:0F17 E8 F3EF call sub_3 ; (0309)
3BE9:0F1A loc_173: ; xref 3BE9:0EB8, 0ED4, 0EF2, 0F10
3BE9:0F1A C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0F1E 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:0F22 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0F22 db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0F26 8B 16 01FE mov dx,word ptr ds:[1FEh] ; (3BE9:01FE=7504h)
3BE9:0F2A B1 04 mov cl,4
3BE9:0F2C D3 EA shr dx,cl ; Shift w/zeros fill
3BE9:0F2E D0 DA rcr dl,1 ; Rotate thru carry
3BE9:0F30 72 03 jc loc_174 ; Jump if carry Set
3BE9:0F32 E9 0027 jmpn loc_178 ; (0F5C)
3BE9:0F35 loc_174: ; xref 3BE9:0F30
3BE9:0F35 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:0F37 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0F39 72 03 jc loc_175 ; Jump if carry Set
3BE9:0F3B E9 000F jmpn loc_176 ; (0F4D)
3BE9:0F3E loc_175: ; xref 3BE9:0F39
3BE9:0F3E B0 48 mov al,48h ; 'H'
3BE9:0F40 ,50 push ax ; PARAMETER_1
3BE9:0F41 E8 F3B2 call sub_2 ; (02F6)
3BE9:0F44 B0 20 mov al,20h ; ' '
3BE9:0F46 ,50 push ax ; PARAMETER_1
3BE9:0F47 E8 F3AC call sub_2 ; (02F6)
3BE9:0F4A E9 000C jmpn loc_177 ; (0F59)
3BE9:0F4D loc_176: ; xref 3BE9:0F3B
3BE9:0F4D B0 4C mov al,4Ch ; 'L'
3BE9:0F4F ,50 push ax ; PARAMETER_1
3BE9:0F50 E8 F3A3 call sub_2 ; (02F6)
3BE9:0F53 B0 20 mov al,20h ; ' '
3BE9:0F55 ,50 push ax ; PARAMETER_1
3BE9:0F56 E8 F39D call sub_2 ; (02F6)
3BE9:0F59 loc_177: ; xref 3BE9:0F4A
3BE9:0F59 E9 0007 jmpn loc_179 ; (0F63)
3BE9:0F5C loc_178: ; xref 3BE9:0F32
3BE9:0F5C B8 0E42 mov ax,0E42h
3BE9:0F5F ,50 push ax ; PARAMETER_1
3BE9:0F60 E8 F3A6 call sub_3 ; (0309)
3BE9:0F63 loc_179: ; xref 3BE9:0F59
3BE9:0F63 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0F67 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:0F6B 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0F6B db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0F6F B1 05 mov cl,5
3BE9:0F71 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:0F73 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:0F75 72 03 jc loc_180 ; Jump if carry Set
3BE9:0F77 E9 0064 jmpn loc_182 ; (0FDE)
3BE9:0F7A loc_180: ; xref 3BE9:0F75
3BE9:0F7A 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:0F7E 81 E0 00C0 ;* and ax,0C0h
3BE9:0F7E db 81h,0E0h,0C0h, 00h ; Fixup - byte match
3BE9:0F82 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0F82 db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0F86 B1 06 mov cl,6
3BE9:0F88 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:0F8A 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0F8A db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0F8E D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:0F90 8B D8 mov bx,ax
3BE9:0F92 2E: FF A7 0F53 jmp word ptr cs:[0F53h][bx] ;*(3BE9:0F53=20B0h) 1 entry
;* No entry point to code
3BE9:0F97 B0 4F mov al,4Fh ; 'O'
3BE9:0F99 ,50 push ax ; PARAMETER_1
3BE9:0F9A E8 F359 call sub_2 ; (02F6)
3BE9:0F9D B0 20 mov al,20h ; ' '
3BE9:0F9F ,50 push ax ; PARAMETER_1
3BE9:0FA0 E8 F353 call sub_2 ; (02F6)
3BE9:0FA3 E9 0035 jmpn loc_181 ; (0FDB)
;* No entry point to code
3BE9:0FA6 B0 45 mov al,45h ; 'E'
3BE9:0FA8 ,50 push ax ; PARAMETER_1
3BE9:0FA9 E8 F34A call sub_2 ; (02F6)
3BE9:0FAC B0 20 mov al,20h ; ' '
3BE9:0FAE ,50 push ax ; PARAMETER_1
3BE9:0FAF E8 F344 call sub_2 ; (02F6)
3BE9:0FB2 E9 0026 jmpn loc_181 ; (0FDB)
;* No entry point to code
3BE9:0FB5 B0 4D mov al,4Dh ; 'M'
3BE9:0FB7 ,50 push ax ; PARAMETER_1
3BE9:0FB8 E8 F33B call sub_2 ; (02F6)
3BE9:0FBB B0 20 mov al,20h ; ' '
3BE9:0FBD ,50 push ax ; PARAMETER_1
3BE9:0FBE E8 F335 call sub_2 ; (02F6)
3BE9:0FC1 E9 0017 jmpn loc_181 ; (0FDB)
3BE9:0FC4 B0 53 50 db 0B0h, 53h, 50h
3BE9:0FC7 2CE8 data_130 dw offset loc_547 ; Data table (indexed access)
; xref 3BE9:1006
3BE9:0FC9 F3 B0 20 50 E8 26 db 0F3h,0B0h, 20h, 50h,0E8h, 26h
3BE9:0FCF F3 E9 08 00 17 0F db 0F3h,0E9h, 08h, 00h, 17h, 0Fh
3BE9:0FD5 26 0F 35 0F 44 0F db 26h, 0Fh, 35h, 0Fh, 44h, 0Fh
3BE9:0FDB loc_181: ; xref 3BE9:0FA3, 0FB2, 0FC1
3BE9:0FDB E9 000C jmpn loc_183 ; (0FEA)
3BE9:0FDE loc_182: ; xref 3BE9:0F77
3BE9:0FDE B0 20 mov al,20h ; ' '
3BE9:0FE0 ,50 push ax ; PARAMETER_1
3BE9:0FE1 E8 F312 call sub_2 ; (02F6)
3BE9:0FE4 B0 20 mov al,20h ; ' '
3BE9:0FE6 ,50 push ax ; PARAMETER_1
3BE9:0FE7 E8 F30C call sub_2 ; (02F6)
3BE9:0FEA loc_183: ; xref 3BE9:0FDB
3BE9:0FEA C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:0FEE 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:0FF2 81 E0 0300 ;* and ax,300h
3BE9:0FF2 db 81h,0E0h, 00h, 03h ; Fixup - byte match
3BE9:0FF6 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0FF6 db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:0FFA B1 08 mov cl,8
3BE9:0FFC D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:0FFE 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:0FFE db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:1002 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:1004 8B D8 mov bx,ax
3BE9:1006 2E: FF A7 0FC7 jmp word ptr cs:data_130[bx] ;*(3BE9:0FC7=2CE8h) 1 entry
sub_26 endp
;* No entry point to code
3BE9:100B B0 35 mov al,35h ; '5'
3BE9:100D ,50 push ax ; PARAMETER_1
3BE9:100E E8 F2E5 call sub_2 ; (02F6)
3BE9:1011 B0 20 mov al,20h ; ' '
3BE9:1013 ,50 push ax ; PARAMETER_1
3BE9:1014 E8 F2DF call sub_2 ; (02F6)
3BE9:1017 E9 0035 jmpn loc_185 ; (104F)
;* No entry point to code
3BE9:101A B0 36 mov al,36h ; '6'
3BE9:101C ,50 push ax ; PARAMETER_1
3BE9:101D E8 F2D6 call sub_2 ; (02F6)
3BE9:1020 B0 20 mov al,20h ; ' '
3BE9:1022 ,50 push ax ; PARAMETER_1
3BE9:1023 E8 F2D0 call sub_2 ; (02F6)
3BE9:1026 E9 0026 jmpn loc_185 ; (104F)
;* No entry point to code
3BE9:1029 B0 37 mov al,37h ; '7'
3BE9:102B ,50 push ax ; PARAMETER_1
3BE9:102C E8 F2C7 call sub_2 ; (02F6)
3BE9:102F B0 20 mov al,20h ; ' '
3BE9:1031 ,50 push ax ; PARAMETER_1
3BE9:1032 E8 F2C1 call sub_2 ; (02F6)
3BE9:1035 E9 0017 jmpn loc_185 ; (104F)
;* No entry point to code
3BE9:1038 B0 38 mov al,38h ; '8'
3BE9:103A ,50 push ax ; PARAMETER_1
3BE9:103B E8 F2B8 call sub_2 ; (02F6)
3BE9:103E B0 20 mov al,20h ; ' '
3BE9:1040 ,50 push ax ; PARAMETER_1
3BE9:1041 E8 F2B2 call sub_2 ; (02F6)
3BE9:1044 E9 0008 jmpn loc_185 ; (104F)
;* No entry point to code
3BE9:1047 8B 0F mov cx,[bx]
3BE9:1049 9A B80F:A90F ;* call far ptr sub_47 ;*(B80F:A90F)
3BE9:1049 db 9Ah
3BE9:104A A90F B80F dw 0A90Fh, 0B80Fh ; Fixup - byte match
3BE9:104E 0F ;* pop cs ; Dangerous-8088 only
3BE9:104E db 0Fh ; Fixup - byte match
3BE9:104F loc_185: ; xref 3BE9:1017, 1026, 1035, 1044
3BE9:104F C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1053 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:1057 81 E0 0C00 ;* and ax,0C00h
3BE9:1057 db 81h,0E0h, 00h, 0Ch ; Fixup - byte match
3BE9:105B 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:105B db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:105F B1 0A mov cl,0Ah
3BE9:1061 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1063 89 06 01FC ;* mov word ptr ds:[1FCh],ax ; (3BE9:01FC=0F880h)
3BE9:1063 db 89h, 06h,0FCh, 01h ; Fixup - byte match
3BE9:1067 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:1069 8B D8 mov bx,ax
3BE9:106B 2E: FF A7 1041 jmp word ptr cs:[1041h][bx] ;*(3BE9:1041=0B2E8h)
;* No entry point to code
3BE9:1070 B0 31 mov al,31h ; '1'
3BE9:1072 ,50 push ax ; PARAMETER_1
3BE9:1073 E8 F280 call sub_2 ; (02F6)
3BE9:1076 B0 20 mov al,20h ; ' '
3BE9:1078 ,50 push ax ; PARAMETER_1
3BE9:1079 E8 F27A call sub_2 ; (02F6)
3BE9:107C B0 20 mov al,20h ; ' '
3BE9:107E ,50 push ax ; PARAMETER_1
3BE9:107F E8 F274 call sub_2 ; (02F6)
3BE9:1082 B0 20 mov al,20h ; ' '
3BE9:1084 ,50 push ax ; PARAMETER_1
3BE9:1085 E8 F26E call sub_2 ; (02F6)
3BE9:1088 E9 003C ;* jmpn loc_186 ;*(10C7)
3BE9:1088 db 0E9h, 3Ch, 00h ; Fixup - byte match
;* No entry point to code
3BE9:108B B0 31 mov al,31h ; '1'
3BE9:108D ,50 push ax ; PARAMETER_1
3BE9:108E E8 F265 call sub_2 ; (02F6)
3BE9:1091 B0 2E mov al,2Eh ; '.'
3BE9:1093 ,50 push ax ; PARAMETER_1
3BE9:1094 E8 F25F call sub_2 ; (02F6)
3BE9:1097 B0 35 mov al,35h ; '5'
3BE9:1099 ,50 push ax ; PARAMETER_1
3BE9:109A E8 F259 call sub_2 ; (02F6)
3BE9:109D B0 20 mov al,20h ; ' '
3BE9:109F ,50 push ax ; PARAMETER_1
3BE9:10A0 E8 F253 call sub_2 ; (02F6)
3BE9:10A3 E9 0021 ;* jmpn loc_186 ;*(10C7)
3BE9:10A3 db 0E9h, 21h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:10A6 B0 32 mov al,32h ; '2'
3BE9:10A8 ,50 push ax ; PARAMETER_1
3BE9:10A9 E8 F24A call sub_2 ; (02F6)
3BE9:10AC B0 20 mov al,20h ; ' '
3BE9:10AE ,50 push ax ; PARAMETER_1
3BE9:10AF E8 F244 call sub_2 ; (02F6)
3BE9:10B2 B0 20 mov al,20h ; ' '
3BE9:10B4 ,50 push ax ; PARAMETER_1
3BE9:10B5 E8 F23E call sub_2 ; (02F6)
3BE9:10B8 B0 20 mov al,20h ; ' '
3BE9:10BA ,50 push ax ; PARAMETER_1
3BE9:10BB E8 F238 call sub_2 ; (02F6)
3BE9:10BE E9 0006 ;* jmpn loc_186 ;*(10C7)
3BE9:10BE db 0E9h, 06h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:10C1 F0> 0F ;* lock pop cs ; Dangerous-8088 only
3BE9:10C1 db 0F0h, 0Fh ; Fixup - byte match
3BE9:10C3 0B 10 or dx,[bx+si]
3BE9:10C5 26: 10 5D C2 adc es:[di-3Eh],bl
3BE9:10C9 02 00 add al,[bx+si]
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:026D, 249F, 24BD, 24F6
;==========================================================================
3BE9:10CB sub_27 proc near
3BE9:10CB ,55 push bp
3BE9:10CC 8B EC mov bp,sp
3BE9:10CE B8 06BA mov ax,6BAh
3BE9:10D1 ,50 push ax ; PARAMETER_1
3BE9:10D2 E8 F234 call sub_3 ; (0309)
3BE9:10D5 8A 06 020C ;* mov al,byte ptr ds:[20Ch] ; (3BE9:020C=80h)
3BE9:10D5 db 8Ah, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:10D9 88 06 03CB ;* mov byte ptr ds:[3CBh],al ; (3BE9:03CB=8Ah)
3BE9:10D9 db 88h, 06h,0CBh, 03h ; Fixup - byte match
3BE9:10DD 80 F8 28 ;* cmp al,28h ; '('
3BE9:10DD db 80h,0F8h, 28h ; Fixup - byte match
3BE9:10E0 77 03 ja loc_187 ; Jump if above
3BE9:10E2 E9 006D jmpn loc_196 ; (1152)
3BE9:10E5 loc_187: ; xref 3BE9:10E0
3BE9:10E5 B0 00 mov al,0
3BE9:10E7 88 06 03C9 ;* mov byte ptr ds:[3C9h],al ; (3BE9:03C9=2)
3BE9:10E7 db 88h, 06h,0C9h, 03h ; Fixup - byte match
3BE9:10EB 88 06 03CA ;* mov byte ptr ds:[3CAh],al ; (3BE9:03CA=0)
3BE9:10EB db 88h, 06h,0CAh, 03h ; Fixup - byte match
3BE9:10EF loc_188: ; xref 3BE9:114F
3BE9:10EF ,8A 1E 03C9 mov bl,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:10F3 B7 00 mov bh,0
3BE9:10F5 80 BF 06EE 24 cmp byte ptr ds:[6EEh][bx],24h ; (3BE9:06EE=38h) '$'
3BE9:10FA 75 03 jne loc_189 ; Jump if not equal
3BE9:10FC E9 0053 jmpn loc_196 ; (1152)
3BE9:10FF loc_189: ; xref 3BE9:10FA
3BE9:10FF 8A 06 020C ;* mov al,byte ptr ds:[20Ch] ; (3BE9:020C=80h)
3BE9:10FF db 8Ah, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:1103 3A 06 03CA cmp al,byte ptr ds:[3CAh] ; (3BE9:03CA=0)
3BE9:1107 76 03 jbe loc_190 ; Jump if below or =
3BE9:1109 E9 0008 jmpn loc_191 ; (1114)
3BE9:110C loc_190: ; xref 3BE9:1107
3BE9:110C E8 F859 call sub_19 ; (0968)
3BE9:110F C6 06 03CA 00 mov byte ptr ds:[3CAh],0 ; (3BE9:03CA=0)
3BE9:1114 loc_191: ; xref 3BE9:1109
3BE9:1114 8A 1E 03C9 mov bl,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:1118 B7 00 mov bh,0
3BE9:111A ,FF B7 06EE push word ptr ds:[6EEh][bx] ; PARAMETER_1 (3BE9:06EE=38h)
3BE9:111E E8 F1D5 call sub_2 ; (02F6)
3BE9:1121 8A 06 03C9 ;* mov al,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:1121 db 8Ah, 06h,0C9h, 03h ; Fixup - byte match
3BE9:1125 FE C0 inc al
3BE9:1127 88 06 03C9 ;* mov byte ptr ds:[3C9h],al ; (3BE9:03C9=2)
3BE9:1127 db 88h, 06h,0C9h, 03h ; Fixup - byte match
3BE9:112B B4 00 mov ah,0
3BE9:112D 8B D8 mov bx,ax
3BE9:112F 8A 8F 06EE mov cl,byte ptr ds:[6EEh][bx] ; (3BE9:06EE=38h)
3BE9:1133 80 F9 0D cmp cl,0Dh
3BE9:1136 75 03 jne loc_192 ; Jump if not equal
3BE9:1138 E9 000F jmpn loc_194 ; (114A)
3BE9:113B loc_192: ; xref 3BE9:1136
3BE9:113B 80 F9 0A cmp cl,0Ah
3BE9:113E 75 03 jne loc_193 ; Jump if not equal
3BE9:1140 E9 0007 jmpn loc_194 ; (114A)
3BE9:1143 loc_193: ; xref 3BE9:113E
3BE9:1143 FE 06 03CA inc byte ptr ds:[3CAh] ; (3BE9:03CA=0)
3BE9:1147 E9 0005 jmpn loc_195 ; (114F)
3BE9:114A loc_194: ; xref 3BE9:1138, 1140
3BE9:114A C6 06 03CA 00 mov byte ptr ds:[3CAh],0 ; (3BE9:03CA=0)
3BE9:114F loc_195: ; xref 3BE9:1147
3BE9:114F E9 FF9D ;* jmp loc_188 ; (10EF)
3BE9:114F db 0E9h, 9Dh,0FFh ; Fixup - byte match
3BE9:1152 loc_196: ; xref 3BE9:10E2, 10FC
3BE9:1152 8A 06 020C ;* mov al,byte ptr ds:[20Ch] ; (3BE9:020C=80h)
3BE9:1152 db 8Ah, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:1156 88 06 03C9 ;* mov byte ptr ds:[3C9h],al ; (3BE9:03C9=2)
3BE9:1156 db 88h, 06h,0C9h, 03h ; Fixup - byte match
3BE9:115A B1 28 mov cl,28h ; '('
3BE9:115C 3A C1 cmp al,cl
3BE9:115E 72 03 jb loc_197 ; Jump if below
3BE9:1160 E9 0004 jmpn loc_198 ; (1167)
3BE9:1163 loc_197: ; xref 3BE9:115E
3BE9:1163 88 0E 03C9 mov byte ptr ds:[3C9h],cl ; (3BE9:03C9=2)
3BE9:1167 loc_198: ; xref 3BE9:1160
3BE9:1167 8A 06 03C9 ;* mov al,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:1167 db 8Ah, 06h,0C9h, 03h ; Fixup - byte match
3BE9:116B B4 00 mov ah,0
3BE9:116D B9 0028 mov cx,28h
3BE9:1170 31 D2 ;* xor dx,dx ; Zero register
3BE9:1170 db 31h,0D2h ; Fixup - byte match
3BE9:1172 F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:1174 88 06 03CC ;* mov byte ptr ds:[3CCh],al ; (3BE9:03CC=1Eh)
3BE9:1174 db 88h, 06h,0CCh, 03h ; Fixup - byte match
3BE9:1178 80 F8 01 ;* cmp al,1
3BE9:1178 db 80h,0F8h, 01h ; Fixup - byte match
3BE9:117B 77 03 ja loc_199 ; Jump if above
3BE9:117D E9 004E jmpn loc_206 ; (11CE)
3BE9:1180 loc_199: ; xref 3BE9:117B
3BE9:1180 C6 06 03C9 00 mov byte ptr ds:[3C9h],0 ; (3BE9:03C9=2)
3BE9:1185 loc_200: ; xref 3BE9:11A1
3BE9:1185 ,8A 06 03CC ;* mov al,byte ptr ds:[3CCh] ; (3BE9:03CC=1Eh)
3BE9:1185 db 8Ah, 06h,0CCh, 03h ; Fixup - byte match
3BE9:1189 FE C8 dec al
3BE9:118B 3A 06 03C9 cmp al,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:118F 73 03 jae loc_201 ; Jump if above or =
3BE9:1191 E9 0010 jmpn loc_202 ; (11A4)
3BE9:1194 loc_201: ; xref 3BE9:118F
3BE9:1194 B8 07E4 mov ax,7E4h
3BE9:1197 ,50 push ax ; PARAMETER_1
3BE9:1198 E8 F16E call sub_3 ; (0309)
3BE9:119B FE 06 03C9 inc byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:119F 74 03 jz loc_202 ; Jump if zero
3BE9:11A1 E9 FFE1 ;* jmp loc_200 ; (1185)
3BE9:11A1 db 0E9h,0E1h,0FFh ; Fixup - byte match
3BE9:11A4 loc_202: ; xref 3BE9:1191, 119F
3BE9:11A4 E8 F7C1 call sub_19 ; (0968)
3BE9:11A7 C6 06 03C9 00 mov byte ptr ds:[3C9h],0 ; (3BE9:03C9=2)
3BE9:11AC loc_203: ; xref 3BE9:11C8
3BE9:11AC ,8A 06 03CC ;* mov al,byte ptr ds:[3CCh] ; (3BE9:03CC=1Eh)
3BE9:11AC db 8Ah, 06h,0CCh, 03h ; Fixup - byte match
3BE9:11B0 FE C8 dec al
3BE9:11B2 3A 06 03C9 cmp al,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:11B6 73 03 jae loc_204 ; Jump if above or =
3BE9:11B8 E9 0010 jmpn loc_205 ; (11CB)
3BE9:11BB loc_204: ; xref 3BE9:11B6
3BE9:11BB B8 080C mov ax,80Ch
3BE9:11BE ,50 push ax ; PARAMETER_1
3BE9:11BF E8 F147 call sub_3 ; (0309)
3BE9:11C2 FE 06 03C9 inc byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:11C6 74 03 jz loc_205 ; Jump if zero
3BE9:11C8 E9 FFE1 ;* jmp loc_203 ; (11AC)
3BE9:11C8 db 0E9h,0E1h,0FFh ; Fixup - byte match
3BE9:11CB loc_205: ; xref 3BE9:11B8, 11C6
3BE9:11CB E8 F79A call sub_19 ; (0968)
3BE9:11CE loc_206: ; xref 3BE9:117D
3BE9:11CE 80 3E 03CC 02 cmp byte ptr ds:[3CCh],2 ; (3BE9:03CC=1Eh)
3BE9:11D3 72 03 jb loc_207 ; Jump if below
3BE9:11D5 E9 0017 jmpn loc_208 ; (11EF)
3BE9:11D8 loc_207: ; xref 3BE9:11D3
3BE9:11D8 E8 F78D call sub_19 ; (0968)
3BE9:11DB B8 07E4 mov ax,7E4h
3BE9:11DE ,50 push ax ; PARAMETER_1
3BE9:11DF E8 F127 call sub_3 ; (0309)
3BE9:11E2 E8 F783 call sub_19 ; (0968)
3BE9:11E5 B8 080C mov ax,80Ch
3BE9:11E8 ,50 push ax ; PARAMETER_1
3BE9:11E9 E8 F11D call sub_3 ; (0309)
3BE9:11EC E8 F779 call sub_19 ; (0968)
3BE9:11EF loc_208: ; xref 3BE9:11D5
3BE9:11EF B0 00 mov al,0
3BE9:11F1 88 06 03CA ;* mov byte ptr ds:[3CAh],al ; (3BE9:03CA=0)
3BE9:11F1 db 88h, 06h,0CAh, 03h ; Fixup - byte match
3BE9:11F5 88 06 03C9 ;* mov byte ptr ds:[3C9h],al ; (3BE9:03C9=2)
3BE9:11F5 db 88h, 06h,0C9h, 03h ; Fixup - byte match
3BE9:11F9 loc_209: ; xref 3BE9:1264
3BE9:11F9 ,8A 06 03C9 ;* mov al,byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:11F9 db 8Ah, 06h,0C9h, 03h ; Fixup - byte match
3BE9:11FD 80 F8 0F ;* cmp al,0Fh
3BE9:11FD db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:1200 76 03 jbe loc_210 ; Jump if below or =
3BE9:1202 E9 0062 jmpn loc_215 ; (1267)
3BE9:1205 loc_210: ; xref 3BE9:1200
3BE9:1205 B4 00 mov ah,0
3BE9:1207 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:1209 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:120B 8B D8 mov bx,ax
3BE9:120D ,8D 9F 01A2 lea bx,ds:[1A2h][bx] ; (3BE9:01A2=0D8h) Load effective addr
3BE9:1211 89 1E 01E2 mov word ptr ds:[1E2h],bx ; (3BE9:01E2=374h)
3BE9:1215 83 3F 00 cmp word ptr [bx],0
3BE9:1218 75 03 jne loc_211 ; Jump if not equal
3BE9:121A E9 0041 jmpn loc_214 ; (125E)
3BE9:121D loc_211: ; xref 3BE9:1218
3BE9:121D 8A 06 03CA ;* mov al,byte ptr ds:[3CAh] ; (3BE9:03CA=0)
3BE9:121D db 8Ah, 06h,0CAh, 03h ; Fixup - byte match
3BE9:1221 3A 06 03CC cmp al,byte ptr ds:[3CCh] ; (3BE9:03CC=1Eh)
3BE9:1225 73 03 jae loc_212 ; Jump if above or =
3BE9:1227 E9 0008 jmpn loc_213 ; (1232)
3BE9:122A loc_212: ; xref 3BE9:1225
3BE9:122A E8 F73B call sub_19 ; (0968)
3BE9:122D C6 06 03CA 00 mov byte ptr ds:[3CAh],0 ; (3BE9:03CA=0)
3BE9:1232 loc_213: ; xref 3BE9:1227
3BE9:1232 FF 36 03C9 push word ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:1236 E8 FAD9 call sub_24 ; (0D12)
3BE9:1239 B0 20 mov al,20h ; ' '
3BE9:123B ,50 push ax ; PARAMETER_1
3BE9:123C E8 F0B7 call sub_2 ; (02F6)
3BE9:123F ,FF 36 03C9 push word ptr ds:[3C9h] ; PARAMETER_1 (3BE9:03C9=2)
3BE9:1243 E8 FB10 call sub_25 ; (0D56)
3BE9:1246 B0 20 mov al,20h ; ' '
3BE9:1248 ,50 push ax ; PARAMETER_1
3BE9:1249 E8 F0AA call sub_2 ; (02F6)
3BE9:124C ,FF 36 03C9 push word ptr ds:[3C9h] ; PARAMETER_1 (3BE9:03C9=2)
3BE9:1250 E8 FBB9 call sub_26 ; (0E0C)
3BE9:1253 B8 0E45 mov ax,0E45h
3BE9:1256 ,50 push ax ; PARAMETER_1
3BE9:1257 E8 F0AF call sub_3 ; (0309)
3BE9:125A FE 06 03CA inc byte ptr ds:[3CAh] ; (3BE9:03CA=0)
3BE9:125E loc_214: ; xref 3BE9:121A
3BE9:125E FE 06 03C9 inc byte ptr ds:[3C9h] ; (3BE9:03C9=2)
3BE9:1262 74 03 jz loc_215 ; Jump if zero
3BE9:1264 E9 FF92 ;* jmp loc_209 ; (11F9)
3BE9:1264 db 0E9h, 92h,0FFh ; Fixup - byte match
3BE9:1267 loc_215: ; xref 3BE9:1202, 1262
3BE9:1267 E8 F6FE call sub_19 ; (0968)
3BE9:126A 5D pop bp
3BE9:126B C3 retn
sub_27 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1323, 1331, 133F, 134D, 135B, 1CFF, 1D0D
; 1D31, 1D3F, 1D59, 1D73, 1D8D, 1DA7, 1DB8
;==========================================================================
3BE9:126C sub_28 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:126C 55 push bp
3BE9:126D 8B EC mov bp,sp
3BE9:126F 8A 06 020C ;* mov al,byte ptr ds:[20Ch] ; (3BE9:020C=80h)
3BE9:126F db 8Ah, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:1273 88 06 03CD ;* mov byte ptr ds:[3CDh],al ; (3BE9:03CD=0AEh)
3BE9:1273 db 88h, 06h,0CDh, 03h ; Fixup - byte match
3BE9:1277 B1 28 mov cl,28h ; '('
3BE9:1279 3A C1 cmp al,cl
3BE9:127B 72 03 jb loc_216 ; Jump if below
3BE9:127D E9 0004 jmpn loc_217 ; (1284)
3BE9:1280 loc_216: ; xref 3BE9:127B
3BE9:1280 88 0E 03CD mov byte ptr ds:[3CDh],cl ; (3BE9:03CD=0AEh)
3BE9:1284 loc_217: ; xref 3BE9:127D
3BE9:1284 8A 06 03CD ;* mov al,byte ptr ds:[3CDh] ; (3BE9:03CD=0AEh)
3BE9:1284 db 8Ah, 06h,0CDh, 03h ; Fixup - byte match
3BE9:1288 80 E8 0A ;* sub al,0Ah
3BE9:1288 db 80h,0E8h, 0Ah ; Fixup - byte match
3BE9:128B B4 00 mov ah,0
3BE9:128D B9 0007 mov cx,7
3BE9:1290 31 D2 ;* xor dx,dx ; Zero register
3BE9:1290 db 31h,0D2h ; Fixup - byte match
3BE9:1292 F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:1294 88 06 03CF ;* mov byte ptr ds:[3CFh],al ; (3BE9:03CF=0B7h)
3BE9:1294 db 88h, 06h,0CFh, 03h ; Fixup - byte match
3BE9:1298 C6 06 03CE 01 mov byte ptr ds:[3CEh],1 ; (3BE9:03CE=3)
3BE9:129D B0 00 mov al,0
3BE9:129F 88 06 03D0 ;* mov byte ptr ds:[3D0h],al ; (3BE9:03D0=0)
3BE9:129F db 88h, 06h,0D0h, 03h ; Fixup - byte match
3BE9:12A3 B4 00 mov ah,0
3BE9:12A5 8B F0 mov si,ax
3BE9:12A7 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:12AA 80 38 FF cmp byte ptr [bx+si],0FFh
3BE9:12AD 75 03 jne loc_218 ; Jump if not equal
3BE9:12AF E9 004B jmpn loc_223 ; (12FD)
3BE9:12B2 loc_218: ; xref 3BE9:12AD, 12F7
3BE9:12B2 ,8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:12B5 8A 06 03D0 ;* mov al,byte ptr ds:[3D0h] ; (3BE9:03D0=0)
3BE9:12B5 db 8Ah, 06h,0D0h, 03h ; Fixup - byte match
3BE9:12B9 B4 00 mov ah,0
3BE9:12BB 8B F0 mov si,ax
3BE9:12BD 8A 08 mov cl,[bx+si]
3BE9:12BF 80 F9 FF cmp cl,0FFh
3BE9:12C2 75 03 jne loc_219 ; Jump if not equal
3BE9:12C4 E9 0033 jmpn loc_222 ; (12FA)
3BE9:12C7 loc_219: ; xref 3BE9:12C2
3BE9:12C7 51 push cx
3BE9:12C8 E8 FA47 call sub_24 ; (0D12)
3BE9:12CB B0 20 mov al,20h ; ' '
3BE9:12CD ,50 push ax ; PARAMETER_1
3BE9:12CE E8 F025 call sub_2 ; (02F6)
3BE9:12D1 8A 06 03CE ;* mov al,byte ptr ds:[3CEh] ; (3BE9:03CE=3)
3BE9:12D1 db 8Ah, 06h,0CEh, 03h ; Fixup - byte match
3BE9:12D5 FE C0 inc al
3BE9:12D7 88 06 03CE ;* mov byte ptr ds:[3CEh],al ; (3BE9:03CE=3)
3BE9:12D7 db 88h, 06h,0CEh, 03h ; Fixup - byte match
3BE9:12DB 3A 06 03CF cmp al,byte ptr ds:[3CFh] ; (3BE9:03CF=0B7h)
3BE9:12DF 77 03 ja loc_220 ; Jump if above
3BE9:12E1 E9 000F jmpn loc_221 ; (12F3)
3BE9:12E4 loc_220: ; xref 3BE9:12DF
3BE9:12E4 C6 06 03CE 01 mov byte ptr ds:[3CEh],1 ; (3BE9:03CE=3)
3BE9:12E9 E8 F67C call sub_19 ; (0968)
3BE9:12EC B8 0E48 mov ax,0E48h
3BE9:12EF ,50 push ax ; PARAMETER_1
3BE9:12F0 E8 F016 call sub_3 ; (0309)
3BE9:12F3 loc_221: ; xref 3BE9:12E1
3BE9:12F3 FE 06 03D0 inc byte ptr ds:[3D0h] ; (3BE9:03D0=0)
3BE9:12F7 E9 FFB8 ;* jmp loc_218 ; (12B2)
3BE9:12F7 db 0E9h,0B8h,0FFh ; Fixup - byte match
3BE9:12FA loc_222: ; xref 3BE9:12C4
3BE9:12FA E9 0007 jmpn loc_224 ; (1304)
3BE9:12FD loc_223: ; xref 3BE9:12AF
3BE9:12FD B8 085C mov ax,85Ch
3BE9:1300 ,50 push ax ; PARAMETER_1
3BE9:1301 E8 F005 call sub_3 ; (0309)
3BE9:1304 loc_224: ; xref 3BE9:12FA
3BE9:1304 E8 F661 call sub_19 ; (0968)
3BE9:1307 5D pop bp
3BE9:1308 C2 0002 retn 2
sub_28 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0270, 24A2, 24E1, 24F9
;==========================================================================
3BE9:130B sub_29 proc near
3BE9:130B ,55 push bp
3BE9:130C 8B EC mov bp,sp
3BE9:130E E8 F657 call sub_19 ; (0968)
3BE9:1311 B8 086E mov ax,86Eh
3BE9:1314 ,50 push ax ; PARAMETER_1
3BE9:1315 E8 EFF1 call sub_3 ; (0309)
3BE9:1318 B8 0888 mov ax,888h
3BE9:131B ,50 push ax ; PARAMETER_1
3BE9:131C E8 EFEA call sub_3 ; (0309)
3BE9:131F B8 0328 mov ax,328h
3BE9:1322 ,50 push ax ; PARAMETER_1
3BE9:1323 E8 FF46 call sub_28 ; (126C)
3BE9:1326 B8 0894 mov ax,894h
3BE9:1329 ,50 push ax ; PARAMETER_1
3BE9:132A E8 EFDC call sub_3 ; (0309)
3BE9:132D B8 0338 mov ax,338h
3BE9:1330 ,50 push ax ; PARAMETER_1
3BE9:1331 E8 FF38 call sub_28 ; (126C)
3BE9:1334 B8 08A0 mov ax,8A0h
3BE9:1337 ,50 push ax ; PARAMETER_1
3BE9:1338 E8 EFCE call sub_3 ; (0309)
3BE9:133B B8 0348 mov ax,348h
3BE9:133E ,50 push ax ; PARAMETER_1
3BE9:133F E8 FF2A call sub_28 ; (126C)
3BE9:1342 B8 08AC mov ax,8ACh
3BE9:1345 ,50 push ax ; PARAMETER_1
3BE9:1346 E8 EFC0 call sub_3 ; (0309)
3BE9:1349 B8 0358 mov ax,358h
3BE9:134C ,50 push ax ; PARAMETER_1
3BE9:134D E8 FF1C call sub_28 ; (126C)
3BE9:1350 B8 08B8 mov ax,8B8h
3BE9:1353 ,50 push ax ; PARAMETER_1
3BE9:1354 E8 EFB2 call sub_3 ; (0309)
3BE9:1357 B8 0368 mov ax,368h
3BE9:135A ,50 push ax ; PARAMETER_1
3BE9:135B E8 FF0E call sub_28 ; (126C)
3BE9:135E E8 F607 call sub_19 ; (0968)
3BE9:1361 5D pop bp
3BE9:1362 C3 retn
sub_29 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1F5B, 239B
;==========================================================================
3BE9:1363 sub_30 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:1363 55 push bp
3BE9:1364 8B EC mov bp,sp
3BE9:1366 80 3E 0320 06 cmp byte ptr ds:[320h],6 ; (3BE9:0320=0)
3BE9:136B 77 03 ja loc_225 ; Jump if above
3BE9:136D E9 0006 jmpn loc_226 ; (1376)
3BE9:1370 loc_225: ; xref 3BE9:136B
3BE9:1370 B0 FF mov al,0FFh
3BE9:1372 5D pop bp
3BE9:1373 C2 0002 retn 2
3BE9:1376 loc_226: ; xref 3BE9:136D
3BE9:1376 B8 03D4 mov ax,3D4h
3BE9:1379 ,50 push ax ; PARAMETER_3
3BE9:137A B0 20 mov al,20h ; ' '
3BE9:137C 50 push ax ; PARAMETER_2
3BE9:137D B0 06 mov al,6
3BE9:137F 50 push ax ; PARAMETER_1
3BE9:1380 E8 F5F6 call sub_20 ; (0979)
3BE9:1383 C6 06 03D1 00 mov byte ptr ds:[3D1h],0 ; (3BE9:03D1=8Ah)
3BE9:1388 loc_227: ; xref 3BE9:13AC
3BE9:1388 ,8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:1388 db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:138C FE C8 dec al
3BE9:138E 8A 0E 03D1 mov cl,byte ptr ds:[3D1h] ; (3BE9:03D1=8Ah)
3BE9:1392 3A C1 cmp al,cl
3BE9:1394 73 03 jae loc_228 ; Jump if above or =
3BE9:1396 E9 0016 jmpn loc_229 ; (13AF)
3BE9:1399 loc_228: ; xref 3BE9:1394
3BE9:1399 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:139C B5 00 mov ch,0
3BE9:139E 8B F1 mov si,cx
3BE9:13A0 8A 00 mov al,[bx+si]
3BE9:13A2 88 84 03D4 mov byte ptr ds:[3D4h][si],al ; (3BE9:03D4=9)
3BE9:13A6 FE 06 03D1 inc byte ptr ds:[3D1h] ; (3BE9:03D1=8Ah)
3BE9:13AA 74 03 jz loc_229 ; Jump if zero
3BE9:13AC E9 FFD9 ;* jmp loc_227 ; (1388)
3BE9:13AC db 0E9h,0D9h,0FFh ; Fixup - byte match
3BE9:13AF loc_229: ; xref 3BE9:1396, 13AA
3BE9:13AF C6 06 03D1 00 mov byte ptr ds:[3D1h],0 ; (3BE9:03D1=8Ah)
3BE9:13B4 loc_230: ; xref 3BE9:1424
3BE9:13B4 ,8A 06 03D1 ;* mov al,byte ptr ds:[3D1h] ; (3BE9:03D1=8Ah)
3BE9:13B4 db 8Ah, 06h,0D1h, 03h ; Fixup - byte match
3BE9:13B8 80 F8 0F ;* cmp al,0Fh
3BE9:13B8 db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:13BB 76 03 jbe loc_231 ; Jump if below or =
3BE9:13BD E9 0067 jmpn loc_239 ; (1427)
3BE9:13C0 loc_231: ; xref 3BE9:13BB
3BE9:13C0 B4 00 mov ah,0
3BE9:13C2 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:13C4 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:13C6 8B D8 mov bx,ax
3BE9:13C8 C4 87 01A2 les ax,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:13CC 89 06 01E8 ;* mov word ptr ds:[1E8h],ax ; (3BE9:01E8=1806h)
3BE9:13CC db 89h, 06h,0E8h, 01h ; Fixup - byte match
3BE9:13D0 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:13D4 C6 06 03D3 FF mov byte ptr ds:[3D3h],0FFh ; (3BE9:03D3=4Ch)
3BE9:13D9 C6 06 03D2 00 mov byte ptr ds:[3D2h],0 ; (3BE9:03D2=87h)
3BE9:13DE loc_232: ; xref 3BE9:1409
3BE9:13DE ,8A 06 03D2 ;* mov al,byte ptr ds:[3D2h] ; (3BE9:03D2=87h)
3BE9:13DE db 8Ah, 06h,0D2h, 03h ; Fixup - byte match
3BE9:13E2 80 F8 05 ;* cmp al,5
3BE9:13E2 db 80h,0F8h, 05h ; Fixup - byte match
3BE9:13E5 76 03 jbe loc_233 ; Jump if below or =
3BE9:13E7 E9 0022 jmpn loc_236 ; (140C)
3BE9:13EA loc_233: ; xref 3BE9:13E5
3BE9:13EA C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:13EE B4 00 mov ah,0
3BE9:13F0 8B F0 mov si,ax
3BE9:13F2 26: 8A 08 mov cl,es:[bx+si]
3BE9:13F5 3A 8C 03D4 cmp cl,byte ptr ds:[3D4h][si] ; (3BE9:03D4=9)
3BE9:13F9 75 03 jne loc_234 ; Jump if not equal
3BE9:13FB E9 0005 jmpn loc_235 ; (1403)
3BE9:13FE loc_234: ; xref 3BE9:13F9
3BE9:13FE C6 06 03D3 00 mov byte ptr ds:[3D3h],0 ; (3BE9:03D3=4Ch)
3BE9:1403 loc_235: ; xref 3BE9:13FB
3BE9:1403 FE 06 03D2 inc byte ptr ds:[3D2h] ; (3BE9:03D2=87h)
3BE9:1407 74 03 jz loc_236 ; Jump if zero
3BE9:1409 E9 FFD2 ;* jmp loc_232 ; (13DE)
3BE9:1409 db 0E9h,0D2h,0FFh ; Fixup - byte match
3BE9:140C loc_236: ; xref 3BE9:13E7, 1407
3BE9:140C 80 3E 03D3 FF cmp byte ptr ds:[3D3h],0FFh ; (3BE9:03D3=4Ch)
3BE9:1411 74 03 je loc_237 ; Jump if equal
3BE9:1413 E9 0008 jmpn loc_238 ; (141E)
3BE9:1416 loc_237: ; xref 3BE9:1411
3BE9:1416 8A 06 03D1 ;* mov al,byte ptr ds:[3D1h] ; (3BE9:03D1=8Ah)
3BE9:1416 db 8Ah, 06h,0D1h, 03h ; Fixup - byte match
3BE9:141A 5D pop bp
3BE9:141B C2 0002 retn 2
3BE9:141E loc_238: ; xref 3BE9:1413
3BE9:141E FE 06 03D1 inc byte ptr ds:[3D1h] ; (3BE9:03D1=8Ah)
3BE9:1422 74 03 jz loc_239 ; Jump if zero
3BE9:1424 E9 FF8D ;* jmp loc_230 ; (13B4)
3BE9:1424 db 0E9h, 8Dh,0FFh ; Fixup - byte match
3BE9:1427 loc_239: ; xref 3BE9:13BD, 1422
3BE9:1427 B0 FF mov al,0FFh
3BE9:1429 5D pop bp
3BE9:142A C2 0002 retn 2
sub_30 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1961
;==========================================================================
3BE9:142D sub_31 proc near
3BE9:142D ,55 push bp
3BE9:142E 8B EC mov bp,sp
3BE9:1430 C6 06 03DB 00 mov byte ptr ds:[3DBh],0 ; (3BE9:03DB=6)
3BE9:1435 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1439 26: 8A 47 0E mov al,es:[bx+0Eh]
3BE9:143D 88 06 03DA ;* mov byte ptr ds:[3DAh],al ; (3BE9:03DA=0E9h)
3BE9:143D db 88h, 06h,0DAh, 03h ; Fixup - byte match
3BE9:1441 B1 02 mov cl,2
3BE9:1443 D2 E8 shr al,cl ; Shift w/zeros fill
3BE9:1445 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1447 72 03 jc loc_240 ; Jump if carry Set
3BE9:1449 E9 0112 jmp loc_266 ; (155E)
3BE9:144C loc_240: ; xref 3BE9:1447, 1466
3BE9:144C ,8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:1450 8A 07 mov al,[bx]
3BE9:1452 80 F8 20 ;* cmp al,20h ; ' '
3BE9:1452 db 80h,0F8h, 20h ; Fixup - byte match
3BE9:1455 75 03 jnz loc_241 ; Jump if not zero
3BE9:1457 E9 0008 jmpn loc_242 ; (1462)
3BE9:145A loc_241: ; xref 3BE9:1455
3BE9:145A 80 F8 09 ;* cmp al,9
3BE9:145A db 80h,0F8h, 09h ; Fixup - byte match
3BE9:145D 74 03 jz loc_242 ; Jump if zero
3BE9:145F E9 0007 jmpn loc_243 ; (1469)
3BE9:1462 loc_242: ; xref 3BE9:1457, 145D
3BE9:1462 FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:1466 E9 FFE3 ;* jmp loc_240 ; (144C)
3BE9:1466 db 0E9h,0E3h,0FFh ; Fixup - byte match
3BE9:1469 loc_243: ; xref 3BE9:145F
3BE9:1469 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:146D 80 3F 28 cmp byte ptr [bx],28h ; '('
3BE9:1470 74 03 je loc_244 ; Jump if equal
3BE9:1472 E9 0009 jmpn loc_245 ; (147E)
3BE9:1475 loc_244: ; xref 3BE9:1470
3BE9:1475 FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:1479 C6 06 03DB 01 mov byte ptr ds:[3DBh],1 ; (3BE9:03DB=6)
3BE9:147E loc_245: ; xref 3BE9:1472
3BE9:147E 8A 06 03DB ;* mov al,byte ptr ds:[3DBh] ; (3BE9:03DB=6)
3BE9:147E db 8Ah, 06h,0DBh, 03h ; Fixup - byte match
3BE9:1482 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1484 72 03 jc loc_246 ; Jump if carry Set
3BE9:1486 E9 00C8 jmp loc_264 ; (1551)
3BE9:1489 loc_246: ; xref 3BE9:1484
3BE9:1489 B8 0632 mov ax,632h
3BE9:148C 50 push ax
3BE9:148D B8 06A0 mov ax,6A0h
3BE9:1490 50 push ax
3BE9:1491 E8 EF5A call sub_10 ; (03EE)
3BE9:1494 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1494 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1498 08 C0 ;* or al,al ; Zero ?
3BE9:1498 db 08h,0C0h ; Fixup - byte match
3BE9:149A 75 03 jnz loc_247 ; Jump if not zero
3BE9:149C E9 0077 jmpn loc_259 ; (1516)
3BE9:149F loc_247: ; xref 3BE9:149A
3BE9:149F 80 3E 0321 07 cmp byte ptr ds:[321h],7 ; (3BE9:0321=8Bh)
3BE9:14A4 74 03 je loc_248 ; Jump if equal
3BE9:14A6 E9 0011 jmpn loc_249 ; (14BA)
3BE9:14A9 loc_248: ; xref 3BE9:14A4
3BE9:14A9 FE C8 dec al
3BE9:14AB 88 06 03DC ;* mov byte ptr ds:[3DCh],al ; (3BE9:03DC=0)
3BE9:14AB db 88h, 06h,0DCh, 03h ; Fixup - byte match
3BE9:14AF 88 06 03DD ;* mov byte ptr ds:[3DDh],al ; (3BE9:03DD=8Bh)
3BE9:14AF db 88h, 06h,0DDh, 03h ; Fixup - byte match
3BE9:14B3 FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:14B7 E9 0059 jmpn loc_258 ; (1513)
3BE9:14BA loc_249: ; xref 3BE9:14A6
3BE9:14BA 80 3E 0321 04 cmp byte ptr ds:[321h],4 ; (3BE9:0321=8Bh)
3BE9:14BF 74 03 je loc_250 ; Jump if equal
3BE9:14C1 E9 0049 jmpn loc_257 ; (150D)
3BE9:14C4 loc_250: ; xref 3BE9:14BF
3BE9:14C4 8A 06 031F ;* mov al,byte ptr ds:[31Fh] ; (3BE9:031F=0B4h)
3BE9:14C4 db 8Ah, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:14C8 FE C8 dec al
3BE9:14CA 88 06 03DC ;* mov byte ptr ds:[3DCh],al ; (3BE9:03DC=0)
3BE9:14CA db 88h, 06h,0DCh, 03h ; Fixup - byte match
3BE9:14CE B8 0632 mov ax,632h
3BE9:14D1 50 push ax
3BE9:14D2 B8 06A0 mov ax,6A0h
3BE9:14D5 50 push ax
3BE9:14D6 E8 EF15 call sub_10 ; (03EE)
3BE9:14D9 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:14D9 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:14DD 08 C0 ;* or al,al ; Zero ?
3BE9:14DD db 08h,0C0h ; Fixup - byte match
3BE9:14DF 75 03 jnz loc_251 ; Jump if not zero
3BE9:14E1 E9 0009 jmpn loc_252 ; (14ED)
3BE9:14E4 loc_251: ; xref 3BE9:14DF
3BE9:14E4 FE C8 dec al
3BE9:14E6 88 06 03DD ;* mov byte ptr ds:[3DDh],al ; (3BE9:03DD=8Bh)
3BE9:14E6 db 88h, 06h,0DDh, 03h ; Fixup - byte match
3BE9:14EA E9 0006 jmpn loc_253 ; (14F3)
3BE9:14ED loc_252: ; xref 3BE9:14E1
3BE9:14ED B0 03 mov al,3
3BE9:14EF ,50 push ax ; PARAMETER_1
3BE9:14F0 E8 F4AB call sub_21 ; (099E)
3BE9:14F3 loc_253: ; xref 3BE9:14EA
3BE9:14F3 80 3E 0321 07 cmp byte ptr ds:[321h],7 ; (3BE9:0321=8Bh)
3BE9:14F8 74 03 je loc_254 ; Jump if equal
3BE9:14FA E9 0007 jmpn loc_255 ; (1504)
3BE9:14FD loc_254: ; xref 3BE9:14F8
3BE9:14FD FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:1501 E9 0006 jmpn loc_256 ; (150A)
3BE9:1504 loc_255: ; xref 3BE9:14FA
3BE9:1504 B0 02 mov al,2
3BE9:1506 ,50 push ax ; PARAMETER_1
3BE9:1507 E8 F494 call sub_21 ; (099E)
3BE9:150A loc_256: ; xref 3BE9:1501
3BE9:150A E9 0006 jmpn loc_258 ; (1513)
3BE9:150D loc_257: ; xref 3BE9:14C1
3BE9:150D B0 02 mov al,2
3BE9:150F ,50 push ax ; PARAMETER_1
3BE9:1510 E8 F48B call sub_21 ; (099E)
3BE9:1513 loc_258: ; xref 3BE9:14B7, 150A
3BE9:1513 E9 0006 jmpn loc_260 ; (151C)
3BE9:1516 loc_259: ; xref 3BE9:149C
3BE9:1516 B0 03 mov al,3
3BE9:1518 ,50 push ax ; PARAMETER_1
3BE9:1519 E8 F482 call sub_21 ; (099E)
3BE9:151C loc_260: ; xref 3BE9:1513
3BE9:151C 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:1520 8A 07 mov al,[bx]
3BE9:1522 80 F8 5D ;* cmp al,5Dh ; ']'
3BE9:1522 db 80h,0F8h, 5Dh ; Fixup - byte match
3BE9:1525 75 03 jnz loc_261 ; Jump if not zero
3BE9:1527 E9 0007 jmpn loc_262 ; (1531)
3BE9:152A loc_261: ; xref 3BE9:1525
3BE9:152A 08 C0 ;* or al,al ; Zero ?
3BE9:152A db 08h,0C0h ; Fixup - byte match
3BE9:152C 74 03 jz loc_262 ; Jump if zero
3BE9:152E E9 0005 jmpn loc_263 ; (1536)
3BE9:1531 loc_262: ; xref 3BE9:1527, 152C
3BE9:1531 C6 06 0321 08 mov byte ptr ds:[321h],8 ; (3BE9:0321=8Bh)
3BE9:1536 loc_263: ; xref 3BE9:152E
3BE9:1536 8A 06 03DC ;* mov al,byte ptr ds:[3DCh] ; (3BE9:03DC=0)
3BE9:1536 db 8Ah, 06h,0DCh, 03h ; Fixup - byte match
3BE9:153A C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:153E 26: 88 47 0C mov es:[bx+0Ch],al
3BE9:1542 8A 06 03DD ;* mov al,byte ptr ds:[3DDh] ; (3BE9:03DD=8Bh)
3BE9:1542 db 8Ah, 06h,0DDh, 03h ; Fixup - byte match
3BE9:1546 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:154A 26: 88 47 0D mov es:[bx+0Dh],al
3BE9:154E E9 000A jmpn loc_265 ; (155B)
3BE9:1551 loc_264: ; xref 3BE9:1486
3BE9:1551 FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:1555 B0 02 mov al,2
3BE9:1557 ,50 push ax ; PARAMETER_1
3BE9:1558 E8 F443 call sub_21 ; (099E)
3BE9:155B loc_265: ; xref 3BE9:154E
3BE9:155B E9 0006 jmpn loc_267 ; (1564)
3BE9:155E loc_266: ; xref 3BE9:1449
3BE9:155E B0 04 mov al,4
3BE9:1560 ,50 push ax ; PARAMETER_1
3BE9:1561 E8 F43A call sub_21 ; (099E)
3BE9:1564 loc_267: ; xref 3BE9:155B
3BE9:1564 5D pop bp
3BE9:1565 C2 0004 retn 4
sub_31 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:198B
;==========================================================================
3BE9:1568 sub_32 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:1568 55 push bp
3BE9:1569 8B EC mov bp,sp
3BE9:156B B8 0616 mov ax,616h
3BE9:156E 50 push ax
3BE9:156F B8 062C mov ax,62Ch
3BE9:1572 50 push ax
3BE9:1573 E8 EE78 call sub_10 ; (03EE)
3BE9:1576 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1576 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:157A 81 66 04 FFF0 ;* and word ptr [bp+PARAMETER_1],0FFF0h
3BE9:157A db 81h, 66h, 04h,0F0h,0FFh ; Fixup - byte match
3BE9:157F B4 00 mov ah,0
3BE9:1581 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:1583 8B D8 mov bx,ax
3BE9:1585 2E: FF A7 158C jmp word ptr cs:data_132[bx] ;*(3BE9:158C=0E850h)
sub_32 endp
3BE9:158A B0 03 db 0B0h, 03h
3BE9:158C E850 data_132 dw 0E850h ; Data table (indexed access)
; xref 3BE9:1585
3BE9:158E 0E F4 E9 85 00 E9 db 0Eh,0F4h,0E9h, 85h, 00h,0E9h
3BE9:1594 82 00 8B 46 06 D0 db 82h, 00h, 8Bh, 46h, 06h,0D0h
3BE9:159A D8 72 03 E9 08 00 db 0D8h, 72h, 03h,0E9h, 08h, 00h
3BE9:15A0 81 4E 04 01 00 E9 db 81h, 4Eh, 04h, 01h, 00h,0E9h
3BE9:15A6 06 00 B0 0B 50 E8 db 06h, 00h,0B0h, 0Bh, 50h,0E8h
3BE9:15AC F0 F3 db 0F0h,0F3h
3BE9:15AE loc_268:
3BE9:15AE E9 0067 jmpn loc_278 ; (1618)
;* No entry point to code
3BE9:15B1 8B 46 06 mov ax,[bp+6]
3BE9:15B4 D1 E8 shr ax,1 ; Shift w/zeros fill
3BE9:15B6 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:15B8 72 03 jc loc_269 ; Jump if carry Set
3BE9:15BA E9 0008 jmpn loc_270 ; (15C5)
3BE9:15BD loc_269: ; xref 3BE9:15B8
3BE9:15BD 81 4E 04 0002 ;* or word ptr [bp+4],2
3BE9:15BD db 81h, 4Eh, 04h, 02h, 00h ; Fixup - byte match
3BE9:15C2 E9 0006 jmpn loc_271 ; (15CB)
3BE9:15C5 loc_270: ; xref 3BE9:15BA
3BE9:15C5 B0 0B mov al,0Bh
3BE9:15C7 ,50 push ax ; PARAMETER_1
3BE9:15C8 E8 F3D3 call sub_21 ; (099E)
3BE9:15CB loc_271: ; xref 3BE9:15C2
3BE9:15CB E9 004A jmpn loc_278 ; (1618)
;* No entry point to code
3BE9:15CE 8B 46 06 mov ax,[bp+6]
3BE9:15D1 B1 02 mov cl,2
3BE9:15D3 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:15D5 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:15D7 72 03 jc loc_272 ; Jump if carry Set
3BE9:15D9 E9 0008 jmpn loc_273 ; (15E4)
3BE9:15DC loc_272: ; xref 3BE9:15D7
3BE9:15DC 81 4E 04 0004 ;* or word ptr [bp+4],4
3BE9:15DC db 81h, 4Eh, 04h, 04h, 00h ; Fixup - byte match
3BE9:15E1 E9 0006 jmpn loc_274 ; (15EA)
3BE9:15E4 loc_273: ; xref 3BE9:15D9
3BE9:15E4 B0 0B mov al,0Bh
3BE9:15E6 ,50 push ax ; PARAMETER_1
3BE9:15E7 E8 F3B4 call sub_21 ; (099E)
3BE9:15EA loc_274: ; xref 3BE9:15E1
3BE9:15EA E9 002B jmpn loc_278 ; (1618)
;* No entry point to code
3BE9:15ED 8B 46 06 mov ax,[bp+6]
3BE9:15F0 B1 03 mov cl,3
3BE9:15F2 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:15F4 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:15F6 72 03 jc loc_275 ; Jump if carry Set
3BE9:15F8 E9 0008 jmpn loc_276 ; (1603)
3BE9:15FB loc_275: ; xref 3BE9:15F6
3BE9:15FB 81 4E 04 0008 ;* or word ptr [bp+4],8
3BE9:15FB db 81h, 4Eh, 04h, 08h, 00h ; Fixup - byte match
3BE9:1600 E9 0006 jmpn loc_277 ; (1609)
3BE9:1603 loc_276: ; xref 3BE9:15F8
3BE9:1603 B0 0B mov al,0Bh
3BE9:1605 ,50 push ax ; PARAMETER_1
3BE9:1606 E8 F395 call sub_21 ; (099E)
3BE9:1609 loc_277: ; xref 3BE9:1600
3BE9:1609 E9 000C jmpn loc_278 ; (1618)
;* No entry point to code
3BE9:160C 0A 15 or dl,[di]
3BE9:160E 13 15 adc dx,[di]
3BE9:1610 16 push ss
3BE9:1611 15 1531 adc ax,1531h
3BE9:1614 4E dec si
3BE9:1615 15 156D adc ax,156Dh
3BE9:1618 loc_278: ; xref 3BE9:15AE, 15CB, 15EA, 1609
3BE9:1618 8B 46 04 mov ax,[bp+4]
3BE9:161B C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:161F 26: 89 47 08 mov es:[bx+8],ax
3BE9:1623 5D pop bp
3BE9:1624 C2 0004 retn 4
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:19B6
;==========================================================================
3BE9:1627 sub_33 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:1627 55 push bp
3BE9:1628 8B EC mov bp,sp
3BE9:162A B8 0608 mov ax,608h
3BE9:162D 50 push ax
3BE9:162E B8 0612 mov ax,612h
3BE9:1631 50 push ax
3BE9:1632 E8 EDB9 call sub_10 ; (03EE)
3BE9:1635 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1635 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1639 B4 00 mov ah,0
3BE9:163B D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:163D 8B D8 mov bx,ax
3BE9:163F 2E: FF A7 1625 jmp word ptr cs:[1625h][bx] ;*(3BE9:1625=4) 1 entry
sub_33 endp
;* No entry point to code
3BE9:1644 B0 03 mov al,3
3BE9:1646 ,50 push ax ; PARAMETER_1
3BE9:1647 E8 F354 call sub_21 ; (099E)
3BE9:164A E9 005E ;* jmpn loc_285 ;*(16AB)
3BE9:164A db 0E9h, 5Eh, 00h ; Fixup - byte match
;* No entry point to code
3BE9:164D 8B 46 06 mov ax,[bp+6]
3BE9:1650 B1 04 mov cl,4
3BE9:1652 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1654 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1656 72 03 jc loc_279 ; Jump if carry Set
3BE9:1658 E9 0015 jmpn loc_280 ; (1670)
3BE9:165B loc_279: ; xref 3BE9:1656
3BE9:165B 8B 46 04 mov ax,[bp+4]
3BE9:165E 81 E0 FFEF ;* and ax,0FFEFh
3BE9:165E db 81h,0E0h,0EFh,0FFh ; Fixup - byte match
3BE9:1662 89 46 04 mov [bp+4],ax
3BE9:1665 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1669 26: 89 47 08 mov es:[bx+8],ax
3BE9:166D E9 0006 jmpn loc_281 ; (1676)
3BE9:1670 loc_280: ; xref 3BE9:1658
3BE9:1670 B0 0B mov al,0Bh
3BE9:1672 ,50 push ax ; PARAMETER_1
3BE9:1673 E8 F328 call sub_21 ; (099E)
3BE9:1676 loc_281: ; xref 3BE9:166D
3BE9:1676 E9 0032 ;* jmpn loc_285 ;*(16AB)
3BE9:1676 db 0E9h, 32h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:1679 8B 46 06 mov ax,[bp+6]
3BE9:167C B1 04 mov cl,4
3BE9:167E D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1680 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1682 72 03 jc loc_282 ; Jump if carry Set
3BE9:1684 E9 0015 jmpn loc_283 ; (169C)
3BE9:1687 loc_282: ; xref 3BE9:1682
3BE9:1687 8B 46 04 mov ax,[bp+4]
3BE9:168A 81 C8 0010 ;* or ax,10h
3BE9:168A db 81h,0C8h, 10h, 00h ; Fixup - byte match
3BE9:168E 89 46 04 mov [bp+4],ax
3BE9:1691 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1695 26: 89 47 08 mov es:[bx+8],ax
3BE9:1699 E9 0006 jmpn loc_284 ; (16A2)
3BE9:169C loc_283: ; xref 3BE9:1684
3BE9:169C B0 0B mov al,0Bh
3BE9:169E ,50 push ax ; PARAMETER_1
3BE9:169F E8 F2FC call sub_21 ; (099E)
3BE9:16A2 loc_284: ; xref 3BE9:1699
3BE9:16A2 E9 0006 ;* jmpn loc_285 ;*(16AB)
3BE9:16A2 db 0E9h, 06h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:16A5 C4 15 les dx,dword ptr [di] ; Load seg:offset ptr
3BE9:16A7 CD 15 int 15h ; ??INT Non-standard interrupt
3BE9:16A9 F9 stc ; Set carry flag
3BE9:16AA 15 C25D adc ax,0C25Dh
3BE9:16AD 04 00 add al,0
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:19E1
;==========================================================================
3BE9:16AF sub_34 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:16AF 55 push bp
3BE9:16B0 8B EC mov bp,sp
3BE9:16B2 B8 05E8 mov ax,5E8h
3BE9:16B5 50 push ax
3BE9:16B6 B8 0602 mov ax,602h
3BE9:16B9 50 push ax
3BE9:16BA E8 ED31 call sub_10 ; (03EE)
3BE9:16BD 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:16BD db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:16C1 81 66 04 FF1F and word ptr [bp+PARAMETER_1],0FF1Fh
3BE9:16C6 B4 00 mov ah,0
3BE9:16C8 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:16CA 8B D8 mov bx,ax
3BE9:16CC 2E: FF A7 16D9 jmp word ptr cs:[16D9h][bx] ;*(3BE9:16D9=0E900h)
sub_34 endp
;* No entry point to code
3BE9:16D1 B0 03 mov al,3
3BE9:16D3 ,50 push ax ; PARAMETER_1
3BE9:16D4 E8 F2C7 call sub_21 ; (099E)
3BE9:16D7 E9 008B jmp loc_298 ; (1765)
3BE9:16DA E9 0088 jmp loc_298 ; (1765)
;* No entry point to code
3BE9:16DD 8B 46 06 mov ax,[bp+6]
3BE9:16E0 B1 05 mov cl,5
3BE9:16E2 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:16E4 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:16E6 72 03 jc loc_286 ; Jump if carry Set
3BE9:16E8 E9 0008 jmpn loc_287 ; (16F3)
3BE9:16EB loc_286: ; xref 3BE9:16E6
3BE9:16EB 81 4E 04 0020 ;* or word ptr [bp+4],20h
3BE9:16EB db 81h, 4Eh, 04h, 20h, 00h ; Fixup - byte match
3BE9:16F0 E9 0006 jmpn loc_288 ; (16F9)
3BE9:16F3 loc_287: ; xref 3BE9:16E8
3BE9:16F3 B0 0B mov al,0Bh
3BE9:16F5 ,50 push ax ; PARAMETER_1
3BE9:16F6 E8 F2A5 call sub_21 ; (099E)
3BE9:16F9 loc_288: ; xref 3BE9:16F0
3BE9:16F9 E9 0069 jmpn loc_298 ; (1765)
;* No entry point to code
3BE9:16FC 8B 46 06 mov ax,[bp+6]
3BE9:16FF B1 06 mov cl,6
3BE9:1701 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1703 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1705 72 03 jc loc_289 ; Jump if carry Set
3BE9:1707 E9 0008 jmpn loc_290 ; (1712)
3BE9:170A loc_289: ; xref 3BE9:1705
3BE9:170A 81 4E 04 0060 ;* or word ptr [bp+4],60h
3BE9:170A db 81h, 4Eh, 04h, 60h, 00h ; Fixup - byte match
3BE9:170F E9 0006 jmpn loc_291 ; (1718)
3BE9:1712 loc_290: ; xref 3BE9:1707
3BE9:1712 B0 0B mov al,0Bh
3BE9:1714 ,50 push ax ; PARAMETER_1
3BE9:1715 E8 F286 call sub_21 ; (099E)
3BE9:1718 loc_291: ; xref 3BE9:170F
3BE9:1718 E9 004A jmpn loc_298 ; (1765)
;* No entry point to code
3BE9:171B 8B 46 06 mov ax,[bp+6]
3BE9:171E B1 07 mov cl,7
3BE9:1720 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1722 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1724 72 03 jc loc_292 ; Jump if carry Set
3BE9:1726 E9 0008 jmpn loc_293 ; (1731)
3BE9:1729 loc_292: ; xref 3BE9:1724
3BE9:1729 81 4E 04 00A0 or word ptr [bp+4],0A0h
3BE9:172E E9 0006 jmpn loc_294 ; (1737)
3BE9:1731 loc_293: ; xref 3BE9:1726
3BE9:1731 B0 0B mov al,0Bh
3BE9:1733 ,50 push ax ; PARAMETER_1
3BE9:1734 E8 F267 call sub_21 ; (099E)
3BE9:1737 loc_294: ; xref 3BE9:172E
3BE9:1737 E9 002B jmpn loc_298 ; (1765)
;* No entry point to code
3BE9:173A 8B 46 06 mov ax,[bp+6]
3BE9:173D B1 08 mov cl,8
3BE9:173F D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1741 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1743 72 03 jc loc_295 ; Jump if carry Set
3BE9:1745 E9 0008 jmpn loc_296 ; (1750)
3BE9:1748 loc_295: ; xref 3BE9:1743
3BE9:1748 81 4E 04 00E0 or word ptr [bp+4],0E0h
3BE9:174D E9 0006 jmpn loc_297 ; (1756)
3BE9:1750 loc_296: ; xref 3BE9:1745
3BE9:1750 B0 0B mov al,0Bh
3BE9:1752 ,50 push ax ; PARAMETER_1
3BE9:1753 E8 F248 call sub_21 ; (099E)
3BE9:1756 loc_297: ; xref 3BE9:174D
3BE9:1756 E9 000C jmpn loc_298 ; (1765)
;* No entry point to code
3BE9:1759 51 push cx
3BE9:175A 16 push ss
3BE9:175B 5A pop dx
3BE9:175C 16 push ss
3BE9:175D 5D pop bp
3BE9:175E 16 push ss
3BE9:175F 7C 16 jl loc_299 ; Jump if <
3BE9:1761 9B 16 BA 16 db 9Bh, 16h,0BAh, 16h
3BE9:1765 loc_298: ; xref 3BE9:16D7, 16DA, 16F9, 1718
; 1737, 1756
3BE9:1765 8B 46 04 mov ax,[bp+4]
3BE9:1768 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:176C 26: 89 47 08 mov es:[bx+8],ax
3BE9:1770 5D pop bp
3BE9:1771 C2 0004 retn 4
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1A0C
;==========================================================================
3BE9:1774 sub_35 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:1774 55 push bp
3BE9:1775 8B EC mov bp,sp
3BE9:1777 loc_299: ; xref 3BE9:175F
3BE9:1777 B8 05CE mov ax,5CEh
3BE9:177A 50 push ax
3BE9:177B B8 05D6 mov ax,5D6h
3BE9:177E 50 push ax
3BE9:177F E8 EC6C call sub_10 ; (03EE)
3BE9:1782 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1782 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1786 81 66 04 FCFF and word ptr [bp+PARAMETER_1],0FCFFh
3BE9:178B B4 00 mov ah,0
3BE9:178D D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:178F 8B D8 mov bx,ax
3BE9:1791 2E: FF A7 1793 jmp word ptr cs:[1793h][bx] ;*(3BE9:1793=93A7h)
sub_35 endp
;* No entry point to code
3BE9:1796 B0 03 mov al,3
3BE9:1798 ,50 push ax ; PARAMETER_1
3BE9:1799 E8 F202 call sub_21 ; (099E)
3BE9:179C E9 007E jmpn loc_311 ; (181D)
;* No entry point to code
3BE9:179F 8B 46 06 mov ax,[bp+6]
3BE9:17A2 B1 09 mov cl,9
3BE9:17A4 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:17A6 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:17A8 73 03 jnc loc_300 ; Jump if carry=0
3BE9:17AA E9 0006 jmpn loc_301 ; (17B3)
3BE9:17AD loc_300: ; xref 3BE9:17A8
3BE9:17AD B0 0B mov al,0Bh
3BE9:17AF ,50 push ax ; PARAMETER_1
3BE9:17B0 E8 F1EB call sub_21 ; (099E)
3BE9:17B3 loc_301: ; xref 3BE9:17AA
3BE9:17B3 E9 0067 jmpn loc_311 ; (181D)
;* No entry point to code
3BE9:17B6 8B 46 06 mov ax,[bp+6]
3BE9:17B9 B1 0A mov cl,0Ah
3BE9:17BB D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:17BD D0 D8 rcr al,1 ; Rotate thru carry
3BE9:17BF 72 03 jc loc_302 ; Jump if carry Set
3BE9:17C1 E9 0008 jmpn loc_303 ; (17CC)
3BE9:17C4 loc_302: ; xref 3BE9:17BF
3BE9:17C4 81 4E 04 0100 or word ptr [bp+4],100h
3BE9:17C9 E9 0006 jmpn loc_304 ; (17D2)
3BE9:17CC loc_303: ; xref 3BE9:17C1
3BE9:17CC B0 0B mov al,0Bh
3BE9:17CE ,50 push ax ; PARAMETER_1
3BE9:17CF E8 F1CC call sub_21 ; (099E)
3BE9:17D2 loc_304: ; xref 3BE9:17C9
3BE9:17D2 E9 0048 jmpn loc_311 ; (181D)
;* No entry point to code
3BE9:17D5 8B 46 06 mov ax,[bp+6]
3BE9:17D8 B1 0B mov cl,0Bh
3BE9:17DA D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:17DC D0 D8 rcr al,1 ; Rotate thru carry
3BE9:17DE 72 03 jc loc_305 ; Jump if carry Set
3BE9:17E0 E9 0008 jmpn loc_306 ; (17EB)
3BE9:17E3 loc_305: ; xref 3BE9:17DE
3BE9:17E3 81 4E 04 0200 or word ptr [bp+4],200h
3BE9:17E8 E9 0006 jmpn loc_307 ; (17F1)
3BE9:17EB loc_306: ; xref 3BE9:17E0
3BE9:17EB B0 0B mov al,0Bh
3BE9:17ED ,50 push ax ; PARAMETER_1
3BE9:17EE E8 F1AD call sub_21 ; (099E)
3BE9:17F1 loc_307: ; xref 3BE9:17E8
3BE9:17F1 E9 0029 jmpn loc_311 ; (181D)
;* No entry point to code
3BE9:17F4 8B 46 06 mov ax,[bp+6]
3BE9:17F7 B1 0C mov cl,0Ch
3BE9:17F9 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:17FB D0 D8 rcr al,1 ; Rotate thru carry
3BE9:17FD 72 03 jc loc_308 ; Jump if carry Set
3BE9:17FF E9 0008 jmpn loc_309 ; (180A)
3BE9:1802 loc_308: ; xref 3BE9:17FD
3BE9:1802 81 4E 04 0300 or word ptr [bp+4],300h
3BE9:1807 E9 0006 jmpn loc_310 ; (1810)
3BE9:180A loc_309: ; xref 3BE9:17FF
3BE9:180A B0 0B mov al,0Bh
3BE9:180C ,50 push ax ; PARAMETER_1
3BE9:180D E8 F18E call sub_21 ; (099E)
3BE9:1810 loc_310: ; xref 3BE9:1807
3BE9:1810 E9 000A jmpn loc_311 ; (181D)
;* No entry point to code
3BE9:1813 16 push ss
3BE9:1814 17 pop ss
3BE9:1815 1F pop ds
3BE9:1816 17 pop ss
3BE9:1817 36 17 55 17 74 17 db 36h, 17h, 55h, 17h, 74h, 17h
3BE9:181D loc_311: ; xref 3BE9:179C, 17B3, 17D2, 17F1
; 1810
3BE9:181D 8B 46 04 mov ax,[bp+4]
3BE9:1820 C4 1E 01E8 les bx,dword ptr ds:data_1e ; (000B:01E8=0) Load seg:offset ptr
3BE9:1824 26: 89 47 08 mov es:[bx+8],ax
3BE9:1828 5D pop bp
3BE9:1829 C2 0004 retn 4
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1A37
;==========================================================================
3BE9:182C sub_36 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:182C 55 push bp
3BE9:182D 8B EC mov bp,sp
3BE9:182F B8 05DC mov ax,5DCh
3BE9:1832 50 push ax
3BE9:1833 B8 05E4 mov ax,5E4h
3BE9:1836 50 push ax
3BE9:1837 E8 EBB4 call sub_10 ; (03EE)
3BE9:183A 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:183A db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:183E 81 66 04 F3FF and word ptr [bp+PARAMETER_1],0F3FFh
3BE9:1843 B4 00 mov ah,0
3BE9:1845 D1 E0 shl ax,1 ; Shift w/zeros fill
3BE9:1847 8B D8 mov bx,ax
3BE9:1849 2E: FF A7 182C jmp word ptr cs:[182Ch][bx] ;*(3BE9:182C=8B55h)
sub_36 endp
;* No entry point to code
3BE9:184E B0 03 mov al,3
3BE9:1850 ,50 push ax ; PARAMETER_1
3BE9:1851 E8 F14A call sub_21 ; (099E)
3BE9:1854 E9 005D ;* jmpn loc_320 ;*(18B4)
3BE9:1854 db 0E9h, 5Dh, 00h ; Fixup - byte match
;* No entry point to code
3BE9:1857 8B 46 06 mov ax,[bp+6]
3BE9:185A B1 0D mov cl,0Dh
3BE9:185C D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:185E D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1860 73 03 jnc loc_312 ; Jump if carry=0
3BE9:1862 E9 0006 jmpn loc_313 ; (186B)
3BE9:1865 loc_312: ; xref 3BE9:1860
3BE9:1865 B0 0B mov al,0Bh
3BE9:1867 ,50 push ax ; PARAMETER_1
3BE9:1868 E8 F133 call sub_21 ; (099E)
3BE9:186B loc_313: ; xref 3BE9:1862
3BE9:186B E9 0046 ;* jmpn loc_320 ;*(18B4)
3BE9:186B db 0E9h, 46h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:186E 8B 46 06 mov ax,[bp+6]
3BE9:1871 B1 0E mov cl,0Eh
3BE9:1873 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1875 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1877 72 03 jc loc_314 ; Jump if carry Set
3BE9:1879 E9 0008 jmpn loc_315 ; (1884)
3BE9:187C loc_314: ; xref 3BE9:1877
3BE9:187C 81 4E 04 0400 or word ptr [bp+4],400h
3BE9:1881 E9 0006 jmpn loc_316 ; (188A)
3BE9:1884 loc_315: ; xref 3BE9:1879
3BE9:1884 B0 0B mov al,0Bh
3BE9:1886 ,50 push ax ; PARAMETER_1
3BE9:1887 E8 F114 call sub_21 ; (099E)
3BE9:188A loc_316: ; xref 3BE9:1881
3BE9:188A E9 0027 ;* jmpn loc_320 ;*(18B4)
3BE9:188A db 0E9h, 27h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:188D 8B 46 06 mov ax,[bp+6]
3BE9:1890 B1 0F mov cl,0Fh
3BE9:1892 D3 E8 shr ax,cl ; Shift w/zeros fill
3BE9:1894 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1896 72 03 jc loc_317 ; Jump if carry Set
3BE9:1898 E9 0008 jmpn loc_318 ; (18A3)
3BE9:189B loc_317: ; xref 3BE9:1896
3BE9:189B 81 4E 04 0800 or word ptr [bp+4],800h
3BE9:18A0 E9 0006 jmpn loc_319 ; (18A9)
3BE9:18A3 loc_318: ; xref 3BE9:1898
3BE9:18A3 B0 0B mov al,0Bh
3BE9:18A5 ,50 push ax ; PARAMETER_1
3BE9:18A6 E8 F0F5 call sub_21 ; (099E)
3BE9:18A9 loc_319: ; xref 3BE9:18A0
3BE9:18A9 E9 0008 ;* jmpn loc_320 ;*(18B4)
3BE9:18A9 db 0E9h, 08h, 00h ; Fixup - byte match
;* No entry point to code
3BE9:18AC CE into ; Int 4 on overflow
3BE9:18AD 17 pop ss
3BE9:18AE D7 xlat ; al=[al+[bx]] table
3BE9:18AF 17 pop ss
3BE9:18B0 EE out dx,al ; port 0, DMA-1 bas&add ch 0
3BE9:18B1 17 pop ss
3BE9:18B2 0D 8B18 or ax,8B18h
3BE9:18B5 46 inc si
3BE9:18B6 04 C4 add al,0C4h
3BE9:18B8 1E push ds
3BE9:18B9 E8 2601 call $+2604h
3BE9:18BC 89 47 08 mov [bx+8],ax
3BE9:18BF 5D pop bp
3BE9:18C0 C2 0004 retn 4
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:2105, 23D0, 2404
;==========================================================================
3BE9:18C3 sub_37 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:18C3 55 push bp
3BE9:18C4 8B EC mov bp,sp
3BE9:18C6 8A 5E 04 mov bl,[bp+PARAMETER_1]
3BE9:18C9 B7 00 mov bh,0
3BE9:18CB D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:18CD D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:18CF C4 9F 01A2 les bx,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:18D3 89 1E 01E8 mov word ptr ds:[1E8h],bx ; (3BE9:01E8=1806h)
3BE9:18D7 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:18DB 26: 8B 47 06 mov ax,es:[bx+6]
3BE9:18DF 89 06 0200 ;* mov word ptr ds:[200h],ax ; (3BE9:0200=0E903h)
3BE9:18DF db 89h, 06h, 00h, 02h ; Fixup - byte match
3BE9:18E3 26: 8B 47 08 mov ax,es:[bx+8]
3BE9:18E7 89 06 0202 ;* mov word ptr ds:[202h],ax ; (3BE9:0202=8)
3BE9:18E7 db 89h, 06h, 02h, 02h ; Fixup - byte match
3BE9:18EB 26: 8A 4F 0C mov cl,es:[bx+0Ch]
3BE9:18EF 88 0E 03DE mov byte ptr ds:[3DEh],cl ; (3BE9:03DE=0C3h)
3BE9:18F3 26: 8A 4F 0D mov cl,es:[bx+0Dh]
3BE9:18F7 88 0E 03DF mov byte ptr ds:[3DFh],cl ; (3BE9:03DF=5Dh)
3BE9:18FB 89 06 0204 ;* mov word ptr ds:[204h],ax ; (3BE9:0204=0F880h)
3BE9:18FB db 89h, 06h, 04h, 02h ; Fixup - byte match
3BE9:18FF C6 06 031F 00 mov byte ptr ds:[31Fh],0 ; (3BE9:031F=0B4h)
3BE9:1904 C6 06 0321 01 mov byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:1909 loc_321: ; xref 3BE9:1A3A
3BE9:1909 ,8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:1909 db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:190D 80 F8 02 ;* cmp al,2
3BE9:190D db 80h,0F8h, 02h ; Fixup - byte match
3BE9:1910 75 03 jnz loc_322 ; Jump if not zero
3BE9:1912 E9 0128 jmp loc_355 ; (1A3D)
3BE9:1915 loc_322: ; xref 3BE9:1910
3BE9:1915 80 F8 08 ;* cmp al,8
3BE9:1915 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:1918 75 03 jnz loc_323 ; Jump if not zero
3BE9:191A E9 0120 jmp loc_355 ; (1A3D)
3BE9:191D loc_323: ; xref 3BE9:1918
3BE9:191D B8 0590 mov ax,590h
3BE9:1920 50 push ax
3BE9:1921 B8 05C6 mov ax,5C6h
3BE9:1924 50 push ax
3BE9:1925 E8 EAC6 call sub_10 ; (03EE)
3BE9:1928 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1928 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:192C 08 C0 ;* or al,al ; Zero ?
3BE9:192C db 08h,0C0h ; Fixup - byte match
3BE9:192E 74 03 jz loc_324 ; Jump if zero
3BE9:1930 E9 0009 jmpn loc_325 ; (193C)
3BE9:1933 loc_324: ; xref 3BE9:192E
3BE9:1933 B0 03 mov al,3
3BE9:1935 ,50 push ax ; PARAMETER_1
3BE9:1936 E8 F065 call sub_21 ; (099E)
3BE9:1939 E9 00FE jmp loc_354 ; (1A3A)
3BE9:193C loc_325: ; xref 3BE9:1930
3BE9:193C 80 3E 031F 01 cmp byte ptr ds:[31Fh],1 ; (3BE9:031F=0B4h)
3BE9:1941 74 03 je loc_326 ; Jump if equal
3BE9:1943 E9 0021 jmpn loc_330 ; (1967)
3BE9:1946 loc_326: ; xref 3BE9:1941
3BE9:1946 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:194B 75 03 jne loc_327 ; Jump if not equal
3BE9:194D E9 0009 jmpn loc_328 ; (1959)
3BE9:1950 loc_327: ; xref 3BE9:194B
3BE9:1950 B0 02 mov al,2
3BE9:1952 ,50 push ax ; PARAMETER_1
3BE9:1953 E8 F048 call sub_21 ; (099E)
3BE9:1956 E9 000B jmpn loc_329 ; (1964)
3BE9:1959 loc_328: ; xref 3BE9:194D
3BE9:1959 FF 36 0200 push word ptr ds:[200h] ; (3BE9:0200=0E903h)
3BE9:195D FF 36 0202 push word ptr ds:[202h] ; (3BE9:0202=8)
3BE9:1961 E8 FAC9 call sub_31 ; (142D)
3BE9:1964 loc_329: ; xref 3BE9:1956
3BE9:1964 E9 00D3 jmp loc_354 ; (1A3A)
3BE9:1967 loc_330: ; xref 3BE9:1943
3BE9:1967 B0 02 mov al,2
3BE9:1969 38 06 031F cmp byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:196D 74 03 je loc_331 ; Jump if equal
3BE9:196F E9 001F jmpn loc_335 ; (1991)
3BE9:1972 loc_331: ; xref 3BE9:196D
3BE9:1972 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:1977 75 03 jne loc_332 ; Jump if not equal
3BE9:1979 E9 0007 jmpn loc_333 ; (1983)
3BE9:197C loc_332: ; xref 3BE9:1977
3BE9:197C ,50 push ax ; PARAMETER_1
3BE9:197D E8 F01E call sub_21 ; (099E)
3BE9:1980 E9 000B jmpn loc_334 ; (198E)
3BE9:1983 loc_333: ; xref 3BE9:1979
3BE9:1983 FF 36 0200 push word ptr ds:[200h] ; (3BE9:0200=0E903h)
3BE9:1987 ,FF 36 0202 push word ptr ds:[202h] ; PARAMETER_1 (3BE9:0202=8)
3BE9:198B E8 FBDA call sub_32 ; (1568)
3BE9:198E loc_334: ; xref 3BE9:1980
3BE9:198E E9 00A9 jmp loc_354 ; (1A3A)
3BE9:1991 loc_335: ; xref 3BE9:196F
3BE9:1991 B0 03 mov al,3
3BE9:1993 38 06 031F cmp byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1997 74 03 je loc_336 ; Jump if equal
3BE9:1999 E9 0020 jmpn loc_340 ; (19BC)
3BE9:199C loc_336: ; xref 3BE9:1997
3BE9:199C 38 06 0321 cmp byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:19A0 75 03 jne loc_337 ; Jump if not equal
3BE9:19A2 E9 0009 jmpn loc_338 ; (19AE)
3BE9:19A5 loc_337: ; xref 3BE9:19A0
3BE9:19A5 B0 02 mov al,2
3BE9:19A7 ,50 push ax ; PARAMETER_1
3BE9:19A8 E8 EFF3 call sub_21 ; (099E)
3BE9:19AB E9 000B jmpn loc_339 ; (19B9)
3BE9:19AE loc_338: ; xref 3BE9:19A2
3BE9:19AE ,FF 36 0200 push word ptr ds:[200h] ; PARAMETER_2 (3BE9:0200=0E903h)
3BE9:19B2 FF 36 0202 push word ptr ds:[202h] ; PARAMETER_1 (3BE9:0202=8)
3BE9:19B6 E8 FC6E call sub_33 ; (1627)
3BE9:19B9 loc_339: ; xref 3BE9:19AB
3BE9:19B9 E9 007E jmpn loc_354 ; (1A3A)
3BE9:19BC loc_340: ; xref 3BE9:1999
3BE9:19BC 80 3E 031F 04 cmp byte ptr ds:[31Fh],4 ; (3BE9:031F=0B4h)
3BE9:19C1 74 03 je loc_341 ; Jump if equal
3BE9:19C3 E9 0021 jmpn loc_345 ; (19E7)
3BE9:19C6 loc_341: ; xref 3BE9:19C1
3BE9:19C6 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:19CB 75 03 jne loc_342 ; Jump if not equal
3BE9:19CD E9 0009 jmpn loc_343 ; (19D9)
3BE9:19D0 loc_342: ; xref 3BE9:19CB
3BE9:19D0 B0 02 mov al,2
3BE9:19D2 ,50 push ax ; PARAMETER_1
3BE9:19D3 E8 EFC8 call sub_21 ; (099E)
3BE9:19D6 E9 000B jmpn loc_344 ; (19E4)
3BE9:19D9 loc_343: ; xref 3BE9:19CD
3BE9:19D9 ,FF 36 0200 push word ptr ds:[200h] ; PARAMETER_2 (3BE9:0200=0E903h)
3BE9:19DD FF 36 0202 push word ptr ds:[202h] ; PARAMETER_1 (3BE9:0202=8)
3BE9:19E1 E8 FCCB call sub_34 ; (16AF)
3BE9:19E4 loc_344: ; xref 3BE9:19D6
3BE9:19E4 E9 0053 jmpn loc_354 ; (1A3A)
3BE9:19E7 loc_345: ; xref 3BE9:19C3
3BE9:19E7 80 3E 031F 05 cmp byte ptr ds:[31Fh],5 ; (3BE9:031F=0B4h)
3BE9:19EC 74 03 je loc_346 ; Jump if equal
3BE9:19EE E9 0021 jmpn loc_350 ; (1A12)
3BE9:19F1 loc_346: ; xref 3BE9:19EC
3BE9:19F1 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:19F6 75 03 jne loc_347 ; Jump if not equal
3BE9:19F8 E9 0009 jmpn loc_348 ; (1A04)
3BE9:19FB loc_347: ; xref 3BE9:19F6
3BE9:19FB B0 02 mov al,2
3BE9:19FD ,50 push ax ; PARAMETER_1
3BE9:19FE E8 EF9D call sub_21 ; (099E)
3BE9:1A01 E9 000B jmpn loc_349 ; (1A0F)
3BE9:1A04 loc_348: ; xref 3BE9:19F8
3BE9:1A04 ,FF 36 0200 push word ptr ds:[200h] ; PARAMETER_2 (3BE9:0200=0E903h)
3BE9:1A08 FF 36 0202 push word ptr ds:[202h] ; PARAMETER_1 (3BE9:0202=8)
3BE9:1A0C E8 FD65 call sub_35 ; (1774)
3BE9:1A0F loc_349: ; xref 3BE9:1A01
3BE9:1A0F E9 0028 jmpn loc_354 ; (1A3A)
3BE9:1A12 loc_350: ; xref 3BE9:19EE
3BE9:1A12 80 3E 031F 06 cmp byte ptr ds:[31Fh],6 ; (3BE9:031F=0B4h)
3BE9:1A17 74 03 je loc_351 ; Jump if equal
3BE9:1A19 E9 001E jmpn loc_354 ; (1A3A)
3BE9:1A1C loc_351: ; xref 3BE9:1A17
3BE9:1A1C 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:1A21 75 03 jne loc_352 ; Jump if not equal
3BE9:1A23 E9 0009 jmpn loc_353 ; (1A2F)
3BE9:1A26 loc_352: ; xref 3BE9:1A21
3BE9:1A26 B0 02 mov al,2
3BE9:1A28 ,50 push ax ; PARAMETER_1
3BE9:1A29 E8 EF72 call sub_21 ; (099E)
3BE9:1A2C E9 000B jmpn loc_354 ; (1A3A)
3BE9:1A2F loc_353: ; xref 3BE9:1A23
3BE9:1A2F ,FF 36 0200 push word ptr ds:[200h] ; PARAMETER_2 (3BE9:0200=0E903h)
3BE9:1A33 FF 36 0202 push word ptr ds:[202h] ; PARAMETER_1 (3BE9:0202=8)
3BE9:1A37 E8 FDF2 call sub_36 ; (182C)
3BE9:1A3A loc_354: ; xref 3BE9:1939, 1964, 198E, 19B9
; 19E4, 1A0F, 1A19, 1A2C
3BE9:1A3A E9 FECC jmp loc_321 ; (1909)
3BE9:1A3D loc_355: ; xref 3BE9:1912, 191A
3BE9:1A3D ,BB 01E8 mov bx,1E8h ; (3BE9:01E8=6)
3BE9:1A40 89 1E 0196 mov data_10,bx ; (3BE9:0196=0F880h)
3BE9:1A44 8C 1E 0198 mov data_11,ds ; (3BE9:0198=0B001h)
3BE9:1A48 B0 15 mov al,15h
3BE9:1A4A ,50 push ax ; PARAMETER_2
3BE9:1A4B FF 37 push word ptr [bx] ; PARAMETER_1
3BE9:1A4D E8 E93B call sub_8 ; (038B)
3BE9:1A50 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:1A50 db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:1A54 09 C0 ;* or ax,ax ; Zero ?
3BE9:1A54 db 09h,0C0h ; Fixup - byte match
3BE9:1A56 75 03 jnz loc_356 ; Jump if not zero
3BE9:1A58 E9 002A jmpn loc_357 ; (1A85)
3BE9:1A5B loc_356: ; xref 3BE9:1A56
3BE9:1A5B 8B 06 0204 ;* mov ax,word ptr ds:[204h] ; (3BE9:0204=0F880h)
3BE9:1A5B db 8Bh, 06h, 04h, 02h ; Fixup - byte match
3BE9:1A5F C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1A63 26: 89 47 08 mov es:[bx+8],ax
3BE9:1A67 8A 06 03DE ;* mov al,byte ptr ds:[3DEh] ; (3BE9:03DE=0C3h)
3BE9:1A67 db 8Ah, 06h,0DEh, 03h ; Fixup - byte match
3BE9:1A6B C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1A6F 26: 88 47 0C mov es:[bx+0Ch],al
3BE9:1A73 8A 06 03DF ;* mov al,byte ptr ds:[3DFh] ; (3BE9:03DF=5Dh)
3BE9:1A73 db 8Ah, 06h,0DFh, 03h ; Fixup - byte match
3BE9:1A77 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:1A7B 26: 88 47 0D mov es:[bx+0Dh],al
3BE9:1A7F B0 0D mov al,0Dh
3BE9:1A81 ,50 push ax ; PARAMETER_1
3BE9:1A82 E8 EF19 call sub_21 ; (099E)
3BE9:1A85 loc_357: ; xref 3BE9:1A58
3BE9:1A85 B0 00 mov al,0
3BE9:1A87 ,50 push ax ; PARAMETER_2
3BE9:1A88 B4 00 mov ah,0
3BE9:1A8A 50 push ax ; PARAMETER_1
3BE9:1A8B E8 E608 call sub_1 ; (0096)
3BE9:1A8E 5D pop bp
3BE9:1A8F C2 0002 retn 2
sub_37 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1C05, 1C5A
;==========================================================================
3BE9:1A92 sub_38 proc near
PARAMETER_1 = 4 ; bp+4
PARAMETER_2 = 6 ; bp+6
3BE9:1A92 55 push bp
3BE9:1A93 8B EC mov bp,sp
3BE9:1A95 80 7E 04 03 cmp byte ptr [bp+PARAMETER_1],3
3BE9:1A99 77 03 ja loc_358 ; Jump if above
3BE9:1A9B E9 0006 jmpn loc_359 ; (1AA4)
3BE9:1A9E loc_358: ; xref 3BE9:1A99
3BE9:1A9E B0 00 mov al,0
3BE9:1AA0 ,50 push ax ; PARAMETER_1
3BE9:1AA1 E8 EEFA call sub_21 ; (099E)
3BE9:1AA4 loc_359: ; xref 3BE9:1A9B
3BE9:1AA4 C7 06 0206 0000 mov word ptr ds:[206h],0 ; (3BE9:0206=740Bh)
3BE9:1AAA C6 06 03E0 01 mov byte ptr ds:[3E0h],1 ; (3BE9:03E0=0C2h)
3BE9:1AAF loc_360: ; xref 3BE9:1AF8
3BE9:1AAF ,8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:1AB2 3A 06 03E0 cmp al,byte ptr ds:[3E0h] ; (3BE9:03E0=0C2h)
3BE9:1AB6 73 03 jae loc_361 ; Jump if above or =
3BE9:1AB8 E9 0040 jmpn loc_365 ; (1AFB)
3BE9:1ABB loc_361: ; xref 3BE9:1AB6
3BE9:1ABB 8B 5E 06 mov bx,[bp+PARAMETER_2]
3BE9:1ABE 8A 07 mov al,[bx]
3BE9:1AC0 80 F8 30 ;* cmp al,30h ; '0'
3BE9:1AC0 db 80h,0F8h, 30h ; Fixup - byte match
3BE9:1AC3 73 03 jnc loc_362 ; Jump if carry=0
3BE9:1AC5 E9 0008 jmpn loc_363 ; (1AD0)
3BE9:1AC8 loc_362: ; xref 3BE9:1AC3
3BE9:1AC8 80 F8 39 ;* cmp al,39h ; '9'
3BE9:1AC8 db 80h,0F8h, 39h ; Fixup - byte match
3BE9:1ACB 77 03 ja loc_363 ; Jump if above
3BE9:1ACD E9 0006 jmpn loc_364 ; (1AD6)
3BE9:1AD0 loc_363: ; xref 3BE9:1AC5, 1ACB
3BE9:1AD0 B0 00 mov al,0
3BE9:1AD2 ,50 push ax ; PARAMETER_1
3BE9:1AD3 E8 EEC8 call sub_21 ; (099E)
3BE9:1AD6 loc_364: ; xref 3BE9:1ACD
3BE9:1AD6 8B 06 0206 ;* mov ax,word ptr ds:[206h] ; (3BE9:0206=740Bh)
3BE9:1AD6 db 8Bh, 06h, 06h, 02h ; Fixup - byte match
3BE9:1ADA B9 000A mov cx,0Ah
3BE9:1ADD F7 E1 mul cx ; dx:ax = reg * ax
3BE9:1ADF 8B 5E 06 mov bx,[bp+PARAMETER_2]
3BE9:1AE2 8A 0F mov cl,[bx]
3BE9:1AE4 80 E9 30 sub cl,30h ; '0'
3BE9:1AE7 B5 00 mov ch,0
3BE9:1AE9 03 C1 add ax,cx
3BE9:1AEB 89 06 0206 ;* mov word ptr ds:[206h],ax ; (3BE9:0206=740Bh)
3BE9:1AEB db 89h, 06h, 06h, 02h ; Fixup - byte match
3BE9:1AEF FF 46 06 inc word ptr [bp+PARAMETER_2]
3BE9:1AF2 FE 06 03E0 inc byte ptr ds:[3E0h] ; (3BE9:03E0=0C2h)
3BE9:1AF6 74 03 jz loc_365 ; Jump if zero
3BE9:1AF8 E9 FFB4 ;* jmp loc_360 ; (1AAF)
3BE9:1AF8 db 0E9h,0B4h,0FFh ; Fixup - byte match
3BE9:1AFB loc_365: ; xref 3BE9:1AB8, 1AF6
3BE9:1AFB 81 3E 0206 00FF cmp word ptr ds:[206h],0FFh ; (3BE9:0206=740Bh)
3BE9:1B01 77 03 ja loc_366 ; Jump if above
3BE9:1B03 E9 0006 jmpn loc_367 ; (1B0C)
3BE9:1B06 loc_366: ; xref 3BE9:1B01
3BE9:1B06 B0 00 mov al,0
3BE9:1B08 ,50 push ax ; PARAMETER_1
3BE9:1B09 E8 EE92 call sub_21 ; (099E)
3BE9:1B0C loc_367: ; xref 3BE9:1B03
3BE9:1B0C 8B 06 0206 ;* mov ax,word ptr ds:[206h] ; (3BE9:0206=740Bh)
3BE9:1B0C db 8Bh, 06h, 06h, 02h ; Fixup - byte match
3BE9:1B10 5D pop bp
3BE9:1B11 C2 0004 retn 4
sub_38 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1CB5, 1CC6
;==========================================================================
3BE9:1B14 sub_39 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:1B14 55 push bp
3BE9:1B15 8B EC mov bp,sp
3BE9:1B17 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:1B1A B4 00 mov ah,0
3BE9:1B1C B9 0064 mov cx,64h
3BE9:1B1F 31 D2 ;* xor dx,dx ; Zero register
3BE9:1B1F db 31h,0D2h ; Fixup - byte match
3BE9:1B21 F7 F1 div cx ; ax,dx rem=dx:ax/reg
3BE9:1B23 88 06 03E1 ;* mov byte ptr ds:[3E1h],al ; (3BE9:03E1=2)
3BE9:1B23 db 88h, 06h,0E1h, 03h ; Fixup - byte match
3BE9:1B27 87 C1 ;* xchg ax,cx
3BE9:1B27 db 87h,0C1h ; Fixup - byte match
3BE9:1B29 F6 E1 mul cl ; ax = reg * al
3BE9:1B2B 8A 56 04 mov dl,[bp+PARAMETER_1]
3BE9:1B2E B6 00 mov dh,0
3BE9:1B30 2B D0 sub dx,ax
3BE9:1B32 88 56 04 mov [bp+PARAMETER_1],dl
3BE9:1B35 B6 00 mov dh,0
3BE9:1B37 8B C2 mov ax,dx
3BE9:1B39 BB 000A mov bx,0Ah
3BE9:1B3C 31 D2 ;* xor dx,dx ; Zero register
3BE9:1B3C db 31h,0D2h ; Fixup - byte match
3BE9:1B3E F7 F3 div bx ; ax,dx rem=dx:ax/reg
3BE9:1B40 88 06 03E2 ;* mov byte ptr ds:[3E2h],al ; (3BE9:03E2=0)
3BE9:1B40 db 88h, 06h,0E2h, 03h ; Fixup - byte match
3BE9:1B44 F6 E3 mul bl ; ax = reg * al
3BE9:1B46 8A 56 04 mov dl,[bp+PARAMETER_1]
3BE9:1B49 B6 00 mov dh,0
3BE9:1B4B 2B D0 sub dx,ax
3BE9:1B4D 88 16 03E3 mov byte ptr ds:[3E3h],dl ; (3BE9:03E3=0FEh)
3BE9:1B51 08 C9 ;* or cl,cl ; Zero ?
3BE9:1B51 db 08h,0C9h ; Fixup - byte match
3BE9:1B53 75 03 jnz loc_368 ; Jump if not zero
3BE9:1B55 E9 0007 jmpn loc_369 ; (1B5F)
3BE9:1B58 loc_368: ; xref 3BE9:1B53
3BE9:1B58 80 C1 30 add cl,30h ; '0'
3BE9:1B5B ,51 push cx ; PARAMETER_1
3BE9:1B5C E8 E797 call sub_2 ; (02F6)
3BE9:1B5F loc_369: ; xref 3BE9:1B55
3BE9:1B5F 82 3E 03E1 00 ;* cmp byte ptr ds:[3E1h],0 ; (3BE9:03E1=2)
3BE9:1B5F db 82h, 3Eh,0E1h, 03h, 00h ; Fixup - byte match
3BE9:1B64 74 03 jz loc_370 ; Jump if zero
3BE9:1B66 E9 000A jmpn loc_371 ; (1B73)
3BE9:1B69 loc_370: ; xref 3BE9:1B64
3BE9:1B69 82 3E 03E2 00 ;* cmp byte ptr ds:[3E2h],0 ; (3BE9:03E2=0)
3BE9:1B69 db 82h, 3Eh,0E2h, 03h, 00h ; Fixup - byte match
3BE9:1B6E 75 03 jnz loc_371 ; Jump if not zero
3BE9:1B70 E9 000B jmpn loc_372 ; (1B7E)
3BE9:1B73 loc_371: ; xref 3BE9:1B66, 1B6E
3BE9:1B73 8A 06 03E2 ;* mov al,byte ptr ds:[3E2h] ; (3BE9:03E2=0)
3BE9:1B73 db 8Ah, 06h,0E2h, 03h ; Fixup - byte match
3BE9:1B77 80 C0 30 ;* add al,30h ; '0'
3BE9:1B77 db 80h,0C0h, 30h ; Fixup - byte match
3BE9:1B7A ,50 push ax ; PARAMETER_1
3BE9:1B7B E8 E778 call sub_2 ; (02F6)
3BE9:1B7E loc_372: ; xref 3BE9:1B70
3BE9:1B7E 8A 06 03E3 ;* mov al,byte ptr ds:[3E3h] ; (3BE9:03E3=0FEh)
3BE9:1B7E db 8Ah, 06h,0E3h, 03h ; Fixup - byte match
3BE9:1B82 80 C0 30 ;* add al,30h ; '0'
3BE9:1B82 db 80h,0C0h, 30h ; Fixup - byte match
3BE9:1B85 ,50 push ax ; PARAMETER_1
3BE9:1B86 E8 E76D call sub_2 ; (02F6)
3BE9:1B89 5D pop bp
3BE9:1B8A C2 0002 retn 2
sub_39 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1E21
;==========================================================================
3BE9:1B8D sub_40 proc near
3BE9:1B8D ,55 push bp
3BE9:1B8E 8B EC mov bp,sp
3BE9:1B90 C6 06 0321 01 mov byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:1B95 C6 06 031F 00 mov byte ptr ds:[31Fh],0 ; (3BE9:031F=0B4h)
3BE9:1B9A loc_373: ; xref 3BE9:1C75
3BE9:1B9A ,8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:1B9A db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:1B9E 80 F8 02 ;* cmp al,2
3BE9:1B9E db 80h,0F8h, 02h ; Fixup - byte match
3BE9:1BA1 75 03 jnz loc_374 ; Jump if not zero
3BE9:1BA3 E9 00D2 jmp loc_386 ; (1C78)
3BE9:1BA6 loc_374: ; xref 3BE9:1BA1
3BE9:1BA6 80 F8 08 ;* cmp al,8
3BE9:1BA6 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:1BA9 75 03 jnz loc_375 ; Jump if not zero
3BE9:1BAB E9 00CA jmp loc_386 ; (1C78)
3BE9:1BAE loc_375: ; xref 3BE9:1BA9
3BE9:1BAE B8 0930 mov ax,930h
3BE9:1BB1 50 push ax
3BE9:1BB2 B8 0948 mov ax,948h
3BE9:1BB5 50 push ax
3BE9:1BB6 E8 E835 call sub_10 ; (03EE)
3BE9:1BB9 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1BB9 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1BBD 08 C0 ;* or al,al ; Zero ?
3BE9:1BBD db 08h,0C0h ; Fixup - byte match
3BE9:1BBF 74 03 jz loc_376 ; Jump if zero
3BE9:1BC1 E9 0006 jmpn loc_377 ; (1BCA)
3BE9:1BC4 loc_376: ; xref 3BE9:1BBF
3BE9:1BC4 B0 03 mov al,3
3BE9:1BC6 ,50 push ax ; PARAMETER_1
3BE9:1BC7 E8 EDD4 call sub_21 ; (099E)
3BE9:1BCA loc_377: ; xref 3BE9:1BC1
3BE9:1BCA 80 3E 031F 01 cmp byte ptr ds:[31Fh],1 ; (3BE9:031F=0B4h)
3BE9:1BCF 74 03 je loc_378 ; Jump if equal
3BE9:1BD1 E9 004C jmpn loc_381 ; (1C20)
3BE9:1BD4 loc_378: ; xref 3BE9:1BCF
3BE9:1BD4 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:1BD9 75 03 jne loc_379 ; Jump if not equal
3BE9:1BDB E9 0009 jmpn loc_380 ; (1BE7)
3BE9:1BDE loc_379: ; xref 3BE9:1BD9
3BE9:1BDE B0 02 mov al,2
3BE9:1BE0 ,50 push ax ; PARAMETER_1
3BE9:1BE1 E8 EDBA call sub_21 ; (099E)
3BE9:1BE4 E9 0039 jmpn loc_381 ; (1C20)
3BE9:1BE7 loc_380: ; xref 3BE9:1BDB
3BE9:1BE7 B8 0930 mov ax,930h
3BE9:1BEA 50 push ax
3BE9:1BEB B8 0948 mov ax,948h
3BE9:1BEE 50 push ax
3BE9:1BEF E8 E7FC call sub_10 ; (03EE)
3BE9:1BF2 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1BF2 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1BF6 8B 0E 0118 mov cx,data_9 ; (3BE9:0118=0)
3BE9:1BFA 8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:1BFA db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:1BFE B4 00 mov ah,0
3BE9:1C00 2B C8 sub cx,ax
3BE9:1C02 49 dec cx
3BE9:1C03 ,51 push cx ; PARAMETER_2
3BE9:1C04 50 push ax ; PARAMETER_1
3BE9:1C05 E8 FE8A call sub_38 ; (1A92)
3BE9:1C08 FE C8 dec al
3BE9:1C0A 88 06 03E4 ;* mov byte ptr ds:[3E4h],al ; (3BE9:03E4=6)
3BE9:1C0A db 88h, 06h,0E4h, 03h ; Fixup - byte match
3BE9:1C0E 88 06 03AD ;* mov byte ptr ds:[3ADh],al ; (3BE9:03AD=0C6h)
3BE9:1C0E db 88h, 06h,0ADh, 03h ; Fixup - byte match
3BE9:1C12 B0 00 mov al,0
3BE9:1C14 ,50 push ax ; PARAMETER_2
3BE9:1C15 B8 03AB mov ax,3ABh
3BE9:1C18 50 push ax ; PARAMETER_1
3BE9:1C19 E8 E750 call sub_7 ; (036C)
3BE9:1C1C 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:1C1C db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:1C20 loc_381: ; xref 3BE9:1BD1, 1BE4
3BE9:1C20 B0 02 mov al,2
3BE9:1C22 38 06 031F cmp byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1C26 74 03 je loc_382 ; Jump if equal
3BE9:1C28 E9 004A jmpn loc_385 ; (1C75)
3BE9:1C2B loc_382: ; xref 3BE9:1C26
3BE9:1C2B 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:1C30 75 03 jne loc_383 ; Jump if not equal
3BE9:1C32 E9 0007 jmpn loc_384 ; (1C3C)
3BE9:1C35 loc_383: ; xref 3BE9:1C30
3BE9:1C35 ,50 push ax ; PARAMETER_1
3BE9:1C36 E8 ED65 call sub_21 ; (099E)
3BE9:1C39 E9 0039 jmpn loc_385 ; (1C75)
3BE9:1C3C loc_384: ; xref 3BE9:1C32
3BE9:1C3C B8 0930 mov ax,930h
3BE9:1C3F 50 push ax
3BE9:1C40 B8 0948 mov ax,948h
3BE9:1C43 50 push ax
3BE9:1C44 E8 E7A7 call sub_10 ; (03EE)
3BE9:1C47 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1C47 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1C4B 8B 0E 0118 mov cx,data_9 ; (3BE9:0118=0)
3BE9:1C4F 8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:1C4F db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:1C53 B4 00 mov ah,0
3BE9:1C55 2B C8 sub cx,ax
3BE9:1C57 49 dec cx
3BE9:1C58 ,51 push cx ; PARAMETER_2
3BE9:1C59 50 push ax ; PARAMETER_1
3BE9:1C5A E8 FE35 call sub_38 ; (1A92)
3BE9:1C5D FE C8 dec al
3BE9:1C5F 88 06 03E4 ;* mov byte ptr ds:[3E4h],al ; (3BE9:03E4=6)
3BE9:1C5F db 88h, 06h,0E4h, 03h ; Fixup - byte match
3BE9:1C63 88 06 03AA ;* mov byte ptr ds:[3AAh],al ; (3BE9:03AA=55h)
3BE9:1C63 db 88h, 06h,0AAh, 03h ; Fixup - byte match
3BE9:1C67 B0 00 mov al,0
3BE9:1C69 ,50 push ax ; PARAMETER_2
3BE9:1C6A B8 03A8 mov ax,3A8h
3BE9:1C6D 50 push ax ; PARAMETER_1
3BE9:1C6E E8 E6FB call sub_7 ; (036C)
3BE9:1C71 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:1C71 db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:1C75 loc_385: ; xref 3BE9:1C28, 1C39
3BE9:1C75 E9 FF22 jmp loc_373 ; (1B9A)
3BE9:1C78 loc_386: ; xref 3BE9:1BA3, 1BAB
3BE9:1C78 B0 00 mov al,0
3BE9:1C7A ,50 push ax ; PARAMETER_2
3BE9:1C7B B8 03AB mov ax,3ABh
3BE9:1C7E 50 push ax ; PARAMETER_1
3BE9:1C7F E8 E6CB call sub_6 ; (034D)
3BE9:1C82 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:1C82 db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:1C86 8A 06 03AD ;* mov al,byte ptr ds:[3ADh] ; (3BE9:03AD=0C6h)
3BE9:1C86 db 8Ah, 06h,0ADh, 03h ; Fixup - byte match
3BE9:1C8A 88 06 020C ;* mov byte ptr ds:[20Ch],al ; (3BE9:020C=80h)
3BE9:1C8A db 88h, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:1C8E B0 01 mov al,1
3BE9:1C90 ,50 push ax ; PARAMETER_2
3BE9:1C91 B8 03A8 mov ax,3A8h
3BE9:1C94 50 push ax ; PARAMETER_1
3BE9:1C95 E8 E6B5 call sub_6 ; (034D)
3BE9:1C98 89 06 01EC ;* mov word ptr ds:[1ECh],ax ; (3BE9:01EC=0B800h)
3BE9:1C98 db 89h, 06h,0ECh, 01h ; Fixup - byte match
3BE9:1C9C 8A 06 03AA ;* mov al,byte ptr ds:[3AAh] ; (3BE9:03AA=55h)
3BE9:1C9C db 8Ah, 06h,0AAh, 03h ; Fixup - byte match
3BE9:1CA0 88 06 020D ;* mov byte ptr ds:[20Dh],al ; (3BE9:020D=3Eh)
3BE9:1CA0 db 88h, 06h, 0Dh, 02h ; Fixup - byte match
3BE9:1CA4 E8 ECC1 call sub_19 ; (0968)
3BE9:1CA7 B8 0AF4 mov ax,0AF4h
3BE9:1CAA ,50 push ax ; PARAMETER_1
3BE9:1CAB E8 E65B call sub_3 ; (0309)
3BE9:1CAE 8A 06 020C ;* mov al,byte ptr ds:[20Ch] ; (3BE9:020C=80h)
3BE9:1CAE db 8Ah, 06h, 0Ch, 02h ; Fixup - byte match
3BE9:1CB2 FE C0 inc al
3BE9:1CB4 ,50 push ax ; PARAMETER_1
3BE9:1CB5 E8 FE5C call sub_39 ; (1B14)
3BE9:1CB8 B8 0B0A mov ax,0B0Ah
3BE9:1CBB ,50 push ax ; PARAMETER_1
3BE9:1CBC E8 E64A call sub_3 ; (0309)
3BE9:1CBF 8A 06 020D ;* mov al,byte ptr ds:[20Dh] ; (3BE9:020D=3Eh)
3BE9:1CBF db 8Ah, 06h, 0Dh, 02h ; Fixup - byte match
3BE9:1CC3 FE C0 inc al
3BE9:1CC5 ,50 push ax ; PARAMETER_1
3BE9:1CC6 E8 FE4B call sub_39 ; (1B14)
3BE9:1CC9 B8 0B2E mov ax,0B2Eh
3BE9:1CCC ,50 push ax ; PARAMETER_1
3BE9:1CCD E8 E639 call sub_3 ; (0309)
3BE9:1CD0 E8 EC95 call sub_19 ; (0968)
3BE9:1CD3 B0 00 mov al,0
3BE9:1CD5 ,50 push ax ; PARAMETER_2
3BE9:1CD6 B4 00 mov ah,0
3BE9:1CD8 50 push ax ; PARAMETER_1
3BE9:1CD9 E8 E3BA call sub_1 ; (0096)
3BE9:1CDC 5D pop bp
3BE9:1CDD C3 retn
sub_40 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:1DED
;==========================================================================
3BE9:1CDE sub_41 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:1CDE 55 push bp
3BE9:1CDF 8B EC mov bp,sp
3BE9:1CE1 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:1CE4 80 F8 03 ;* cmp al,3
3BE9:1CE4 db 80h,0F8h, 03h ; Fixup - byte match
3BE9:1CE7 75 03 jnz loc_387 ; Jump if not zero
3BE9:1CE9 E9 0008 jmpn loc_388 ; (1CF4)
3BE9:1CEC loc_387: ; xref 3BE9:1CE7
3BE9:1CEC 80 F8 06 ;* cmp al,6
3BE9:1CEC db 80h,0F8h, 06h ; Fixup - byte match
3BE9:1CEF 74 03 jz loc_388 ; Jump if zero
3BE9:1CF1 E9 001F jmpn loc_389 ; (1D13)
3BE9:1CF4 loc_388: ; xref 3BE9:1CE9, 1CEF
3BE9:1CF4 B8 0888 mov ax,888h
3BE9:1CF7 ,50 push ax ; PARAMETER_1
3BE9:1CF8 E8 E60E call sub_3 ; (0309)
3BE9:1CFB B8 0328 mov ax,328h
3BE9:1CFE ,50 push ax ; PARAMETER_1
3BE9:1CFF E8 F56A call sub_28 ; (126C)
3BE9:1D02 B8 0894 mov ax,894h
3BE9:1D05 ,50 push ax ; PARAMETER_1
3BE9:1D06 E8 E600 call sub_3 ; (0309)
3BE9:1D09 B8 0338 mov ax,338h
3BE9:1D0C ,50 push ax ; PARAMETER_1
3BE9:1D0D E8 F55C call sub_28 ; (126C)
3BE9:1D10 E9 00A8 jmp loc_401 ; (1DBB)
3BE9:1D13 loc_389: ; xref 3BE9:1CF1
3BE9:1D13 8A 46 04 mov al,[bp+PARAMETER_1]
3BE9:1D16 80 F8 08 ;* cmp al,8
3BE9:1D16 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:1D19 75 03 jnz loc_390 ; Jump if not zero
3BE9:1D1B E9 0008 jmpn loc_391 ; (1D26)
3BE9:1D1E loc_390: ; xref 3BE9:1D19
3BE9:1D1E 80 F8 0B ;* cmp al,0Bh
3BE9:1D1E db 80h,0F8h, 0Bh ; Fixup - byte match
3BE9:1D21 74 03 jz loc_391 ; Jump if zero
3BE9:1D23 E9 001F jmpn loc_392 ; (1D45)
3BE9:1D26 loc_391: ; xref 3BE9:1D1B, 1D21
3BE9:1D26 B8 08A0 mov ax,8A0h
3BE9:1D29 ,50 push ax ; PARAMETER_1
3BE9:1D2A E8 E5DC call sub_3 ; (0309)
3BE9:1D2D B8 0348 mov ax,348h
3BE9:1D30 ,50 push ax ; PARAMETER_1
3BE9:1D31 E8 F538 call sub_28 ; (126C)
3BE9:1D34 B8 08AC mov ax,8ACh
3BE9:1D37 ,50 push ax ; PARAMETER_1
3BE9:1D38 E8 E5CE call sub_3 ; (0309)
3BE9:1D3B B8 0358 mov ax,358h
3BE9:1D3E ,50 push ax ; PARAMETER_1
3BE9:1D3F E8 F52A call sub_28 ; (126C)
3BE9:1D42 E9 0076 jmpn loc_401 ; (1DBB)
3BE9:1D45 loc_392: ; xref 3BE9:1D23
3BE9:1D45 80 7E 04 04 cmp byte ptr [bp+PARAMETER_1],4
3BE9:1D49 74 03 je loc_393 ; Jump if equal
3BE9:1D4B E9 0011 jmpn loc_394 ; (1D5F)
3BE9:1D4E loc_393: ; xref 3BE9:1D49
3BE9:1D4E B8 0888 mov ax,888h
3BE9:1D51 ,50 push ax ; PARAMETER_1
3BE9:1D52 E8 E5B4 call sub_3 ; (0309)
3BE9:1D55 B8 0328 mov ax,328h
3BE9:1D58 ,50 push ax ; PARAMETER_1
3BE9:1D59 E8 F510 call sub_28 ; (126C)
3BE9:1D5C E9 005C jmpn loc_401 ; (1DBB)
3BE9:1D5F loc_394: ; xref 3BE9:1D4B
3BE9:1D5F 80 7E 04 05 cmp byte ptr [bp+PARAMETER_1],5
3BE9:1D63 74 03 je loc_395 ; Jump if equal
3BE9:1D65 E9 0011 jmpn loc_396 ; (1D79)
3BE9:1D68 loc_395: ; xref 3BE9:1D63
3BE9:1D68 B8 0894 mov ax,894h
3BE9:1D6B ,50 push ax ; PARAMETER_1
3BE9:1D6C E8 E59A call sub_3 ; (0309)
3BE9:1D6F B8 0338 mov ax,338h
3BE9:1D72 ,50 push ax ; PARAMETER_1
3BE9:1D73 E8 F4F6 call sub_28 ; (126C)
3BE9:1D76 E9 0042 jmpn loc_401 ; (1DBB)
3BE9:1D79 loc_396: ; xref 3BE9:1D65
3BE9:1D79 80 7E 04 07 cmp byte ptr [bp+PARAMETER_1],7
3BE9:1D7D 74 03 je loc_397 ; Jump if equal
3BE9:1D7F E9 0011 jmpn loc_398 ; (1D93)
3BE9:1D82 loc_397: ; xref 3BE9:1D7D
3BE9:1D82 B8 08B8 mov ax,8B8h
3BE9:1D85 ,50 push ax ; PARAMETER_1
3BE9:1D86 E8 E580 call sub_3 ; (0309)
3BE9:1D89 B8 0368 mov ax,368h
3BE9:1D8C ,50 push ax ; PARAMETER_1
3BE9:1D8D E8 F4DC call sub_28 ; (126C)
3BE9:1D90 E9 0028 jmpn loc_401 ; (1DBB)
3BE9:1D93 loc_398: ; xref 3BE9:1D7F
3BE9:1D93 80 7E 04 09 cmp byte ptr [bp+PARAMETER_1],9
3BE9:1D97 74 03 je loc_399 ; Jump if equal
3BE9:1D99 E9 0011 jmpn loc_400 ; (1DAD)
3BE9:1D9C loc_399: ; xref 3BE9:1D97
3BE9:1D9C B8 08A0 mov ax,8A0h
3BE9:1D9F ,50 push ax ; PARAMETER_1
3BE9:1DA0 E8 E566 call sub_3 ; (0309)
3BE9:1DA3 B8 0348 mov ax,348h
3BE9:1DA6 ,50 push ax ; PARAMETER_1
3BE9:1DA7 E8 F4C2 call sub_28 ; (126C)
3BE9:1DAA E9 000E jmpn loc_401 ; (1DBB)
3BE9:1DAD loc_400: ; xref 3BE9:1D99
3BE9:1DAD B8 08AC mov ax,8ACh
3BE9:1DB0 ,50 push ax ; PARAMETER_1
3BE9:1DB1 E8 E555 call sub_3 ; (0309)
3BE9:1DB4 B8 0358 mov ax,358h
3BE9:1DB7 ,50 push ax ; PARAMETER_1
3BE9:1DB8 E8 F4B1 call sub_28 ; (126C)
3BE9:1DBB loc_401: ; xref 3BE9:1D10, 1D42, 1D5C, 1D76
; 1D90, 1DAA
3BE9:1DBB E8 EBAA call sub_19 ; (0968)
3BE9:1DBE B0 00 mov al,0
3BE9:1DC0 ,50 push ax ; PARAMETER_2
3BE9:1DC1 B4 00 mov ah,0
3BE9:1DC3 50 push ax ; PARAMETER_1
3BE9:1DC4 E8 E2CF call sub_1 ; (0096)
3BE9:1DC7 5D pop bp
3BE9:1DC8 C2 0002 retn 2
sub_41 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:24F0
;==========================================================================
3BE9:1DCB sub_42 proc near
3BE9:1DCB ,55 push bp
3BE9:1DCC 8B EC mov bp,sp
3BE9:1DCE 8A 06 031F ;* mov al,byte ptr ds:[31Fh] ; (3BE9:031F=0B4h)
3BE9:1DCE db 8Ah, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1DD2 88 06 03E5 ;* mov byte ptr ds:[3E5h],al ; (3BE9:03E5=0AEh)
3BE9:1DD2 db 88h, 06h,0E5h, 03h ; Fixup - byte match
3BE9:1DD6 8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:1DD6 db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:1DDA 08 C0 ;* or al,al ; Zero ?
3BE9:1DDA db 08h,0C0h ; Fixup - byte match
3BE9:1DDC 75 03 jnz loc_402 ; Jump if not zero
3BE9:1DDE E9 0008 jmpn loc_403 ; (1DE9)
3BE9:1DE1 loc_402: ; xref 3BE9:1DDC
3BE9:1DE1 80 F8 08 ;* cmp al,8
3BE9:1DE1 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:1DE4 74 03 jz loc_403 ; Jump if zero
3BE9:1DE6 E9 000A jmpn loc_404 ; (1DF3)
3BE9:1DE9 loc_403: ; xref 3BE9:1DDE, 1DE4
3BE9:1DE9 ,FF 36 031F push word ptr ds:[31Fh] ; PARAMETER_1 (3BE9:031F=0B4h)
3BE9:1DED E8 FEEE call sub_41 ; (1CDE)
3BE9:1DF0 E9 004D jmpn loc_414 ; (1E40)
3BE9:1DF3 loc_404: ; xref 3BE9:1DE6
3BE9:1DF3 80 3E 0321 01 cmp byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:1DF8 74 03 je loc_405 ; Jump if equal
3BE9:1DFA E9 0033 jmpn loc_412 ; (1E30)
3BE9:1DFD loc_405: ; xref 3BE9:1DF8
3BE9:1DFD 8A 06 031F ;* mov al,byte ptr ds:[31Fh] ; (3BE9:031F=0B4h)
3BE9:1DFD db 8Ah, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1E01 80 F8 03 ;* cmp al,3
3BE9:1E01 db 80h,0F8h, 03h ; Fixup - byte match
3BE9:1E04 75 03 jnz loc_406 ; Jump if not zero
3BE9:1E06 E9 0018 jmpn loc_409 ; (1E21)
3BE9:1E09 loc_406: ; xref 3BE9:1E04
3BE9:1E09 80 F8 04 ;* cmp al,4
3BE9:1E09 db 80h,0F8h, 04h ; Fixup - byte match
3BE9:1E0C 75 03 jnz loc_407 ; Jump if not zero
3BE9:1E0E E9 0010 jmpn loc_409 ; (1E21)
3BE9:1E11 loc_407: ; xref 3BE9:1E0C
3BE9:1E11 80 F8 05 ;* cmp al,5
3BE9:1E11 db 80h,0F8h, 05h ; Fixup - byte match
3BE9:1E14 75 03 jnz loc_408 ; Jump if not zero
3BE9:1E16 E9 0008 jmpn loc_409 ; (1E21)
3BE9:1E19 loc_408: ; xref 3BE9:1E14
3BE9:1E19 80 F8 06 ;* cmp al,6
3BE9:1E19 db 80h,0F8h, 06h ; Fixup - byte match
3BE9:1E1C 74 03 jz loc_409 ; Jump if zero
3BE9:1E1E E9 0006 jmpn loc_410 ; (1E27)
3BE9:1E21 loc_409: ; xref 3BE9:1E06, 1E0E, 1E16, 1E1C
3BE9:1E21 E8 FD69 call sub_40 ; (1B8D)
3BE9:1E24 E9 0006 jmpn loc_411 ; (1E2D)
3BE9:1E27 loc_410: ; xref 3BE9:1E1E
3BE9:1E27 B0 02 mov al,2
3BE9:1E29 ,50 push ax ; PARAMETER_1
3BE9:1E2A E8 EB71 call sub_21 ; (099E)
3BE9:1E2D loc_411: ; xref 3BE9:1E24
3BE9:1E2D E9 0010 jmpn loc_414 ; (1E40)
3BE9:1E30 loc_412: ; xref 3BE9:1DFA
3BE9:1E30 80 3E 0321 03 cmp byte ptr ds:[321h],3 ; (3BE9:0321=8Bh)
3BE9:1E35 75 03 jne loc_413 ; Jump if not equal
3BE9:1E37 E9 0006 jmpn loc_414 ; (1E40)
3BE9:1E3A loc_413: ; xref 3BE9:1E35
3BE9:1E3A B0 02 mov al,2
3BE9:1E3C ,50 push ax ; PARAMETER_1
3BE9:1E3D E8 EB5E call sub_21 ; (099E)
3BE9:1E40 loc_414: ; xref 3BE9:1DF0, 1E2D, 1E37
3BE9:1E40 C6 06 0321 01 mov byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:1E45 C6 06 031F 00 mov byte ptr ds:[31Fh],0 ; (3BE9:031F=0B4h)
3BE9:1E4A B8 0590 mov ax,590h
3BE9:1E4D 50 push ax
3BE9:1E4E B8 05C6 mov ax,5C6h
3BE9:1E51 50 push ax
3BE9:1E52 E8 E599 call sub_10 ; (03EE)
3BE9:1E55 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:1E55 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:1E59 80 F8 07 ;* cmp al,7
3BE9:1E59 db 80h,0F8h, 07h ; Fixup - byte match
3BE9:1E5C 74 03 jz loc_415 ; Jump if zero
3BE9:1E5E E9 00B4 jmp loc_424 ; (1F15)
3BE9:1E61 loc_415: ; xref 3BE9:1E5C
3BE9:1E61 8A 06 03E5 ;* mov al,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:1E61 db 8Ah, 06h,0E5h, 03h ; Fixup - byte match
3BE9:1E65 80 F8 03 ;* cmp al,3
3BE9:1E65 db 80h,0F8h, 03h ; Fixup - byte match
3BE9:1E68 75 03 jnz loc_416 ; Jump if not zero
3BE9:1E6A E9 0018 jmpn loc_419 ; (1E85)
3BE9:1E6D loc_416: ; xref 3BE9:1E68
3BE9:1E6D 80 F8 06 ;* cmp al,6
3BE9:1E6D db 80h,0F8h, 06h ; Fixup - byte match
3BE9:1E70 75 03 jnz loc_417 ; Jump if not zero
3BE9:1E72 E9 0010 jmpn loc_419 ; (1E85)
3BE9:1E75 loc_417: ; xref 3BE9:1E70
3BE9:1E75 80 F8 08 ;* cmp al,8
3BE9:1E75 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:1E78 75 03 jnz loc_418 ; Jump if not zero
3BE9:1E7A E9 0008 jmpn loc_419 ; (1E85)
3BE9:1E7D loc_418: ; xref 3BE9:1E78
3BE9:1E7D 80 F8 0B ;* cmp al,0Bh
3BE9:1E7D db 80h,0F8h, 0Bh ; Fixup - byte match
3BE9:1E80 74 03 jz loc_419 ; Jump if zero
3BE9:1E82 E9 0009 jmpn loc_420 ; (1E8E)
3BE9:1E85 loc_419: ; xref 3BE9:1E6A, 1E72, 1E7A, 1E80
3BE9:1E85 B0 0A mov al,0Ah
3BE9:1E87 ,50 push ax ; PARAMETER_1
3BE9:1E88 E8 EB13 call sub_21 ; (099E)
3BE9:1E8B E9 0084 jmp loc_423 ; (1F12)
3BE9:1E8E loc_420: ; xref 3BE9:1E82
3BE9:1E8E 80 3E 03E5 04 cmp byte ptr ds:[3E5h],4 ; (3BE9:03E5=0AEh)
3BE9:1E93 74 03 je loc_421 ; Jump if equal
3BE9:1E95 E9 0009 jmpn loc_422 ; (1EA1)
3BE9:1E98 loc_421: ; xref 3BE9:1E93
3BE9:1E98 B0 09 mov al,9
3BE9:1E9A ,50 push ax ; PARAMETER_1
3BE9:1E9B E8 EB00 call sub_21 ; (099E)
3BE9:1E9E E9 0071 jmpn loc_423 ; (1F12)
3BE9:1EA1 loc_422: ; xref 3BE9:1E95
3BE9:1EA1 8A 1E 03E5 mov bl,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:1EA5 B7 00 mov bh,0
3BE9:1EA7 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:1EA9 2E: FF A7 1E7A jmp word ptr cs:[1E7Ah][bx] ;*(3BE9:1E7A=8E9h) 1 entry
3BE9:1EAE E9 0061 jmpn loc_423 ; (1F12)
3BE9:1EB1 E9 005E jmpn loc_423 ; (1F12)
3BE9:1EB4 E9 005B jmpn loc_423 ; (1F12)
3BE9:1EB7 E9 0058 jmpn loc_423 ; (1F12)
3BE9:1EBA E9 0055 jmpn loc_423 ; (1F12)
;* No entry point to code
3BE9:1EBD C4 1E 019E les bx,dword ptr ds:[19Eh] ; (3BE9:019E=0A59h) Load seg:offset pt
3BE9:1EC1 26: C7 47 02 0000 mov word ptr es:[bx+2],0
3BE9:1EC7 E9 0048 jmpn loc_423 ; (1F12)
3BE9:1ECA E9 0045 jmpn loc_423 ; (1F12)
;* No entry point to code
3BE9:1ECD C4 1E 019E les bx,dword ptr ds:[19Eh] ; (3BE9:019E=0A59h) Load seg:offset pt
3BE9:1ED1 26: C7 47 08 0000 mov word ptr es:[bx+8],0
3BE9:1ED7 E9 0038 jmpn loc_423 ; (1F12)
3BE9:1EDA E9 0035 jmpn loc_423 ; (1F12)
3BE9:1EDD C4 1E 9E 01 26 C7 db 0C4h, 1Eh, 9Eh, 01h, 26h,0C7h
3BE9:1EE3 47 04 00 00 E9 28 db 47h, 04h, 00h, 00h,0E9h, 28h
3BE9:1EE9 00 C4 1E 9E 01 26 db 00h,0C4h, 1Eh, 9Eh, 01h, 26h
3BE9:1EEF C7 47 06 00 00 E9 db 0C7h, 47h, 06h, 00h, 00h,0E9h
3BE9:1EF5 1B 00 E9 18 00 2E db 1Bh, 00h,0E9h, 18h, 00h, 2Eh
3BE9:1EFB 1E 31 1E 34 1E 37 db 1Eh, 31h, 1Eh, 34h, 1Eh, 37h
3BE9:1F01 1E 3A 1E 3D 1E 4A db 1Eh, 3Ah, 1Eh, 3Dh, 1Eh, 4Ah
3BE9:1F07 1E 4D 1E 5A 1E 5D db 1Eh, 4Dh, 1Eh, 5Ah, 1Eh, 5Dh
3BE9:1F0D 1E 6A 1E 77 1E db 1Eh, 6Ah, 1Eh, 77h, 1Eh
3BE9:1F12 loc_423: ; xref 3BE9:1E8B, 1E9E, 1EAE, 1EB1
; 1EB4, 1EB7, 1EBA, 1EC7
; 1ECA, 1ED7, 1EDA
3BE9:1F12 E9 0310 jmp loc_480 ; (2225)
3BE9:1F15 loc_424: ; xref 3BE9:1E5E
3BE9:1F15 B0 00 mov al,0
3BE9:1F17 88 06 03E6 ;* mov byte ptr ds:[3E6h],al ; (3BE9:03E6=3)
3BE9:1F17 db 88h, 06h,0E6h, 03h ; Fixup - byte match
3BE9:1F1B 88 06 03E7 ;* mov byte ptr ds:[3E7h],al ; (3BE9:03E7=0E9h)
3BE9:1F1B db 88h, 06h,0E7h, 03h ; Fixup - byte match
3BE9:1F1F loc_425: ; xref 3BE9:1F3A
3BE9:1F1F ,8A 06 03E7 ;* mov al,byte ptr ds:[3E7h] ; (3BE9:03E7=0E9h)
3BE9:1F1F db 8Ah, 06h,0E7h, 03h ; Fixup - byte match
3BE9:1F23 80 F8 0F ;* cmp al,0Fh
3BE9:1F23 db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:1F26 76 03 jbe loc_426 ; Jump if below or =
3BE9:1F28 E9 0012 jmpn loc_427 ; (1F3D)
3BE9:1F2B loc_426: ; xref 3BE9:1F26
3BE9:1F2B B4 00 mov ah,0
3BE9:1F2D 8B D8 mov bx,ax
3BE9:1F2F C6 87 0210 FF mov byte ptr ds:[210h][bx],0FFh ; (3BE9:0210=1)
3BE9:1F34 FE 06 03E7 inc byte ptr ds:[3E7h] ; (3BE9:03E7=0E9h)
3BE9:1F38 74 03 jz loc_427 ; Jump if zero
3BE9:1F3A E9 FFE2 ;* jmp loc_425 ; (1F1F)
3BE9:1F3A db 0E9h,0E2h,0FFh ; Fixup - byte match
3BE9:1F3D loc_427: ; xref 3BE9:1F28, 1F38
3BE9:1F3D C6 06 03E7 00 mov byte ptr ds:[3E7h],0 ; (3BE9:03E7=0E9h)
3BE9:1F42 loc_428: ; xref 3BE9:2168
3BE9:1F42 ,8A 06 03E6 ;* mov al,byte ptr ds:[3E6h] ; (3BE9:03E6=3)
3BE9:1F42 db 8Ah, 06h,0E6h, 03h ; Fixup - byte match
3BE9:1F46 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1F48 73 03 jnc loc_429 ; Jump if carry=0
3BE9:1F4A E9 021E jmp loc_479 ; (216B)
3BE9:1F4D loc_429: ; xref 3BE9:1F48
3BE9:1F4D 8B 0E 0118 mov cx,data_9 ; (3BE9:0118=0)
3BE9:1F51 8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:1F51 db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:1F55 B4 00 mov ah,0
3BE9:1F57 2B C8 sub cx,ax
3BE9:1F59 49 dec cx
3BE9:1F5A ,51 push cx ; PARAMETER_1
3BE9:1F5B E8 F405 call sub_30 ; (1363)
3BE9:1F5E 88 06 03E8 ;* mov byte ptr ds:[3E8h],al ; (3BE9:03E8=0C8h)
3BE9:1F5E db 88h, 06h,0E8h, 03h ; Fixup - byte match
3BE9:1F62 80 F8 FF ;* cmp al,0FFh
3BE9:1F62 db 80h,0F8h,0FFh ; Fixup - byte match
3BE9:1F65 74 03 jz loc_430 ; Jump if zero
3BE9:1F67 E9 0006 jmpn loc_431 ; (1F70)
3BE9:1F6A loc_430: ; xref 3BE9:1F65
3BE9:1F6A B0 05 mov al,5
3BE9:1F6C ,50 push ax ; PARAMETER_1
3BE9:1F6D E8 EA2E call sub_21 ; (099E)
3BE9:1F70 loc_431: ; xref 3BE9:1F67
3BE9:1F70 8A 06 03E5 ;* mov al,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:1F70 db 8Ah, 06h,0E5h, 03h ; Fixup - byte match
3BE9:1F74 80 F8 03 ;* cmp al,3
3BE9:1F74 db 80h,0F8h, 03h ; Fixup - byte match
3BE9:1F77 75 03 jnz loc_432 ; Jump if not zero
3BE9:1F79 E9 0010 jmpn loc_434 ; (1F8C)
3BE9:1F7C loc_432: ; xref 3BE9:1F77
3BE9:1F7C 80 F8 05 ;* cmp al,5
3BE9:1F7C db 80h,0F8h, 05h ; Fixup - byte match
3BE9:1F7F 75 03 jnz loc_433 ; Jump if not zero
3BE9:1F81 E9 0008 jmpn loc_434 ; (1F8C)
3BE9:1F84 loc_433: ; xref 3BE9:1F7F
3BE9:1F84 80 F8 06 ;* cmp al,6
3BE9:1F84 db 80h,0F8h, 06h ; Fixup - byte match
3BE9:1F87 74 03 jz loc_434 ; Jump if zero
3BE9:1F89 E9 002B jmpn loc_438 ; (1FB7)
3BE9:1F8C loc_434: ; xref 3BE9:1F79, 1F81, 1F87
3BE9:1F8C 8A 06 020A ;* mov al,byte ptr ds:[20Ah] ; (3BE9:020A=0Dh)
3BE9:1F8C db 8Ah, 06h, 0Ah, 02h ; Fixup - byte match
3BE9:1F90 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1F92 73 03 jnc loc_435 ; Jump if carry=0
3BE9:1F94 E9 0020 jmpn loc_438 ; (1FB7)
3BE9:1F97 loc_435: ; xref 3BE9:1F92
3BE9:1F97 8A 1E 03E8 mov bl,byte ptr ds:[3E8h] ; (3BE9:03E8=0C8h)
3BE9:1F9B B7 00 mov bh,0
3BE9:1F9D 82 BF 0388 00 ;* cmp byte ptr ds:[388h][bx],0 ; (3BE9:0388=0C2h)
3BE9:1F9D db 82h,0BFh, 88h, 03h, 00h ; Fixup - byte match
3BE9:1FA2 75 03 jnz loc_436 ; Jump if not zero
3BE9:1FA4 E9 000A jmpn loc_437 ; (1FB1)
3BE9:1FA7 loc_436: ; xref 3BE9:1FA2
3BE9:1FA7 82 BF 0398 00 ;* cmp byte ptr ds:[398h][bx],0 ; (3BE9:0398=89h)
3BE9:1FA7 db 82h,0BFh, 98h, 03h, 00h ; Fixup - byte match
3BE9:1FAC 74 03 jz loc_437 ; Jump if zero
3BE9:1FAE E9 0006 jmpn loc_438 ; (1FB7)
3BE9:1FB1 loc_437: ; xref 3BE9:1FA4, 1FAC
3BE9:1FB1 B0 0C mov al,0Ch
3BE9:1FB3 ,50 push ax ; PARAMETER_1
3BE9:1FB4 E8 E9E7 call sub_21 ; (099E)
3BE9:1FB7 loc_438: ; xref 3BE9:1F89, 1F94, 1FAE
3BE9:1FB7 8A 06 03E5 ;* mov al,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:1FB7 db 8Ah, 06h,0E5h, 03h ; Fixup - byte match
3BE9:1FBB 80 F8 08 ;* cmp al,8
3BE9:1FBB db 80h,0F8h, 08h ; Fixup - byte match
3BE9:1FBE 75 03 jnz loc_439 ; Jump if not zero
3BE9:1FC0 E9 0010 jmpn loc_441 ; (1FD3)
3BE9:1FC3 loc_439: ; xref 3BE9:1FBE
3BE9:1FC3 80 F8 0A ;* cmp al,0Ah
3BE9:1FC3 db 80h,0F8h, 0Ah ; Fixup - byte match
3BE9:1FC6 75 03 jnz loc_440 ; Jump if not zero
3BE9:1FC8 E9 0008 jmpn loc_441 ; (1FD3)
3BE9:1FCB loc_440: ; xref 3BE9:1FC6
3BE9:1FCB 80 F8 0B ;* cmp al,0Bh
3BE9:1FCB db 80h,0F8h, 0Bh ; Fixup - byte match
3BE9:1FCE 74 03 jz loc_441 ; Jump if zero
3BE9:1FD0 E9 002B jmpn loc_445 ; (1FFE)
3BE9:1FD3 loc_441: ; xref 3BE9:1FC0, 1FC8, 1FCE
3BE9:1FD3 8A 06 020A ;* mov al,byte ptr ds:[20Ah] ; (3BE9:020A=0Dh)
3BE9:1FD3 db 8Ah, 06h, 0Ah, 02h ; Fixup - byte match
3BE9:1FD7 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:1FD9 73 03 jnc loc_442 ; Jump if carry=0
3BE9:1FDB E9 0020 jmpn loc_445 ; (1FFE)
3BE9:1FDE loc_442: ; xref 3BE9:1FD9
3BE9:1FDE 8A 1E 03E8 mov bl,byte ptr ds:[3E8h] ; (3BE9:03E8=0C8h)
3BE9:1FE2 B7 00 mov bh,0
3BE9:1FE4 82 BF 0378 00 ;* cmp byte ptr ds:[378h][bx],0 ; (3BE9:0378=5Eh)
3BE9:1FE4 db 82h,0BFh, 78h, 03h, 00h ; Fixup - byte match
3BE9:1FE9 75 03 jnz loc_443 ; Jump if not zero
3BE9:1FEB E9 000A jmpn loc_444 ; (1FF8)
3BE9:1FEE loc_443: ; xref 3BE9:1FE9
3BE9:1FEE 82 BF 0398 00 ;* cmp byte ptr ds:[398h][bx],0 ; (3BE9:0398=89h)
3BE9:1FEE db 82h,0BFh, 98h, 03h, 00h ; Fixup - byte match
3BE9:1FF3 74 03 jz loc_444 ; Jump if zero
3BE9:1FF5 E9 0006 jmpn loc_445 ; (1FFE)
3BE9:1FF8 loc_444: ; xref 3BE9:1FEB, 1FF3
3BE9:1FF8 B0 0C mov al,0Ch
3BE9:1FFA ,50 push ax ; PARAMETER_1
3BE9:1FFB E8 E9A0 call sub_21 ; (099E)
3BE9:1FFE loc_445: ; xref 3BE9:1FD0, 1FDB, 1FF5
3BE9:1FFE 80 3E 03E5 07 cmp byte ptr ds:[3E5h],7 ; (3BE9:03E5=0AEh)
3BE9:2003 74 03 je loc_446 ; Jump if equal
3BE9:2005 E9 002B jmpn loc_450 ; (2033)
3BE9:2008 loc_446: ; xref 3BE9:2003
3BE9:2008 8A 06 020A ;* mov al,byte ptr ds:[20Ah] ; (3BE9:020A=0Dh)
3BE9:2008 db 8Ah, 06h, 0Ah, 02h ; Fixup - byte match
3BE9:200C D0 D8 rcr al,1 ; Rotate thru carry
3BE9:200E 73 03 jnc loc_447 ; Jump if carry=0
3BE9:2010 E9 0020 jmpn loc_450 ; (2033)
3BE9:2013 loc_447: ; xref 3BE9:200E
3BE9:2013 8A 1E 03E8 mov bl,byte ptr ds:[3E8h] ; (3BE9:03E8=0C8h)
3BE9:2017 B7 00 mov bh,0
3BE9:2019 82 BF 0378 00 ;* cmp byte ptr ds:[378h][bx],0 ; (3BE9:0378=5Eh)
3BE9:2019 db 82h,0BFh, 78h, 03h, 00h ; Fixup - byte match
3BE9:201E 75 03 jnz loc_448 ; Jump if not zero
3BE9:2020 E9 000A jmpn loc_449 ; (202D)
3BE9:2023 loc_448: ; xref 3BE9:201E
3BE9:2023 82 BF 0388 00 ;* cmp byte ptr ds:[388h][bx],0 ; (3BE9:0388=0C2h)
3BE9:2023 db 82h,0BFh, 88h, 03h, 00h ; Fixup - byte match
3BE9:2028 74 03 jz loc_449 ; Jump if zero
3BE9:202A E9 0006 jmpn loc_450 ; (2033)
3BE9:202D loc_449: ; xref 3BE9:2020, 2028
3BE9:202D B0 0C mov al,0Ch
3BE9:202F ,50 push ax ; PARAMETER_1
3BE9:2030 E8 E96B call sub_21 ; (099E)
3BE9:2033 loc_450: ; xref 3BE9:2005, 2010, 202A
3BE9:2033 8A 1E 03E8 mov bl,byte ptr ds:[3E8h] ; (3BE9:03E8=0C8h)
3BE9:2037 B7 00 mov bh,0
3BE9:2039 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:203B D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:203D C4 87 01A2 les ax,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:2041 89 06 01E8 ;* mov word ptr ds:[1E8h],ax ; (3BE9:01E8=1806h)
3BE9:2041 db 89h, 06h,0E8h, 01h ; Fixup - byte match
3BE9:2045 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:2049 8A 06 03E5 ;* mov al,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:2049 db 8Ah, 06h,0E5h, 03h ; Fixup - byte match
3BE9:204D 80 F8 03 ;* cmp al,3
3BE9:204D db 80h,0F8h, 03h ; Fixup - byte match
3BE9:2050 75 03 jnz loc_451 ; Jump if not zero
3BE9:2052 E9 0018 jmpn loc_454 ; (206D)
3BE9:2055 loc_451: ; xref 3BE9:2050
3BE9:2055 80 F8 06 ;* cmp al,6
3BE9:2055 db 80h,0F8h, 06h ; Fixup - byte match
3BE9:2058 75 03 jnz loc_452 ; Jump if not zero
3BE9:205A E9 0010 jmpn loc_454 ; (206D)
3BE9:205D loc_452: ; xref 3BE9:2058
3BE9:205D 80 F8 08 ;* cmp al,8
3BE9:205D db 80h,0F8h, 08h ; Fixup - byte match
3BE9:2060 75 03 jnz loc_453 ; Jump if not zero
3BE9:2062 E9 0008 jmpn loc_454 ; (206D)
3BE9:2065 loc_453: ; xref 3BE9:2060
3BE9:2065 80 F8 0B ;* cmp al,0Bh
3BE9:2065 db 80h,0F8h, 0Bh ; Fixup - byte match
3BE9:2068 74 03 jz loc_454 ; Jump if zero
3BE9:206A E9 0019 jmpn loc_456 ; (2086)
3BE9:206D loc_454: ; xref 3BE9:2052, 205A, 2062, 2068
3BE9:206D C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:2071 26: 8A 47 0E mov al,es:[bx+0Eh]
3BE9:2075 B1 03 mov cl,3
3BE9:2077 22 C1 and al,cl
3BE9:2079 3A C1 cmp al,cl
3BE9:207B 75 03 jne loc_455 ; Jump if not equal
3BE9:207D E9 0006 jmpn loc_456 ; (2086)
3BE9:2080 loc_455: ; xref 3BE9:207B
3BE9:2080 B0 08 mov al,8
3BE9:2082 ,50 push ax ; PARAMETER_1
3BE9:2083 E8 E918 call sub_21 ; (099E)
3BE9:2086 loc_456: ; xref 3BE9:206A, 207D
3BE9:2086 8A 06 03E5 ;* mov al,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:2086 db 8Ah, 06h,0E5h, 03h ; Fixup - byte match
3BE9:208A 80 F8 04 ;* cmp al,4
3BE9:208A db 80h,0F8h, 04h ; Fixup - byte match
3BE9:208D 75 03 jnz loc_457 ; Jump if not zero
3BE9:208F E9 0008 jmpn loc_458 ; (209A)
3BE9:2092 loc_457: ; xref 3BE9:208D
3BE9:2092 80 F8 09 ;* cmp al,9
3BE9:2092 db 80h,0F8h, 09h ; Fixup - byte match
3BE9:2095 74 03 jz loc_458 ; Jump if zero
3BE9:2097 E9 0019 jmpn loc_461 ; (20B3)
3BE9:209A loc_458: ; xref 3BE9:208F, 2095
3BE9:209A C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:209E 26: 8A 47 0E mov al,es:[bx+0Eh]
3BE9:20A2 B1 01 mov cl,1
3BE9:20A4 22 C1 and al,cl
3BE9:20A6 3A C1 cmp al,cl
3BE9:20A8 75 03 jne loc_459 ; Jump if not equal
3BE9:20AA E9 0006 jmpn loc_461 ; (20B3)
3BE9:20AD loc_459: ; xref 3BE9:20A8
3BE9:20AD B0 06 mov al,6
3BE9:20AF ,50 push ax ; PARAMETER_1
;===== Indexed Entry Point ================================================
3BE9:20B0 loc_460: ; xref 3BE9:0F92
3BE9:20B0 E8 E8EB call sub_21 ; (099E)
3BE9:20B3 loc_461: ; xref 3BE9:2097, 20AA
3BE9:20B3 8A 06 03E5 ;* mov al,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:20B3 db 8Ah, 06h,0E5h, 03h ; Fixup - byte match
3BE9:20B7 80 F8 05 ;* cmp al,5
3BE9:20B7 db 80h,0F8h, 05h ; Fixup - byte match
3BE9:20BA 75 03 jnz loc_462 ; Jump if not zero
3BE9:20BC E9 0010 jmpn loc_464 ; (20CF)
3BE9:20BF loc_462: ; xref 3BE9:20BA
3BE9:20BF 80 F8 07 ;* cmp al,7
3BE9:20BF db 80h,0F8h, 07h ; Fixup - byte match
3BE9:20C2 75 03 jnz loc_463 ; Jump if not zero
3BE9:20C4 E9 0008 jmpn loc_464 ; (20CF)
3BE9:20C7 loc_463: ; xref 3BE9:20C2
3BE9:20C7 80 F8 0A ;* cmp al,0Ah
3BE9:20C7 db 80h,0F8h, 0Ah ; Fixup - byte match
3BE9:20CA 74 03 jz loc_464 ; Jump if zero
3BE9:20CC E9 0019 jmpn loc_466 ; (20E8)
3BE9:20CF loc_464: ; xref 3BE9:20BC, 20C4, 20CA
3BE9:20CF C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:20D3 26: 8A 47 0E mov al,es:[bx+0Eh]
3BE9:20D7 B1 02 mov cl,2
3BE9:20D9 22 C1 and al,cl
3BE9:20DB 3A C1 cmp al,cl
3BE9:20DD 75 03 jne loc_465 ; Jump if not equal
3BE9:20DF E9 0006 jmpn loc_466 ; (20E8)
3BE9:20E2 loc_465: ; xref 3BE9:20DD
3BE9:20E2 B0 07 mov al,7
3BE9:20E4 ,50 push ax ; PARAMETER_1
3BE9:20E5 E8 E8B6 call sub_21 ; (099E)
3BE9:20E8 loc_466: ; xref 3BE9:20CC, 20DF
3BE9:20E8 8A 06 03E8 ;* mov al,byte ptr ds:[3E8h] ; (3BE9:03E8=0C8h)
3BE9:20E8 db 8Ah, 06h,0E8h, 03h ; Fixup - byte match
3BE9:20EC 8A 1E 03E7 mov bl,byte ptr ds:[3E7h] ; (3BE9:03E7=0E9h)
3BE9:20F0 B7 00 mov bh,0
3BE9:20F2 88 87 0210 mov byte ptr ds:[210h][bx],al ; (3BE9:0210=1)
3BE9:20F6 FE 06 03E7 inc byte ptr ds:[3E7h] ; (3BE9:03E7=0E9h)
3BE9:20FA 80 3E 0321 01 cmp byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:20FF 74 03 je loc_467 ; Jump if equal
3BE9:2101 E9 0004 jmpn loc_468 ; (2108)
3BE9:2104 loc_467: ; xref 3BE9:20FF
3BE9:2104 50 push ax
3BE9:2105 E8 F7BB call sub_37 ; (18C3)
3BE9:2108 loc_468: ; xref 3BE9:2101
3BE9:2108 8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:2108 db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:210C 08 C0 ;* or al,al ; Zero ?
3BE9:210C db 08h,0C0h ; Fixup - byte match
3BE9:210E 75 03 jnz loc_469 ; Jump if not zero
3BE9:2110 E9 001C jmpn loc_472 ; (212F)
3BE9:2113 loc_469: ; xref 3BE9:210E
3BE9:2113 80 F8 08 ;* cmp al,8
3BE9:2113 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:2116 75 03 jnz loc_470 ; Jump if not zero
3BE9:2118 E9 0014 jmpn loc_472 ; (212F)
3BE9:211B loc_470: ; xref 3BE9:2116
3BE9:211B 80 F8 02 ;* cmp al,2
3BE9:211B db 80h,0F8h, 02h ; Fixup - byte match
3BE9:211E 74 03 jz loc_471 ; Jump if zero
3BE9:2120 E9 0011 jmpn loc_473 ; (2134)
3BE9:2123 loc_471: ; xref 3BE9:211E
3BE9:2123 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:2127 82 3F 00 ;* cmp byte ptr [bx],0
3BE9:2127 db 82h, 3Fh, 00h ; Fixup - byte match
3BE9:212A 74 03 jz loc_472 ; Jump if zero
3BE9:212C E9 0005 jmpn loc_473 ; (2134)
3BE9:212F loc_472: ; xref 3BE9:2110, 2118, 212A
3BE9:212F C6 06 03E6 01 mov byte ptr ds:[3E6h],1 ; (3BE9:03E6=3)
3BE9:2134 loc_473: ; xref 3BE9:2120, 212C
3BE9:2134 80 3E 0321 02 cmp byte ptr ds:[321h],2 ; (3BE9:0321=8Bh)
3BE9:2139 74 03 je loc_474 ; Jump if equal
3BE9:213B E9 0010 jmpn loc_476 ; (214E)
3BE9:213E loc_474: ; xref 3BE9:2139
3BE9:213E 8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:2142 80 3F 2C cmp byte ptr [bx],2Ch ; ','
3BE9:2145 74 03 je loc_475 ; Jump if equal
3BE9:2147 E9 0004 jmpn loc_476 ; (214E)
3BE9:214A loc_475: ; xref 3BE9:2145
3BE9:214A FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:214E loc_476: ; xref 3BE9:213B, 2147
3BE9:214E 8A 06 03E6 ;* mov al,byte ptr ds:[3E6h] ; (3BE9:03E6=3)
3BE9:214E db 8Ah, 06h,0E6h, 03h ; Fixup - byte match
3BE9:2152 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:2154 73 03 jnc loc_477 ; Jump if carry=0
3BE9:2156 E9 000F jmpn loc_478 ; (2168)
3BE9:2159 loc_477: ; xref 3BE9:2154
3BE9:2159 B8 0590 mov ax,590h
3BE9:215C 50 push ax
3BE9:215D B8 05C6 mov ax,5C6h
3BE9:2160 50 push ax
3BE9:2161 E8 E28A call sub_10 ; (03EE)
3BE9:2164 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:2164 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:2168 loc_478: ; xref 3BE9:2156
3BE9:2168 E9 FDD7 jmp loc_428 ; (1F42)
3BE9:216B loc_479: ; xref 3BE9:1F4A
3BE9:216B 8A 1E 03E5 mov bl,byte ptr ds:[3E5h] ; (3BE9:03E5=0AEh)
3BE9:216F B7 00 mov bh,0
3BE9:2171 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:2173 2E: FF A7 218D jmp word ptr cs:[218Dh][bx] ;*(3BE9:218D=3B0h)
sub_42 endp
3BE9:2178 E9 00AA jmp loc_480 ; (2225)
3BE9:217B E9 00A7 jmp loc_480 ; (2225)
3BE9:217E E9 00A4 jmp loc_480 ; (2225)
;* No entry point to code
3BE9:2181 B0 00 mov al,0
3BE9:2183 ,50 push ax ; PARAMETER_2
3BE9:2184 B0 03 mov al,3
3BE9:2186 50 push ax ; PARAMETER_1
3BE9:2187 E8 EA1A call sub_23 ; (0BA4)
3BE9:218A B0 01 mov al,1
3BE9:218C ,50 push ax ; PARAMETER_2
3BE9:218D B0 03 mov al,3
3BE9:218F 50 push ax ; PARAMETER_1
3BE9:2190 E8 EA11 call sub_23 ; (0BA4)
3BE9:2193 E9 008F jmp loc_480 ; (2225)
;* No entry point to code
3BE9:2196 B0 00 mov al,0
3BE9:2198 ,50 push ax ; PARAMETER_2
3BE9:2199 B0 01 mov al,1
3BE9:219B 50 push ax ; PARAMETER_1
3BE9:219C E8 EA05 call sub_23 ; (0BA4)
3BE9:219F E9 0083 jmp loc_480 ; (2225)
;* No entry point to code
3BE9:21A2 B0 01 mov al,1
3BE9:21A4 ,50 push ax ; PARAMETER_2
3BE9:21A5 B0 02 mov al,2
3BE9:21A7 50 push ax ; PARAMETER_1
3BE9:21A8 E8 E9F9 call sub_23 ; (0BA4)
3BE9:21AB E9 0077 jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:21AE B0 00 mov al,0
3BE9:21B0 ,50 push ax ; PARAMETER_2
3BE9:21B1 B0 03 mov al,3
3BE9:21B3 50 push ax ; PARAMETER_1
3BE9:21B4 E8 E9ED call sub_23 ; (0BA4)
3BE9:21B7 B0 01 mov al,1
3BE9:21B9 ,50 push ax ; PARAMETER_2
3BE9:21BA B0 03 mov al,3
3BE9:21BC 50 push ax ; PARAMETER_1
3BE9:21BD E8 E9E4 call sub_23 ; (0BA4)
3BE9:21C0 E9 0062 jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:21C3 B0 04 mov al,4
3BE9:21C5 ,50 push ax ; PARAMETER_2
3BE9:21C6 B0 02 mov al,2
3BE9:21C8 50 push ax ; PARAMETER_1
3BE9:21C9 E8 E9D8 call sub_23 ; (0BA4)
3BE9:21CC E9 0056 jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:21CF B0 02 mov al,2
3BE9:21D1 ,50 push ax ; PARAMETER_2
3BE9:21D2 B0 03 mov al,3
3BE9:21D4 50 push ax ; PARAMETER_1
3BE9:21D5 E8 E9CC call sub_23 ; (0BA4)
3BE9:21D8 B0 03 mov al,3
3BE9:21DA ,50 push ax ; PARAMETER_2
3BE9:21DB 50 push ax ; PARAMETER_1
3BE9:21DC E8 E9C5 call sub_23 ; (0BA4)
3BE9:21DF E9 0043 jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:21E2 B0 02 mov al,2
3BE9:21E4 ,50 push ax ; PARAMETER_2
3BE9:21E5 B0 01 mov al,1
3BE9:21E7 50 push ax ; PARAMETER_1
3BE9:21E8 E8 E9B9 call sub_23 ; (0BA4)
3BE9:21EB E9 0037 jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:21EE B0 03 mov al,3
3BE9:21F0 ,50 push ax ; PARAMETER_2
3BE9:21F1 B0 02 mov al,2
3BE9:21F3 50 push ax ; PARAMETER_1
3BE9:21F4 E8 E9AD call sub_23 ; (0BA4)
3BE9:21F7 E9 002B jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:21FA B0 02 mov al,2
3BE9:21FC ,50 push ax ; PARAMETER_2
3BE9:21FD B0 03 mov al,3
3BE9:21FF 50 push ax ; PARAMETER_1
3BE9:2200 E8 E9A1 call sub_23 ; (0BA4)
3BE9:2203 B0 03 mov al,3
3BE9:2205 ,50 push ax ; PARAMETER_2
3BE9:2206 50 push ax ; PARAMETER_1
3BE9:2207 E8 E99A call sub_23 ; (0BA4)
3BE9:220A E9 0018 jmpn loc_480 ; (2225)
;* No entry point to code
3BE9:220D F8 clc ; Clear carry flag
3BE9:220E 20 FB ;* and bl,bh
3BE9:220E db 20h,0FBh ; Fixup - byte match
3BE9:2210 20 FE ;* and dh,bh
3BE9:2210 db 20h,0FEh ; Fixup - byte match
3BE9:2212 20 01 and [bx+di],al
3BE9:2214 21 16 2221 and data_140,dx ; (3BE9:2221=216Eh)
3BE9:2218 21 2E 4321 and ds:data_153e,bp ; (3BE9:4321=0)
3BE9:221C 21 4F 21 and [bx+21h],cx
3BE9:221F 62 21 db 62h, 21h
3BE9:2221 216E data_140 dw 216Eh ; xref 3BE9:2214
3BE9:2223 7A 21 db 7Ah, 21h
3BE9:2225 loc_480: ; xref 3BE9:1F12, 2178, 217B, 217E
; 2193, 219F, 21AB, 21C0
; 21CC, 21DF, 21EB, 21F7
; 220A
3BE9:2225 5D pop bp
3BE9:2226 C3 retn
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:23BF
;==========================================================================
3BE9:2227 sub_43 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:2227 55 push bp
3BE9:2228 8B EC mov bp,sp
3BE9:222A 8A 5E 04 mov bl,[bp+PARAMETER_1]
3BE9:222D B7 00 mov bh,0
3BE9:222F D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:2231 D1 E3 shl bx,1 ; Shift w/zeros fill
3BE9:2233 C4 9F 01A2 les bx,dword ptr ds:[1A2h][bx] ; (3BE9:01A2=72D8h) Load seg:offset pt
3BE9:2237 89 1E 01E8 mov word ptr ds:[1E8h],bx ; (3BE9:01E8=1806h)
3BE9:223B 8C 06 01EA mov word ptr ds:[1EAh],es ; (3BE9:01EA=8101h)
3BE9:223F 26: 8A 47 0E mov al,es:[bx+0Eh]
3BE9:2243 88 06 03E9 ;* mov byte ptr ds:[3E9h],al ; (3BE9:03E9=0FFh)
3BE9:2243 db 88h, 06h,0E9h, 03h ; Fixup - byte match
3BE9:2247 E8 E71E call sub_19 ; (0968)
3BE9:224A B8 08C4 mov ax,8C4h
3BE9:224D ,50 push ax ; PARAMETER_1
3BE9:224E E8 E0B8 call sub_3 ; (0309)
3BE9:2251 FF 76 04 push word ptr [bp+PARAMETER_1]
3BE9:2254 E8 EABB call sub_24 ; (0D12)
3BE9:2257 E8 E70E call sub_19 ; (0968)
3BE9:225A B8 08DC mov ax,8DCh
3BE9:225D ,50 push ax ; PARAMETER_1
3BE9:225E E8 E0A8 call sub_3 ; (0309)
3BE9:2261 ,FF 76 04 push word ptr [bp+PARAMETER_1] ; PARAMETER_1
3BE9:2264 E8 EAEF call sub_25 ; (0D56)
3BE9:2267 E8 E6FE call sub_19 ; (0968)
3BE9:226A B8 08EE mov ax,8EEh
3BE9:226D ,50 push ax ; PARAMETER_1
3BE9:226E E8 E098 call sub_3 ; (0309)
3BE9:2271 C6 06 03EA 00 mov byte ptr ds:[3EAh],0 ; (3BE9:03EA=5Dh)
3BE9:2276 loc_481: ; xref 3BE9:22FE
3BE9:2276 ,8A 06 03EA ;* mov al,byte ptr ds:[3EAh] ; (3BE9:03EA=5Dh)
3BE9:2276 db 8Ah, 06h,0EAh, 03h ; Fixup - byte match
3BE9:227A 80 F8 03 ;* cmp al,3
3BE9:227A db 80h,0F8h, 03h ; Fixup - byte match
3BE9:227D 76 03 jbe loc_482 ; Jump if below or =
3BE9:227F E9 007F jmpn loc_492 ; (2301)
3BE9:2282 loc_482: ; xref 3BE9:227D
3BE9:2282 D0 2E 03E9 shr byte ptr ds:[3E9h],1 ; (3BE9:03E9=0FFh) Shift w/zeros fill
3BE9:2286 18 C0 ;* sbb al,al
3BE9:2286 db 18h,0C0h ; Fixup - byte match
3BE9:2288 80 F8 FF ;* cmp al,0FFh
3BE9:2288 db 80h,0F8h,0FFh ; Fixup - byte match
3BE9:228B 74 03 jz loc_483 ; Jump if zero
3BE9:228D E9 0036 jmpn loc_487 ; (22C6)
3BE9:2290 loc_483: ; xref 3BE9:228B
3BE9:2290 8A 06 03EA ;* mov al,byte ptr ds:[3EAh] ; (3BE9:03EA=5Dh)
3BE9:2290 db 8Ah, 06h,0EAh, 03h ; Fixup - byte match
3BE9:2294 B1 0A mov cl,0Ah
3BE9:2296 F6 E1 mul cl ; ax = reg * al
3BE9:2298 8B F0 mov si,ax
3BE9:229A 8D 84 0834 lea ax,cs:[834h][si] ; Load effective addr
3BE9:229E ,50 push ax ; PARAMETER_1
3BE9:229F E8 E067 call sub_3 ; (0309)
3BE9:22A2 E8 E6C3 call sub_19 ; (0968)
3BE9:22A5 C6 06 03EB 00 mov byte ptr ds:[3EBh],0 ; (3BE9:03EB=0C2h)
3BE9:22AA loc_484: ; xref 3BE9:22C0
3BE9:22AA ,80 3E 03EB 10 cmp byte ptr ds:[3EBh],10h ; (3BE9:03EB=0C2h)
3BE9:22AF 76 03 jbe loc_485 ; Jump if below or =
3BE9:22B1 E9 000F jmpn loc_486 ; (22C3)
3BE9:22B4 loc_485: ; xref 3BE9:22AF
3BE9:22B4 B0 20 mov al,20h ; ' '
3BE9:22B6 ,50 push ax ; PARAMETER_1
3BE9:22B7 E8 E03C call sub_2 ; (02F6)
3BE9:22BA FE 06 03EB inc byte ptr ds:[3EBh] ; (3BE9:03EB=0C2h)
3BE9:22BE 74 03 jz loc_486 ; Jump if zero
3BE9:22C0 E9 FFE7 ;* jmp loc_484 ; (22AA) Register jump
3BE9:22C0 db 0E9h,0E7h,0FFh ; Fixup - byte match
3BE9:22C3 loc_486: ; xref 3BE9:22B1, 22BE
3BE9:22C3 E9 0032 jmpn loc_491 ; (22F8)
3BE9:22C6 loc_487: ; xref 3BE9:228D
3BE9:22C6 80 3E 03EA 03 cmp byte ptr ds:[3EAh],3 ; (3BE9:03EA=5Dh)
3BE9:22CB 74 03 je loc_488 ; Jump if equal
3BE9:22CD E9 0028 jmpn loc_491 ; (22F8)
3BE9:22D0 loc_488: ; xref 3BE9:22CB
3BE9:22D0 B8 0900 mov ax,900h
3BE9:22D3 ,50 push ax ; PARAMETER_1
3BE9:22D4 E8 E032 call sub_3 ; (0309)
3BE9:22D7 E8 E68E call sub_19 ; (0968)
3BE9:22DA C6 06 03EB 00 mov byte ptr ds:[3EBh],0 ; (3BE9:03EB=0C2h)
3BE9:22DF loc_489: ; xref 3BE9:22F5
3BE9:22DF ,80 3E 03EB 10 cmp byte ptr ds:[3EBh],10h ; (3BE9:03EB=0C2h)
3BE9:22E4 76 03 jbe loc_490 ; Jump if below or =
3BE9:22E6 E9 000F jmpn loc_491 ; (22F8)
3BE9:22E9 loc_490: ; xref 3BE9:22E4
3BE9:22E9 B0 20 mov al,20h ; ' '
3BE9:22EB ,50 push ax ; PARAMETER_1
3BE9:22EC E8 E007 call sub_2 ; (02F6)
3BE9:22EF FE 06 03EB inc byte ptr ds:[3EBh] ; (3BE9:03EB=0C2h)
3BE9:22F3 74 03 jz loc_491 ; Jump if zero
3BE9:22F5 E9 FFE7 ;* jmp loc_489 ; (22DF)
3BE9:22F5 db 0E9h,0E7h,0FFh ; Fixup - byte match
3BE9:22F8 loc_491: ; xref 3BE9:22C3, 22CD, 22E6, 22F3
3BE9:22F8 FE 06 03EA inc byte ptr ds:[3EAh] ; (3BE9:03EA=5Dh)
3BE9:22FC 74 03 jz loc_492 ; Jump if zero
3BE9:22FE E9 FF75 jmp loc_481 ; (2276)
3BE9:2301 loc_492: ; xref 3BE9:227F, 22FC
3BE9:2301 C4 1E 01E8 les bx,dword ptr ds:[1E8h] ; (3BE9:01E8=1806h) Load seg:offset pt
3BE9:2305 26: 8B 47 06 mov ax,es:[bx+6]
3BE9:2309 89 06 0208 ;* mov word ptr ds:[208h],ax ; (3BE9:0208=0E903h)
3BE9:2309 db 89h, 06h, 08h, 02h ; Fixup - byte match
3BE9:230D C6 06 03EA 00 mov byte ptr ds:[3EAh],0 ; (3BE9:03EA=5Dh)
3BE9:2312 loc_493: ; xref 3BE9:2365
3BE9:2312 ,8A 06 03EA ;* mov al,byte ptr ds:[3EAh] ; (3BE9:03EA=5Dh)
3BE9:2312 db 8Ah, 06h,0EAh, 03h ; Fixup - byte match
3BE9:2316 80 F8 0F ;* cmp al,0Fh
3BE9:2316 db 80h,0F8h, 0Fh ; Fixup - byte match
3BE9:2319 76 03 jbe loc_494 ; Jump if below or =
3BE9:231B E9 004A jmpn loc_499 ; (2368)
3BE9:231E loc_494: ; xref 3BE9:2319
3BE9:231E D1 2E 0208 shr word ptr ds:[208h],1 ; (3BE9:0208=0E903h) Shift w/zeros fil
3BE9:2322 18 C0 ;* sbb al,al
3BE9:2322 db 18h,0C0h ; Fixup - byte match
3BE9:2324 80 F8 FF ;* cmp al,0FFh
3BE9:2324 db 80h,0F8h,0FFh ; Fixup - byte match
3BE9:2327 74 03 jz loc_495 ; Jump if zero
3BE9:2329 E9 0033 jmpn loc_498 ; (235F)
3BE9:232C loc_495: ; xref 3BE9:2327
3BE9:232C 8A 06 03EA ;* mov al,byte ptr ds:[3EAh] ; (3BE9:03EA=5Dh)
3BE9:232C db 8Ah, 06h,0EAh, 03h ; Fixup - byte match
3BE9:2330 B1 12 mov cl,12h
3BE9:2332 F6 E1 mul cl ; ax = reg * al
3BE9:2334 8B F0 mov si,ax
3BE9:2336 8D 84 09D4 lea ax,cs:[9D4h][si] ; Load effective addr
3BE9:233A ,50 push ax ; PARAMETER_1
3BE9:233B E8 DFCB call sub_3 ; (0309)
3BE9:233E E8 E627 call sub_19 ; (0968)
3BE9:2341 C6 06 03EB 00 mov byte ptr ds:[3EBh],0 ; (3BE9:03EB=0C2h)
3BE9:2346 loc_496: ; xref 3BE9:235C
3BE9:2346 ,80 3E 03EB 10 cmp byte ptr ds:[3EBh],10h ; (3BE9:03EB=0C2h)
3BE9:234B 76 03 jbe loc_497 ; Jump if below or =
3BE9:234D E9 000F jmpn loc_498 ; (235F)
3BE9:2350 loc_497: ; xref 3BE9:234B
3BE9:2350 B0 20 mov al,20h ; ' '
3BE9:2352 ,50 push ax ; PARAMETER_1
3BE9:2353 E8 DFA0 call sub_2 ; (02F6)
3BE9:2356 FE 06 03EB inc byte ptr ds:[3EBh] ; (3BE9:03EB=0C2h)
3BE9:235A 74 03 jz loc_498 ; Jump if zero
3BE9:235C E9 FFE7 ;* jmp loc_496 ; (2346)
3BE9:235C db 0E9h,0E7h,0FFh ; Fixup - byte match
3BE9:235F loc_498: ; xref 3BE9:2329, 234D, 235A
3BE9:235F FE 06 03EA inc byte ptr ds:[3EAh] ; (3BE9:03EA=5Dh)
3BE9:2363 74 03 jz loc_499 ; Jump if zero
3BE9:2365 E9 FFAA ;* jmp loc_493 ; (2312)
3BE9:2365 db 0E9h,0AAh,0FFh ; Fixup - byte match
3BE9:2368 loc_499: ; xref 3BE9:231B, 2363
3BE9:2368 B0 00 mov al,0
3BE9:236A ,50 push ax ; PARAMETER_2
3BE9:236B B4 00 mov ah,0
3BE9:236D 50 push ax ; PARAMETER_1
3BE9:236E E8 DD25 call sub_1 ; (0096)
3BE9:2371 5D pop bp
3BE9:2372 C2 0002 retn 2
sub_43 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:249C
;==========================================================================
3BE9:2375 sub_44 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:2375 55 push bp
3BE9:2376 8B EC mov bp,sp
3BE9:2378 8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:2378 db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:237C 08 C0 ;* or al,al ; Zero ?
3BE9:237C db 08h,0C0h ; Fixup - byte match
3BE9:237E 75 03 jnz loc_500 ; Jump if not zero
3BE9:2380 E9 0008 jmpn loc_501 ; (238B)
3BE9:2383 loc_500: ; xref 3BE9:237E
3BE9:2383 80 F8 08 ;* cmp al,8
3BE9:2383 db 80h,0F8h, 08h ; Fixup - byte match
3BE9:2386 74 03 jz loc_501 ; Jump if zero
3BE9:2388 E9 0008 jmpn loc_502 ; (2393)
3BE9:238B loc_501: ; xref 3BE9:2380, 2386
3BE9:238B C6 06 03EC 01 mov byte ptr ds:[3ECh],1 ; (3BE9:03EC=2)
3BE9:2390 E9 0005 jmpn loc_503 ; (2398)
3BE9:2393 loc_502: ; xref 3BE9:2388
3BE9:2393 C6 06 03EC 00 mov byte ptr ds:[3ECh],0 ; (3BE9:03EC=2)
3BE9:2398 loc_503: ; xref 3BE9:2390
3BE9:2398 ,FF 76 04 push word ptr [bp+PARAMETER_1] ; PARAMETER_1
3BE9:239B E8 EFC5 call sub_30 ; (1363)
3BE9:239E 88 06 03ED ;* mov byte ptr ds:[3EDh],al ; (3BE9:03ED=0)
3BE9:239E db 88h, 06h,0EDh, 03h ; Fixup - byte match
3BE9:23A2 80 F8 FF ;* cmp al,0FFh
3BE9:23A2 db 80h,0F8h,0FFh ; Fixup - byte match
3BE9:23A5 74 03 jz loc_504 ; Jump if zero
3BE9:23A7 E9 0006 jmpn loc_505 ; (23B0)
3BE9:23AA loc_504: ; xref 3BE9:23A5
3BE9:23AA B0 05 mov al,5
3BE9:23AC ,50 push ax ; PARAMETER_1
3BE9:23AD E8 E5EE call sub_21 ; (099E)
3BE9:23B0 loc_505: ; xref 3BE9:23A7
3BE9:23B0 8A 06 03EC ;* mov al,byte ptr ds:[3ECh] ; (3BE9:03EC=2)
3BE9:23B0 db 8Ah, 06h,0ECh, 03h ; Fixup - byte match
3BE9:23B4 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:23B6 72 03 jc loc_506 ; Jump if carry Set
3BE9:23B8 E9 0007 jmpn loc_507 ; (23C2)
3BE9:23BB loc_506: ; xref 3BE9:23B6
3BE9:23BB ,FF 36 03ED push word ptr ds:[3EDh] ; PARAMETER_1 (3BE9:03ED=5900h)
3BE9:23BF E8 FE65 call sub_43 ; (2227)
3BE9:23C2 loc_507: ; xref 3BE9:23B8
3BE9:23C2 80 3E 0321 01 cmp byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:23C7 74 03 je loc_508 ; Jump if equal
3BE9:23C9 E9 000A jmpn loc_509 ; (23D6)
3BE9:23CC loc_508: ; xref 3BE9:23C7
3BE9:23CC FF 36 03ED push word ptr ds:[3EDh] ; (3BE9:03ED=5900h)
3BE9:23D0 E8 F4F0 call sub_37 ; (18C3)
3BE9:23D3 E9 003A jmpn loc_514 ; (2410)
3BE9:23D6 loc_509: ; xref 3BE9:23C9, 23EF
3BE9:23D6 ,8B 1E 0118 mov bx,data_9 ; (3BE9:0118=0)
3BE9:23DA ,FF 37 push word ptr [bx] ; PARAMETER_1
3BE9:23DC E8 DFCB call sub_9 ; (03AA)
3BE9:23DF 88 06 0321 ;* mov byte ptr ds:[321h],al ; (3BE9:0321=8Bh)
3BE9:23DF db 88h, 06h, 21h, 03h ; Fixup - byte match
3BE9:23E3 80 F8 05 ;* cmp al,5
3BE9:23E3 db 80h,0F8h, 05h ; Fixup - byte match
3BE9:23E6 74 03 jz loc_510 ; Jump if zero
3BE9:23E8 E9 0007 jmpn loc_511 ; (23F2)
3BE9:23EB loc_510: ; xref 3BE9:23E6
3BE9:23EB FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:23EF E9 FFE4 ;* jmp loc_509 ; (23D6)
3BE9:23EF db 0E9h,0E4h,0FFh ; Fixup - byte match
3BE9:23F2 loc_511: ; xref 3BE9:23E8
3BE9:23F2 80 3E 0321 01 cmp byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:23F7 74 03 je loc_512 ; Jump if equal
3BE9:23F9 E9 000E jmpn loc_513 ; (240A)
3BE9:23FC loc_512: ; xref 3BE9:23F7
3BE9:23FC FF 06 0118 inc data_9 ; (3BE9:0118=0)
3BE9:2400 FF 36 03ED push word ptr ds:[3EDh] ; (3BE9:03ED=5900h)
3BE9:2404 E8 F4BC call sub_37 ; (18C3)
3BE9:2407 E9 0006 jmpn loc_514 ; (2410)
3BE9:240A loc_513: ; xref 3BE9:23F9
3BE9:240A B0 02 mov al,2
3BE9:240C ,50 push ax ; PARAMETER_1
3BE9:240D E8 E58E call sub_21 ; (099E)
3BE9:2410 loc_514: ; xref 3BE9:23D3, 2407
3BE9:2410 5D pop bp
3BE9:2411 C2 0002 retn 2
sub_44 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0216, 02E4, 02EA
;==========================================================================
3BE9:2414 sub_45 proc near
3BE9:2414 ,55 push bp
3BE9:2415 8B EC mov bp,sp
3BE9:2417 C6 06 0321 01 mov byte ptr ds:[321h],1 ; (3BE9:0321=8Bh)
3BE9:241C C6 06 031F 00 mov byte ptr ds:[31Fh],0 ; (3BE9:031F=0B4h)
3BE9:2421 82 3E 0080 00 ;* cmp data_3,0 ; (3BE9:0080=9Ch)
3BE9:2421 db 82h, 3Eh, 80h, 00h, 00h ; Fixup - byte match
3BE9:2426 74 03 jz loc_515 ; Jump if zero
3BE9:2428 E9 000E jmpn loc_516 ; (2439)
3BE9:242B loc_515: ; xref 3BE9:2426
3BE9:242B B8 0222 mov ax,222h
3BE9:242E 89 06 0118 ;* mov data_9,ax ; (3BE9:0118=0)
3BE9:242E db 89h, 06h, 18h, 01h ; Fixup - byte match
3BE9:2432 89 06 0114 ;* mov data_7,ax ; (3BE9:0114=0)
3BE9:2432 db 89h, 06h, 14h, 01h ; Fixup - byte match
3BE9:2436 E9 0014 jmpn loc_517 ; (244D)
3BE9:2439 loc_516: ; xref 3BE9:2428
3BE9:2439 C7 06 0118 0082 mov data_9,82h ; (3BE9:0118=0)
3BE9:243F C7 06 0114 0081 mov data_7,81h ; (3BE9:0114=0)
3BE9:2445 8A 06 0080 ;* mov al,data_3 ; (3BE9:0080=9Ch)
3BE9:2445 db 8Ah, 06h, 80h, 00h ; Fixup - byte match
3BE9:2449 88 06 020B ;* mov byte ptr ds:[20Bh],al ; (3BE9:020B=0)
3BE9:2449 db 88h, 06h, 0Bh, 02h ; Fixup - byte match
3BE9:244D loc_517: ; xref 3BE9:2436
3BE9:244D B8 0536 mov ax,536h
3BE9:2450 50 push ax
3BE9:2451 B8 0584 mov ax,584h
3BE9:2454 50 push ax
3BE9:2455 E8 DF96 call sub_10 ; (03EE)
3BE9:2458 88 06 031F ;* mov byte ptr ds:[31Fh],al ; (3BE9:031F=0B4h)
3BE9:2458 db 88h, 06h, 1Fh, 03h ; Fixup - byte match
3BE9:245C 8A 06 0321 ;* mov al,byte ptr ds:[321h] ; (3BE9:0321=8Bh)
3BE9:245C db 8Ah, 06h, 21h, 03h ; Fixup - byte match
3BE9:2460 08 C0 ;* or al,al ; Zero ?
3BE9:2460 db 08h,0C0h ; Fixup - byte match
3BE9:2462 75 03 jnz loc_518 ; Jump if not zero
3BE9:2464 E9 0010 jmpn loc_520 ; (2477)
3BE9:2467 loc_518: ; xref 3BE9:2462
3BE9:2467 80 F8 02 ;* cmp al,2
3BE9:2467 db 80h,0F8h, 02h ; Fixup - byte match
3BE9:246A 75 03 jnz loc_519 ; Jump if not zero
3BE9:246C E9 0008 jmpn loc_520 ; (2477)
3BE9:246F loc_519: ; xref 3BE9:246A
3BE9:246F 80 F8 08 ;* cmp al,8
3BE9:246F db 80h,0F8h, 08h ; Fixup - byte match
3BE9:2472 74 03 jz loc_520 ; Jump if zero
3BE9:2474 E9 0008 jmpn loc_521 ; (247F)
3BE9:2477 loc_520: ; xref 3BE9:2464, 246C, 2472
3BE9:2477 C6 06 03EE 01 mov byte ptr ds:[3EEh],1 ; (3BE9:03EE=59h)
3BE9:247C E9 0005 jmpn loc_522 ; (2484)
3BE9:247F loc_521: ; xref 3BE9:2474
3BE9:247F C6 06 03EE 00 mov byte ptr ds:[3EEh],0 ; (3BE9:03EE=59h)
3BE9:2484 loc_522: ; xref 3BE9:247C
3BE9:2484 82 3E 031F 00 ;* cmp byte ptr ds:[31Fh],0 ; (3BE9:031F=0B4h)
3BE9:2484 db 82h, 3Eh, 1Fh, 03h, 00h ; Fixup - byte match
3BE9:2489 74 03 jz loc_523 ; Jump if zero
3BE9:248B E9 001A jmpn loc_524 ; (24A8)
3BE9:248E loc_523: ; xref 3BE9:2489
3BE9:248E 8B 0E 0118 mov cx,data_9 ; (3BE9:0118=0)
3BE9:2492 8A 06 0320 ;* mov al,byte ptr ds:[320h] ; (3BE9:0320=0)
3BE9:2492 db 8Ah, 06h, 20h, 03h ; Fixup - byte match
3BE9:2496 B4 00 mov ah,0
3BE9:2498 2B C8 sub cx,ax
3BE9:249A 49 dec cx
3BE9:249B ,51 push cx ; PARAMETER_1
3BE9:249C E8 FED6 call sub_44 ; (2375)
3BE9:249F E8 EC29 call sub_27 ; (10CB)
3BE9:24A2 E8 EE66 call sub_29 ; (130B)
3BE9:24A5 E9 0054 jmpn loc_535 ; (24FC)
3BE9:24A8 loc_524: ; xref 3BE9:248B
3BE9:24A8 80 3E 031F 01 cmp byte ptr ds:[31Fh],1 ; (3BE9:031F=0B4h)
3BE9:24AD 74 03 je loc_525 ; Jump if equal
3BE9:24AF E9 001A jmpn loc_529 ; (24CC)
3BE9:24B2 loc_525: ; xref 3BE9:24AD
3BE9:24B2 8A 06 03EE ;* mov al,byte ptr ds:[3EEh] ; (3BE9:03EE=59h)
3BE9:24B2 db 8Ah, 06h,0EEh, 03h ; Fixup - byte match
3BE9:24B6 D0 D8 rcr al,1 ; Rotate thru carry
3BE9:24B8 72 03 jc loc_526 ; Jump if carry Set
3BE9:24BA E9 0006 jmpn loc_527 ; (24C3)
3BE9:24BD loc_526: ; xref 3BE9:24B8
3BE9:24BD E8 EC0B call sub_27 ; (10CB)
3BE9:24C0 E9 0006 jmpn loc_528 ; (24C9)
3BE9:24C3 loc_527: ; xref 3BE9:24BA
3BE9:24C3 B0 01 mov al,1
3BE9:24C5 ,50 push ax ; PARAMETER_1
3BE9:24C6 E8 E4D5 call sub_21 ; (099E)
3BE9:24C9 loc_528: ; xref 3BE9:24C0
3BE9:24C9 E9 0030 jmpn loc_535 ; (24FC)
3BE9:24CC loc_529: ; xref 3BE9:24AF
3BE9:24CC 80 3E 031F 02 cmp byte ptr ds:[31Fh],2 ; (3BE9:031F=0B4h)
3BE9:24D1 74 03 je loc_530 ; Jump if equal
3BE9:24D3 E9 001A jmpn loc_534 ; (24F0)
3BE9:24D6 loc_530: ; xref 3BE9:24D1
3BE9:24D6 8A 06 03EE ;* mov al,byte ptr ds:[3EEh] ; (3BE9:03EE=59h)
3BE9:24D6 db 8Ah, 06h,0EEh, 03h ; Fixup - byte match
3BE9:24DA D0 D8 rcr al,1 ; Rotate thru carry
3BE9:24DC 72 03 jc loc_531 ; Jump if carry Set
3BE9:24DE E9 0006 jmpn loc_532 ; (24E7)
3BE9:24E1 loc_531: ; xref 3BE9:24DC
3BE9:24E1 E8 EE27 call sub_29 ; (130B)
3BE9:24E4 E9 0006 jmpn loc_533 ; (24ED)
3BE9:24E7 loc_532: ; xref 3BE9:24DE
3BE9:24E7 B0 01 mov al,1
3BE9:24E9 ,50 push ax ; PARAMETER_1
3BE9:24EA E8 E4B1 call sub_21 ; (099E)
3BE9:24ED loc_533: ; xref 3BE9:24E4
3BE9:24ED E9 000C jmpn loc_535 ; (24FC)
3BE9:24F0 loc_534: ; xref 3BE9:24D3
3BE9:24F0 E8 F8D8 call sub_42 ; (1DCB)
3BE9:24F3 E8 E1A5 call sub_16 ; (069B)
3BE9:24F6 E8 EBD2 call sub_27 ; (10CB)
3BE9:24F9 E8 EE0F call sub_29 ; (130B)
3BE9:24FC loc_535: ; xref 3BE9:24A5, 24C9, 24ED
3BE9:24FC 5D pop bp
3BE9:24FD C3 retn
sub_45 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 3BE9:0261, 02A2
;==========================================================================
3BE9:24FE sub_46 proc near
PARAMETER_1 = 4 ; bp+4
3BE9:24FE 55 push bp
3BE9:24FF 8B EC mov bp,sp
3BE9:2501 loc_536: ; xref 3BE9:2519
3BE9:2501 ,8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:2504 8A 07 mov al,[bx]
3BE9:2506 80 F8 20 ;* cmp al,20h ; ' '
3BE9:2506 db 80h,0F8h, 20h ; Fixup - byte match
3BE9:2509 75 03 jnz loc_537 ; Jump if not zero
3BE9:250B E9 0008 jmpn loc_538 ; (2516)
3BE9:250E loc_537: ; xref 3BE9:2509
3BE9:250E 80 F8 09 ;* cmp al,9
3BE9:250E db 80h,0F8h, 09h ; Fixup - byte match
3BE9:2511 74 03 jz loc_538 ; Jump if zero
3BE9:2513 E9 0006 jmpn loc_539 ; (251C)
3BE9:2516 loc_538: ; xref 3BE9:250B, 2511
3BE9:2516 FF 46 04 inc word ptr [bp+PARAMETER_1]
3BE9:2519 E9 FFE5 ;* jmp loc_536 ; (2501)
3BE9:2519 db 0E9h,0E5h,0FFh ; Fixup - byte match
3BE9:251C loc_539: ; xref 3BE9:2513
3BE9:251C 8B 5E 04 mov bx,[bp+PARAMETER_1]
3BE9:251F 82 3F 00 ;* cmp byte ptr [bx],0
3BE9:251F db 82h, 3Fh, 00h ; Fixup - byte match
3BE9:2522 74 03 jz loc_540 ; Jump if zero
3BE9:2524 E9 0009 jmpn loc_541 ; (2530)
3BE9:2527 loc_540: ; xref 3BE9:2522
3BE9:2527 B0 00 mov al,0
3BE9:2529 5D pop bp
3BE9:252A C2 0002 retn 2
3BE9:252D E9 06 00 db 0E9h, 06h, 00h
3BE9:2530 loc_541: ; xref 3BE9:2524
3BE9:2530 B0 01 mov al,1
3BE9:2532 5D pop bp
3BE9:2533 C2 0002 retn 2
sub_46 endp
3BE9:2536 5D C2 02 00 db 5Dh,0C2h, 02h, 00h
3BE9:253A 0106[00] db 262 dup (0)
3BE9:2640 20 20 20 20 20 44 db ' DSEG patch area'
3BE9:2646 53 45 47 20 70 61
3BE9:264C 74 63 68 20 61 72
3BE9:2652 65 61
3BE9:2654 020E[00] db 526 dup (0)
3BE9:2862 7E 00 db 7Eh, 00h
3BE9:2864 00CC[00] db 204 dup (0)
3BE9:2930 46 65 68 6C 65 72 db 'Fehler am Ende von Zeile: $'
3BE9:2936 20 61 6D 20 45 6E
3BE9:293C 64 65 20 76 6F 6E
3BE9:2942 20 5A 65 69 6C 65
3BE9:2948 3A 20 24
3BE9:294B 00 db 0
3BE9:294C 55 6E 7A 75 6C 61 db 'Unzulaessiger Begrenzer in Komma'
3BE9:2952 65 73 73 69 67 65
3BE9:2958 72 20 42 65 67 72
3BE9:295E 65 6E 7A 65 72 20
3BE9:2964 69 6E 20 4B 6F 6D
3BE9:296A 6D 61
3BE9:296C 6E 64 6F 7A 65 69 db 'ndozeile$'
3BE9:2972 6C 65 24
3BE9:2975 00 db 0
3BE9:2976 4E 75 72 20 75 6E db 'Nur unter Basis-Betriebssystem a'
3BE9:297C 74 65 72 20 42 61
3BE9:2982 73 69 73 2D 42 65
3BE9:2988 74 72 69 65 62 73
3BE9:298E 73 79 73 74 65 6D
3BE9:2994 20 61
3BE9:2996 62 6C 61 75 66 66 db 'blauffaehig', 0
3BE9:299C 61 65 68 69 67 00
3BE9:29A2 44 69 65 73 65 73 db 'Dieses Programm kann nicht ablau'
3BE9:29A8 20 50 72 6F 67 72
3BE9:29AE 61 6D 6D 20 6B 61
3BE9:29B4 6E 6E 20 6E 69 63
3BE9:29BA 68 74 20 61 62 6C
3BE9:29C0 61 75
3BE9:29C2 66 65 6E 20 73 6F db 'fen solange ein anderes ', 0Dh, 0Ah
3BE9:29C8 6C 61 6E 67 65 20
3BE9:29CE 65 69 6E 20 61 6E
3BE9:29D4 64 65 72 65 73 20
3BE9:29DA 0D 0A
3BE9:29DC 50 72 6F 67 72 61 db 'Programm im Hintergrund ablaeuft'
3BE9:29E2 6D 6D 20 69 6D 20
3BE9:29E8 48 69 6E 74 65 72
3BE9:29EE 67 72 75 6E 64 20
3BE9:29F4 61 62 6C 61 65 75
3BE9:29FA 66 74
3BE9:29FC 20 6F 64 65 72 20 db ' oder wenn ', 0Dh, 0Ah, 'RSX-Dat'
3BE9:2A02 77 65 6E 6E 20 0D
3BE9:2A08 0A 52 53 58 2D 44
3BE9:2A0E 61 74
3BE9:2A10 65 69 65 6E 20 67 db 'eien geladen sind.$'
3BE9:2A16 65 6C 61 64 65 6E
3BE9:2A1C 20 73 69 6E 64 2E
3BE9:2A22 24
3BE9:2A23 00 db 0
3BE9:2A24 50 61 72 61 6D 65 db 'Parameter oder Option fehlerhaft'
3BE9:2A2A 74 65 72 20 6F 64
3BE9:2A30 65 72 20 4F 70 74
3BE9:2A36 69 6F 6E 20 66 65
3BE9:2A3C 68 6C 65 72 68 61
3BE9:2A42 66 74
3BE9:2A44 24 db '$'
3BE9:2A45 00 db 0
3BE9:2A46 4E 65 75 65 20 5A db 'Neue Zuordnungen eingeben oder R'
3BE9:2A4C 75 6F 72 64 6E 75
3BE9:2A52 6E 67 65 6E 20 65
3BE9:2A58 69 6E 67 65 62 65
3BE9:2A5E 6E 20 6F 64 65 72
3BE9:2A64 20 52
3BE9:2A66 45 54 55 52 4E 20 db 'ETURN druecken $'
3BE9:2A6C 64 72 75 65 63 6B
3BE9:2A72 65 6E 20 24
3BE9:2A76 4E 41 4D 45 53 7E db 'NAMES~VALUES~CON:~CONIN:~CONOUT:'
3BE9:2A7C 56 41 4C 55 45 53
3BE9:2A82 7E 43 4F 4E 3A 7E
3BE9:2A88 43 4F 4E 49 4E 3A
3BE9:2A8E 7E 43 4F 4E 4F 55
3BE9:2A94 54 3A
3BE9:2A96 7E 43 4F 4E 53 4F db '~CONSOLE:~LST:~AUX:~AUXIN:~AUXOU'
3BE9:2A9C 4C 45 3A 7E 4C 53
3BE9:2AA2 54 3A 7E 41 55 58
3BE9:2AA8 3A 7E 41 55 58 49
3BE9:2AAE 4E 3A 7E 41 55 58
3BE9:2AB4 4F 55
3BE9:2AB6 54 3A 7E 41 55 58 db 'T:~AUXILIARY:'
3BE9:2ABC 49 4C 49 41 52 59
3BE9:2AC2 3A
3BE9:2AC3 FF 00 06 0D 12 19 db 0FFh, 00h, 06h, 0Dh, 12h, 19h
3BE9:2AC9 21 2A 2F 34 3B 43 db '!*/4;CMSPEED~PROTOCOL~POLARITY~P'
3BE9:2ACF 4D 53 50 45 45 44
3BE9:2AD5 7E 50 52 4F 54 4F
3BE9:2ADB 43 4F 4C 7E 50 4F
3BE9:2AE1 4C 41 52 49 54 59
3BE9:2AE7 7E 50
3BE9:2AE9 41 52 49 54 59 7E db 'ARITY~DATABITS~STOPBITS~NULL'
3BE9:2AEF 44 41 54 41 42 49
3BE9:2AF5 54 53 7E 53 54 4F
3BE9:2AFB 50 42 49 54 53 7E
3BE9:2B01 4E 55 4C 4C
3BE9:2B05 FF 00 06 0F 18 1F db 0FFh, 00h, 06h, 0Fh, 18h, 1Fh
3BE9:2B0B 28 31 35 35 7E 36 db '(155~6~7~8'
3BE9:2B11 7E 37 7E 38
3BE9:2B15 FF 00 02 04 06 07 db 0FFh, 00h, 02h, 04h, 06h, 07h
3BE9:2B1B 00 31 7E 31 35 7E db 00h, 31h, 7Eh, 31h, 35h, 7Eh
3BE9:2B21 32 FF 00 00 02 05 db 32h,0FFh, 00h, 00h, 02h, 05h
3BE9:2B27 06 db 06h
3BE9:2B28 4E 4F 4E 45 7E 4F db 'NONE~ODD~EVEN~MARK~SPACE'
3BE9:2B2E 44 44 7E 45 56 45
3BE9:2B34 4E 7E 4D 41 52 4B
3BE9:2B3A 7E 53 50 41 43 45
3BE9:2B40 FF 00 00 05 09 0E db 0FFh, 00h, 00h, 05h, 09h, 0Eh
3BE9:2B46 13 18 db 13h, 18h
3BE9:2B48 4C 4F 57 7E 48 49 db 'LOW~HIGH'
3BE9:2B4E 47 48
3BE9:2B50 FF 00 00 04 08 00 db 0FFh, 00h, 00h, 04h, 08h, 00h
3BE9:2B56 4E 4F 4E 45 7E 58 db 'NONE~XON~ETX~RTS~DTR'
3BE9:2B5C 4F 4E 7E 45 54 58
3BE9:2B62 7E 52 54 53 7E 44
3BE9:2B68 54 52
3BE9:2B6A FF 00 00 05 09 0D db 0FFh, 00h, 00h, 05h, 09h, 0Dh
3BE9:2B70 11 14 db 11h, 14h
3BE9:2B72 4E 4F 4E 45 7E 35 db 'NONE~50~62~75~110~134~150~200~30'
3BE9:2B78 30 7E 36 32 7E 37
3BE9:2B7E 35 7E 31 31 30 7E
3BE9:2B84 31 33 34 7E 31 35
3BE9:2B8A 30 7E 32 30 30 7E
3BE9:2B90 33 30
3BE9:2B92 30 7E 36 30 30 7E db '0~600~1200~1800~2000~2400~3600~4'
3BE9:2B98 31 32 30 30 7E 31
3BE9:2B9E 38 30 30 7E 32 30
3BE9:2BA4 30 30 7E 32 34 30
3BE9:2BAA 30 7E 33 36 30 30
3BE9:2BB0 7E 34
3BE9:2BB2 38 30 30 7E db '800~'
3BE9:2BB6 loc_546:
3BE9:2BB6 37 32 30 30 7E 39 db '7200~9600~192~384~560~768~OEM1~O'
3BE9:2BBC 36 30 30 7E 31 39
3BE9:2BC2 32 7E 33 38 34 7E
3BE9:2BC8 35 36 30 7E 37 36
3BE9:2BCE 38 7E 4F 45 4D 31
3BE9:2BD4 7E 4F
3BE9:2BD6 45 4D 32 7E 4F 45 db 'EM2~OEM3'
3BE9:2BDC 4D 33
3BE9:2BDE FF 00 00 05 08 0B db 0FFh, 00h, 00h, 05h, 08h, 0Bh
3BE9:2BE4 0E 12 16 1A 1E db 0Eh, 12h, 16h, 1Ah, 1Eh
3BE9:2BE9 22 26 2B 30 35 3A db '"&+05:?DINRVZ^chlPhysikalische E'
3BE9:2BEF 3F 44 49 4E 52 56
3BE9:2BF5 5A 5E 63 68 6C 50
3BE9:2BFB 68 79 73 69 6B 61
3BE9:2C01 6C 69 73 63 68 65
3BE9:2C07 20 45
3BE9:2C09 69 6E 68 65 69 74 db 'inheiten', 0Dh, 0Ah, '----------'
3BE9:2C0F 65 6E 0D 0A 2D 2D
3BE9:2C15 2D 2D 2D 2D 2D 2D
3BE9:2C1B 2D 2D
3BE9:2C1D 2D 2D 2D 2D 2D 2D db '-------------', 0Dh, 0Ah, '$'
3BE9:2C23 2D 2D 2D 2D 2D 2D
3BE9:2C29 2D 0D 0A 24
3BE9:2C2D 00 db 0
3BE9:2C2E 54 79 70 20 20 20 db 'Typ : (I=Input, O=Out'
3BE9:2C34 20 20 20 20 20 20
3BE9:2C3A 20 20 20 3A 20 28
3BE9:2C40 49 3D 49 6E 70 75
3BE9:2C46 74 2C 20 4F 3D 4F
3BE9:2C4C 75 74
3BE9:2C4E 70 75 74 2C 20 53 db 'put, S=Serial)', 0Dh, 0Ah, 'Pr ='
3BE9:2C54 3D 53 65 72 69 61
3BE9:2C5A 6C 29 0D 0A 50 72
3BE9:2C60 20 3D
3BE9:2C62 20 50 72 6F 74 6F db ' Protokoll : (X=Xon/Xoff,E=ETX/A'
3BE9:2C68 6B 6F 6C 6C 20 3A
3BE9:2C6E 20 28 58 3D 58 6F
3BE9:2C74 6E 2F 58 6F 66 66
3BE9:2C7A 2C 45 3D 45 54 58
3BE9:2C80 2F 41
3BE9:2C82 43 4B 2C 20 52 3D db 'CK, R=RTS, D=DTR)', 0Dh, 0Ah, 'P'
3BE9:2C88 52 54 53 2C 20 44
3BE9:2C8E 3D 44 54 52 29 0D
3BE9:2C94 0A 50
3BE9:2C96 6F 20 3D 20 50 6F db 'o = Polaritaet: (H=High, L=Low)', 0Dh
3BE9:2C9C 6C 61 72 69 74 61
3BE9:2CA2 65 74 3A 20 28 48
3BE9:2CA8 3D 48 69 67 68 2C
3BE9:2CAE 20 4C 3D 4C 6F 77
3BE9:2CB4 29 0D
3BE9:2CB6 0A 50 61 20 3D 20 db 0Ah, 'Pa = Paritaet : (O=Odd, E='
3BE9:2CBC 50 61 72 69 74 61
3BE9:2CC2 65 74 20 20 3A 20
3BE9:2CC8 28 4F 3D 4F 64 64
3BE9:2CCE 2C 20 45 3D
3BE9:2CD2 45 76 65 6E 2C 20 db 'Even, M=Mark, S=Space)', 0Dh, 0Ah
3BE9:2CD8 4D 3D 4D 61 72 6B
3BE9:2CDE 2C 20 53 3D 53 70
3BE9:2CE4 61 63 65 29 0D 0A
3BE9:2CEA 44 20 20 20 20 20 db 'D : Datenbit', 0Dh, 0Ah
3BE9:2CF0 20 20 20 20 20 20
3BE9:2CF6 20 20 20 3A 20 44
3BE9:2CFC 61 74 65 6E 62 69
3BE9:2D02 74 0D 0A
3BE9:2D05 53 20 20 20 20 20 db 'S : Stoppbit', 0Dh, 0Ah
3BE9:2D0B 20 20 20 20 20 20
3BE9:2D11 20 20 20 3A 20 53
3BE9:2D17 74 6F 70 70 62 69
3BE9:2D1D 74 0D 0A
3BE9:2D20 0D 0A 24 db 0Dh, 0Ah, '$'
3BE9:2D23 00 db 0
3BE9:2D24 4E 61 6D 65 20 20 db 'Name BAUD(tx,rx) Typ PrPoPaD'
3BE9:2D2A 20 42 41 55 44 28
3BE9:2D30 74 78 2C 72 78 29
3BE9:2D36 20 54 79 70 20 20
3BE9:2D3C 20 50 72 50 6F 50
3BE9:2D42 61 44
3BE9:2D44 20 53 20 20 20 20 db ' S $'
3BE9:2D4A 20 24
3BE9:2D4C 2D 2D 2D 2D 2D 2D db '------ ----------- ----- - - - -'
3BE9:2D52 20 2D 2D 2D 2D 2D
3BE9:2D58 2D 2D 2D 2D 2D 2D
3BE9:2D5E 20 2D 2D 2D 2D 2D
3BE9:2D64 20 2D 20 2D 20 2D
3BE9:2D6A 20 2D
3BE9:2D6C 20 2D 2D 2D 20 20 db ' --- $'
3BE9:2D72 20 24
3BE9:2D74 49 4E 50 55 54 20 db 'INPUT $'
3BE9:2D7A 20 20 20 24
3BE9:2D7E 4F 55 54 50 55 54 db 'OUTPUT $'
3BE9:2D84 20 20 20 24
3BE9:2D88 53 4F 46 54 2D 42 db 'SOFT-BAUD$'
3BE9:2D8E 41 55 44 24
3BE9:2D92 53 45 52 49 41 4C db 'SERIAL $'
3BE9:2D98 20 20 20 24
3BE9:2D9C 4B 65 69 6E 65 20 db 'Keine Zuordnungen$'
3BE9:2DA2 5A 75 6F 72 64 6E
3BE9:2DA8 75 6E 67 65 6E 24
3BE9:2DAE 41 6B 74 75 65 6C db 'Aktuelle Zuordnungen: ', 0Dh, 0Ah
3BE9:2DB4 6C 65 20 5A 75 6F
3BE9:2DBA 72 64 6E 75 6E 67
3BE9:2DC0 65 6E 3A 20 0D 0A
3BE9:2DC6 24 db '$'
3BE9:2DC7 00 db 0
3BE9:2DC8 43 4F 4E 49 4E 3A db 'CONIN: = $'
3BE9:2DCE 20 20 3D 20 24
3BE9:2DD3 00 db 0
3BE9:2DD4 43 4F 4E 4F 55 54 db 'CONOUT: = $'
3BE9:2DDA 3A 20 3D 20 24
3BE9:2DDF 00 db 0
3BE9:2DE0 41 55 58 49 4E 3A db 'AUXIN: = $'
3BE9:2DE6 20 20 3D 20 24
3BE9:2DEB 00 db 0
3BE9:2DEC 41 55 58 4F 55 54 db 'AUXOUT: = $'
3BE9:2DF2 3A 20 3D 20 24
3BE9:2DF7 00 db 0
3BE9:2DF8 4C 53 54 3A 20 20 db 'LST: = $'
3BE9:2DFE 20 20 3D 20 24
3BE9:2E03 00 db 0
3BE9:2E04 50 68 79 73 69 6B db 'Physikalische Einheit: $'
3BE9:2E0A 61 6C 69 73 63 68
3BE9:2E10 65 20 45 69 6E 68
3BE9:2E16 65 69 74 3A 20 24
3BE9:2E1C 42 61 75 64 2D 52 db 'Baud-Rate: $'
3BE9:2E22 61 74 65 3A 20 20
3BE9:2E28 20 20 20 20 20 24
3BE9:2E2E 4D 65 72 6B 6D 61 db 'Merkmale: $'
3BE9:2E34 6C 65 3A 20 20 20
3BE9:2E3A 20 20 20 20 20 24
3BE9:2E40 50 41 52 41 4C 4C db 'PARALLEL$'
3BE9:2E46 45 4C 24
3BE9:2E49 00 db 0
3BE9:2E4A 41 65 6E 64 65 72 db 'Aendern der Zuordnung nicht moeg'
3BE9:2E50 6E 20 64 65 72 20
3BE9:2E56 5A 75 6F 72 64 6E
3BE9:2E5C 75 6E 67 20 6E 69
3BE9:2E62 63 68 74 20 6D 6F
3BE9:2E68 65 67
3BE9:2E6A 6C 69 63 68 24 db 'lich$'
3BE9:2E6F 00 db 0
3BE9:2E70 43 4F 4C 55 4D 4E db 'COLUMNS~LINES~PAGESIZE'
3BE9:2E76 53 7E 4C 49 4E 45
3BE9:2E7C 53 7E 50 41 47 45
3BE9:2E82 53 49 5A 45
3BE9:2E86 FF 00 00 08 0E 16 db 0FFh, 00h, 00h, 08h, 0Eh, 16h
3BE9:2E8C 00 5B 5D 3D 2C 20 db 00h, 5Bh, 5Dh, 3Dh, 2Ch, 20h
3BE9:2E92 28 29 00 FF db 28h, 29h, 00h,0FFh
3BE9:2E96 4E 4F 4E 45 20 35 db 'NONE 50 62.5 75 110 134.515'
3BE9:2E9C 30 20 20 20 36 32
3BE9:2EA2 2E 35 20 37 35 20
3BE9:2EA8 20 20 31 31 30 20
3BE9:2EAE 20 31 33 34 2E 35
3BE9:2EB4 31 35
3BE9:2EB6 30 20 20 32 30 30 db '0 200 300 600 1200 1800 2000'
3BE9:2EBC 20 20 33 30 30 20
3BE9:2EC2 20 36 30 30 20 20
3BE9:2EC8 31 32 30 30 20 31
3BE9:2ECE 38 30 30 20 32 30
3BE9:2ED4 30 30
3BE9:2ED6 20 32 34 30 30 20 db ' 2400 3600 4800 7200 9600 192003'
3BE9:2EDC 33 36 30 30 20 34
3BE9:2EE2 38 30 30 20 37 32
3BE9:2EE8 30 30 20 39 36 30
3BE9:2EEE 30 20 31 39 32 30
3BE9:2EF4 30 33
3BE9:2EF6 38 34 30 30 35 36 db '84005600076800OEM1 OEM2 OEM3 ', 0
3BE9:2EFC 30 30 30 37 36 38
3BE9:2F02 30 30 4F 45 4D 31
3BE9:2F08 20 4F 45 4D 32 20
3BE9:2F0E 4F 45 4D 33 20 00
3BE9:2F14 58 4F 4E 2F 58 4F db 'XON/XOFF Protok. $'
3BE9:2F1A 46 46 20 50 72 6F
3BE9:2F20 74 6F 6B 2E 20 24
3BE9:2F26 45 54 58 2F 41 43 db 'ETX/ACK Protokoll$'
3BE9:2F2C 4B 20 50 72 6F 74
3BE9:2F32 6F 6B 6F 6C 6C 24
3BE9:2F38 52 54 53 20 50 72 db 'RTS Protokoll $'
3BE9:2F3E 6F 74 6F 6B 6F 6C
3BE9:2F44 6C 20 20 20 20 24
3BE9:2F4A 44 54 52 20 50 72 db 'DTR Protokoll $'
3BE9:2F50 6F 74 6F 6B 6F 6C
3BE9:2F56 6C 20 20 20 20 24
3BE9:2F5C 44 54 52 2F 52 54 db 'DTR/RTS Polarit. $'
3BE9:2F62 53 20 50 6F 6C 61
3BE9:2F68 72 69 74 2E 20 24
3BE9:2F6E 4F 44 44 20 50 61 db 'ODD Paritaet $'
3BE9:2F74 72 69 74 61 65 74
3BE9:2F7A 20 20 20 20 20 24
3BE9:2F80 45 56 45 4E 20 50 db 'EVEN Paritaet $'
3BE9:2F86 61 72 69 74 61 65
3BE9:2F8C 74 20 20 20 20 24
3BE9:2F92 4D 41 52 4B 20 50 db 'MARK Paritaet $'
3BE9:2F98 61 72 69 74 61 65
3BE9:2F9E 74 20 20 20 20 24
3BE9:2FA4 53 50 41 43 45 20 db 'SPACE Paritaet $'
3BE9:2FAA 50 61 72 69 74 61
3BE9:2FB0 65 74 20 20 20 24
3BE9:2FB6 35 20 44 61 74 65 db '5 Datenbit $'
3BE9:2FBC 6E 62 69 74 20 20
3BE9:2FC2 20 20 20 20 20 24
3BE9:2FC8 36 20 44 61 74 65 db '6 Datenbit $'
3BE9:2FCE 6E 62 69 74 20 20
3BE9:2FD4 20 20 20 20 20 24
3BE9:2FDA 37 20 44 61 74 65 db '7 Datenbit $'
3BE9:2FE0 6E 62 69 74 20 20
3BE9:2FE6 20 20 20 20 20 24
3BE9:2FEC 38 20 44 61 74 65 db '8 Datenbit $'
3BE9:2FF2 6E 62 69 74 20 20
3BE9:2FF8 20 20 20 20 20 24
3BE9:2FFE 31 20 53 74 6F 70 db '1 Stoppbit $'
3BE9:3004 70 62 69 74 20 20
3BE9:300A 20 20 20 20 20 24
3BE9:3010 31 2E 35 20 53 74 db '1.5 Stoppbit $'
3BE9:3016 6F 70 70 62 69 74
3BE9:301C 20 20 20 20 20 24
3BE9:3022 32 20 53 74 6F 70 db '2 Stoppbit $'
3BE9:3028 70 62 69 74 20 20
3BE9:302E 20 20 20 20 20 24
3BE9:3034 42 69 6C 64 73 63 db 'Bildschirm-Breite: $'
3BE9:303A 68 69 72 6D 2D 42
3BE9:3040 72 65 69 74 65 3A
3BE9:3046 20 20 20 24
3BE9:304A 20 53 70 61 6C 74 db ' Spalten', 0Dh, 0Ah, 'Bildschirm'
3BE9:3050 65 6E 0D 0A 42 69
3BE9:3056 6C 64 73 63 68 69
3BE9:305C 72 6D
3BE9:305E 2D 53 65 69 74 65 db '-Seitenlaenge:$'
3BE9:3064 6E 6C 61 65 6E 67
3BE9:306A 65 3A 24
3BE9:306D 00 db 0
3BE9:306E 20 5A 65 69 6C 65 db ' Zeilen', 0Dh, 0Ah, '$'
3BE9:3074 6E 0D 0A 24
3BE9:3078 4D 65 72 6B 6D 61 db 'Merkmale der neuen Einheit noch '
3BE9:307E 6C 65 20 64 65 72
3BE9:3084 20 6E 65 75 65 6E
3BE9:308A 20 45 69 6E 68 65
3BE9:3090 69 74 20 6E 6F 63
3BE9:3096 68 20
3BE9:3098 6E 69 63 68 74 20 db 'nicht festgelegt$'
3BE9:309E 66 65 73 74 67 65
3BE9:30A4 6C 65 67 74 24
3BE9:30A9 00 db 0
3BE9:30AA 46 45 48 4C 45 52 db 'FEHLER bei ', 27h, '^', 27h, '; '
3BE9:30B0 20 62 65 69 20 27
3BE9:30B6 5E 27 3B 20
3BE9:30BA 24 db '$'
3BE9:30BB 00 db 0
3BE9:30BC 55 6E 67 75 65 6C db 'Ungueltige Zahl$'
3BE9:30C2 74 69 67 65 20 5A
3BE9:30C8 61 68 6C 24
3BE9:30CC 42 61 75 64 2D 52 db 'Baud-Rate kann fuer diese Einhei'
3BE9:30D2 61 74 65 20 6B 61
3BE9:30D8 6E 6E 20 66 75 65
3BE9:30DE 72 20 64 69 65 73
3BE9:30E4 65 20 45 69 6E 68
3BE9:30EA 65 69
3BE9:30EC 74 20 6E 69 63 68 db 't nicht gesetzt werden$'
3BE9:30F2 74 20 67 65 73 65
3BE9:30F8 74 7A 74 20 77 65
3BE9:30FE 72 64 65 6E 24
3BE9:3103 00 db 0
3BE9:3104 55 6E 7A 75 6C 61 db 'Unzulaessige physikalische Einhe'
3BE9:310A 65 73 73 69 67 65
3BE9:3110 20 70 68 79 73 69
3BE9:3116 6B 61 6C 69 73 63
3BE9:311C 68 65 20 45 69 6E
3BE9:3122 68 65
3BE9:3124 69 74 24 db 'it$'
3BE9:3127 00 db 0
3BE9:3128 41 75 73 67 61 62 db 'Ausgabe bei dieser physikalische'
3BE9:312E 65 20 62 65 69 20
3BE9:3134 64 69 65 73 65 72
3BE9:313A 20 70 68 79 73 69
3BE9:3140 6B 61 6C 69 73 63
3BE9:3146 68 65
3BE9:3148 6E 20 45 69 6E 68 db 'n Einheit nicht moeglich$'
3BE9:314E 65 69 74 20 6E 69
3BE9:3154 63 68 74 20 6D 6F
3BE9:315A 65 67 6C 69 63 68
3BE9:3160 24
3BE9:3161 00 db 0
3BE9:3162 45 69 6E 67 61 62 db 'Eingabe bei dieser physikalische'
3BE9:3168 65 20 62 65 69 20
3BE9:316E 64 69 65 73 65 72
3BE9:3174 20 70 68 79 73 69
3BE9:317A 6B 61 6C 69 73 63
3BE9:3180 68 65
3BE9:3182 6E 20 45 69 6E 68 db 'n Einheit nicht moeglich$'
3BE9:3188 65 69 74 20 6E 69
3BE9:318E 63 68 74 20 6D 6F
3BE9:3194 65 67 6C 69 63 68
3BE9:319A 24
3BE9:319B 00 db 0
3BE9:319C 45 69 6E 2F 41 75 db 'Ein/Ausgabe bei dieser physikali'
3BE9:31A2 73 67 61 62 65 20
3BE9:31A8 62 65 69 20 64 69
3BE9:31AE 65 73 65 72 20 70
3BE9:31B4 68 79 73 69 6B 61
3BE9:31BA 6C 69
3BE9:31BC 73 63 68 65 6E 20 db 'schen Einheit nicht moeglichNULL'
3BE9:31C2 45 69 6E 68 65 69
3BE9:31C8 74 20 6E 69 63 68
3BE9:31CE 74 20 6D 6F 65 67
3BE9:31D4 6C 69 63 68 4E 55
3BE9:31DA 4C 4C
3BE9:31DC 20 6B 61 6E 6E 20 db ' kann nicht fuer CONIN verwendet'
3BE9:31E2 6E 69 63 68 74 20
3BE9:31E8 66 75 65 72 20 43
3BE9:31EE 4F 4E 49 4E 20 76
3BE9:31F4 65 72 77 65 6E 64
3BE9:31FA 65 74
3BE9:31FC 20 77 65 72 64 65 db ' werden$'
3BE9:3202 6E 24
3BE9:3204 45 69 6E 65 20 70 db 'Eine physikalische Einheit kann '
3BE9:320A 68 79 73 69 6B 61
3BE9:3210 6C 69 73 63 68 65
3BE9:3216 20 45 69 6E 68 65
3BE9:321C 69 74 20 6B 61 6E
3BE9:3222 6E 20
3BE9:3224 68 6F 65 63 68 73 db 'hoechstens in einer Ausgabekette'
3BE9:322A 74 65 6E 73 20 69
3BE9:3230 6E 20 65 69 6E 65
3BE9:3236 72 20 41 75 73 67
3BE9:323C 61 62 65 6B 65 74
3BE9:3242 74 65
3BE9:3244 20 73 65 69 6E 24 db ' sein$'
3BE9:324A 42 65 69 20 4E 55 db 'Bei NULL sind nur eindeutige Zuo'
3BE9:3250 4C 4C 20 73 69 6E
3BE9:3256 64 20 6E 75 72 20
3BE9:325C 65 69 6E 64 65 75
3BE9:3262 74 69 67 65 20 5A
3BE9:3268 75 6F
3BE9:326A 72 64 6E 75 6E 67 db 'rdnungen zulaessig$'
3BE9:3270 65 6E 20 7A 75 6C
3BE9:3276 61 65 73 73 69 67
3BE9:327C 24
3BE9:327D 00 db 0
3BE9:327E 42 65 69 20 64 69 db 'Bei dieser physikalischen Einhei'
3BE9:3284 65 73 65 72 20 70
3BE9:328A 68 79 73 69 6B 61
3BE9:3290 6C 69 73 63 68 65
3BE9:3296 6E 20 45 69 6E 68
3BE9:329C 65 69
3BE9:329E 74 20 69 73 74 20 db 't ist diese Option nicht moeglic'
3BE9:32A4 64 69 65 73 65 20
3BE9:32AA 4F 70 74 69 6F 6E
3BE9:32B0 20 6E 69 63 68 74
3BE9:32B6 20 6D 6F 65 67 6C
3BE9:32BC 69 63
3BE9:32BE 68 24 db 'h$'
3BE9:32C0 00B4[00] db 180 dup (0)
3BE9:3374 FF 05 db 0FFh, 05h
3BE9:3376 20 20 24 db ' $'
3BE9:3379 20 20 24 db ' $'
3BE9:337C 50 20 24 db 'P $'
3BE9:337F 20 20 24 db ' $'
3BE9:3382 20 20 24 db ' $'
3BE9:3385 20 20 24 db ' $'
3BE9:3388 20 db ' '
3BE9:3389 0009[20] db 9 dup (20h)
3BE9:3392 24 00 db 24h, 00h
3BE9:3394 006C[00] db 108 dup (0)
seg_a ends
end
__________________ Interrupt Usage Synopsis __________________
Interrupt 15h : General services, ah=func xxh
2 Ocurrences of non-standard interrupts used (search for ??).
__________________ I/O Port Usage Synopsis __________________
Port 0 : DMA-1 bas&add ch 0
Port 0Bh : DMA-1 mode reg